Saya baru saja menyelesaikan program master Ilmu Data 1 tahun di mana kami diajari R. Saya menemukan bahwa Python lebih populer dan memiliki komunitas yang lebih besar di AI.
Apakah layak bagi seseorang di posisi saya untuk beralih ke Python dan jika ya, mengapa? Apakah python memiliki fitur pengubah permainan yang tidak tersedia di R atau hanya masalah komunitas?
python
comparison
r
Ini aku Mario
sumber
sumber
Jawaban:
Saya ingin membingkai ulang pertanyaan Anda.
Jangan berpikir untuk beralih, pikirkan tentang menambahkan.
Dalam ilmu data Anda akan bisa melangkah sangat jauh dengan python atau r tetapi Anda akan melangkah lebih jauh dengan keduanya.
Python dan r berintegrasi dengan sangat baik, berkat
reticulate
paketnya. Saya sering merapikan data dalam r karena lebih mudah bagi saya, melatih model dengan python untuk mendapatkan keuntungan dari kecepatan superior dan memvisualisasikan hasil dalam r dalam indahggplot
semua dalam satu notebook!Jika Anda sudah tahu r tidak ada gunanya meninggalkannya, gunakan di tempat yang masuk akal dan mudah bagi Anda. Tapi itu adalah 100% ide bagus untuk menambahkan python untuk banyak kegunaan.
Setelah Anda merasa nyaman di keduanya, Anda akan memiliki alur kerja yang paling cocok bagi Anda didominasi oleh bahasa favorit Anda.
sumber
reticulate
. rstudio bahkan memiliki beberapa dukungan untuk memeriksa python dan sedang dalam proses menambahkan lebih banyakreticulate
memungkinkan R untuk menggunakan Python; sama,rpy2
memungkinkan Python untuk menggunakan R. Ini umum untuk bahasa pemrograman dengan tujuan yang sama memiliki beberapa cara untuk berbicara satu sama lain.Tentu saja, jenis pertanyaan ini juga akan mengarah pada jawaban berbasis pendapat. Meskipun demikian, dimungkinkan untuk menyebutkan kekuatan dan kelemahan masing-masing bahasa, sehubungan dengan pembelajaran mesin, statistik, dan tugas analisis data, yang akan saya coba sebutkan di bawah ini.
R
Kekuatan
R dirancang dan dikembangkan untuk ahli statistik dan analis data, sehingga menyediakan, out-of-the-box (yaitu, mereka adalah bagian dari bahasa itu sendiri), fitur dan fasilitas untuk ahli statistik, yang tidak tersedia dalam Python, kecuali Anda instal paket terkait. Misalnya, frame data, yang tidak disediakan oleh Python, kecuali Anda menginstal
pandas
paket Python yang terkenal . Ada contoh-contoh lain seperti matriks, vektor, dll. Dalam Python, ada juga struktur data yang serupa, tetapi mereka lebih umum, jadi tidak secara khusus ditargetkan untuk ahli statistik.Ada banyak perpustakaan statistik.
Kelemahan
Python
Kekuatan
Banyak orang dan perusahaan, termasuk Google dan Facebook, berinvestasi banyak dalam Python. Sebagai contoh, bahasa pemrograman utama TensorFlow dan PyTorch (dua kerangka kerja pembelajaran mesin yang banyak digunakan) adalah Python. Jadi, sangat tidak mungkin bahwa Python tidak akan terus digunakan secara luas dalam pembelajaran mesin setidaknya 5-10 tahun lagi.
Komunitas Python kemungkinan jauh lebih besar daripada komunitas R. Bahkan, misalnya, jika Anda melihat indeks Tiobe , Python berada di posisi ke-3, sedangkan R berada di posisi ke-20.
Python juga banyak digunakan di luar komunitas statistik atau pembelajaran mesin. Sebagai contoh, ini digunakan untuk pengembangan web (lihat misalnya kerangka Python Django atau Flask).
Ada banyak perpustakaan pembelajaran mesin (mis. TensorFlow dan PyTorch).
Kelemahan
Ada kemungkinan keuntungan dan kerugian lain dari bahasa-bahasa ini. Misalnya, kedua bahasa bersifat dinamis. Namun, fitur ini bisa menjadi keuntungan dan kerugian (dan itu tidak sepenuhnya terkait dengan pembelajaran mesin atau statistik), jadi saya tidak mencantumkannya di atas. Saya menghindari menyebutkan fitur bahasa yang disarankan, seperti keterbacaan kode dan kurva belajar, untuk alasan yang jelas (misalnya tidak semua orang memiliki pengalaman pemrograman yang sama).
Kesimpulan
Python pasti layak dipelajari jika Anda mempelajari pembelajaran mesin atau statistik. Namun, itu tidak berarti bahwa Anda tidak akan menggunakan R lagi. R mungkin masih lebih handier untuk tugas-tugas tertentu.
sumber
Saya tidak punya pilihan ini karena saya dipaksa untuk pindah dari R ke Python:
Itu tergantung pada lingkungan Anda : Ketika Anda tertanam di departemen insinyur , bekerja kelompok teknis atau sesuatu yang serupa dari Python lebih layak.
Ketika Anda dikelilingi oleh para ilmuwan dan terutama ahli statistik , tetaplah bersama R.
PS: R menawarkan keras dan tensorflow juga meskipun diimplementasikan di bawah kap python. Hanya hal-hal yang sangat canggih yang akan membuat Anda membutuhkan Python. Meskipun saya semakin terbiasa dengan Python, synthax dalam R lebih mudah . Dan meskipun setiap paket memiliki sendiri, itu entah bagaimana konsisten sedangkan Python tidak .. Dan ggplot sangat kuat. Python memiliki klon (plotnine) tetapi tidak memiliki beberapa fitur (penting). Pada prinsipnya Anda dapat melakukan hampir sebanyak di R tetapi terutama visualisasi dan perselisihan data jauh lebih mudah di R. Dengan demikian, pustaka Python paling terkenal, panda, adalah tiruan dari R.
PSS: Statistik lanjutan tentu saja bertujuan pada R. Python menawarkan banyak alat dan metode sehari-hari bagi seorang ilmuwan data tetapi tidak akan pernah mencapai> 13.000 paket yang disediakan R. Sebagai contoh, saya harus melakukan regresi terbalik dan python tidak menawarkan ini. Dalam R Anda dapat memilih antara beberapa tes kepercayaan dan apakah itu linear atau nonlinear. Hal yang sama berlaku untuk model campuran: Ini diterapkan dalam python tetapi sangat mendasar di sana saya tidak bisa menyadari bagaimana ini bisa cukup untuk seseorang.
sumber
Saya akan mengatakan ya. Python lebih baik daripada R untuk sebagian besar tugas, tetapi R memiliki ceruknya dan Anda masih ingin menggunakannya dalam banyak keadaan.
Selain itu, mempelajari bahasa kedua akan meningkatkan keterampilan pemrograman Anda.
Perspektif saya sendiri tentang kekuatan R vs Python adalah bahwa saya lebih suka R untuk program kecil, tujuan tunggal yang melibatkan tabel atau grafik, atau pekerjaan eksplorasi dalam nada yang sama. Saya lebih suka Python untuk yang lainnya.
Untuk menguraikan lebih lanjut tentang poin terakhir: pemrograman komputer yang dilakukan dengan baik adalah lego di mana Anda membuat batu bata sendiri (fungsi dan modul).
Program biasanya dimodifikasi dan diubah bentuk melewati desain aslinya. Ketika Anda membangunnya, penting untuk memikirkan bagian mana yang dapat digunakan kembali, dan untuk membangun bagian itu secara umum yang akan membuat mereka terhubung dengan batu bata lainnya.
R mendorong Anda untuk melebur semua batu bata menjadi satu.
sumber
Seperti yang orang lain katakan, ini bukan "saklar". Tetapi apakah perlu menambahkan Python ke gudang senjata Anda? Saya akan katakan pasti. Dalam ilmu data, Python populer dan menjadi semakin populer, sementara R agak surut. Dan di bidang pembelajaran mesin dan jaringan saraf, saya akan mengatakan bahwa Python adalah bahasa utama sekarang - saya tidak berpikir R benar-benar dekat di sini dalam hal penggunaan. Alasan untuk semua ini adalah sifat umum. Python dimaksudkan sebagai bahasa pemrograman umum, dan memungkinkan Anda untuk dengan mudah skrip semua jenis tugas. Jika Anda tetap ketat dalam dunia statistik yang terstruktur dengan rapi, R itu hebat, tetapi dengan AI Anda sering harus melakukan hal-hal baru dan lain-lain, dan saya pikir R tidak bisa mengalahkan Python. Dan karena ini,
sumber
Ini sepenuhnya pendapat pribadi saya.
Saya membaca di kantor saya (di lokasi konstruksi) bahwa "Ada alat yang tepat untuk setiap tugas."
Saya berharap saya menghadapi berbagai tugas, sebagai programmer. Saya ingin alat sebanyak yang saya bisa "beli atau investasikan", sebanyak mungkin. Suatu hari satu alat akan membantu saya menyelesaikannya, beberapa hari lain alat lain. R (untuk statistik) dan Python (untuk secara umum) adalah dua alat yang pasti saya inginkan dengan saya dan saya pikir itu layak investasi untuk saya.
Sejauh menyangkut switch, saya akan menggunakan alat paling efisien yang saya tahu (di mana efisiensi diukur dengan kebutuhan klien, waktu dan biaya investasi dan kemudahan pengkodean). Semakin banyak alat yang saya tahu, semakin meriah! Tentu saja ada batasan praktis untuk itu.
Semua ini adalah pendapat pribadi saya dan belum tentu benar.
sumber
Sepertinya Anda telah menginvestasikan 1 tahun untuk ilmu data dengan R, dan tertanam di lingkungan R, tetapi ingin menjelajahi python untuk ilmu data.
Pertama-tama pelajari dasar-dasar python seperti bagaimana daftar dan tuple bekerja dan bagaimana kelas dan objek bekerja.
Kemudian jadilah kotor dengan beberapa perpustakaan seperti panda matplotlib numpy. Pelajari tensorflow atau keras dan lanjutkan untuk ilmu data.
sumber
Dan ya, Python lebih populer. Saya bekerja di keduanya tetapi, berbicara dalam bisnis, mudah untuk menemukan pekerjaan di Python daripada di R.
Jadi, Anda bisa:
Atau
sumber