Apakah beralih dari R ke Python sepadan? [Tutup]


31

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?


2
Apakah kursus di perguruan tinggi negeri, universitas swasta atau dalam sistem pendidikan perusahaan?
Manuel Rodriguez

12
Anda tidak dapat mengalihkan diri ke Python. Anda tidak berbicara tentang proyek yang sudah Anda tulis dalam R dan ingin port ke Python, Anda hanya bertanya tentang belajar Python (tidak melupakan R). Apakah layak belajar Python? Saat ini hampir tidak mungkin untuk tidak belajar Python jika Anda bekerja dengan apa pun yang berhubungan dengan penanganan data dengan komputer ...
lvella

1
Saya tidak yakin mengapa ini tidak ditutup berdasarkan opini, tapi saya senang.
Evorlor

1
@Evorlor Lihat jawaban saya, yang memang menyatakan pertanyaan ini juga akan mengarah pada jawaban berbasis pendapat. Lebih jauh, saya memilih untuk menutup pertanyaan ini terutama berdasarkan opini, meskipun saya juga memberikan jawaban. Di situs web ini, ada banyak pertanyaan jenis ini. Saya tidak yakin lagi apakah ini hal yang baik atau tidak, tetapi jawaban saat ini untuk pertanyaan ini bermanfaat bagi banyak orang.
nbro

2
Bagaimana ini tidak ditutup ?? Ini adalah pertanyaan berdasarkan opini kanonik.
spacetyper

Jawaban:


60

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 reticulatepaketnya. 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 indah ggplotsemua 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.


Saya sepenuhnya setuju dengan sudut pandang Anda. Cukup tambahkan dan cobalah untuk tidak mengabaikan keahlian R Anda.
Jens Kohl

3
pilih untuk reticulate. rstudio bahkan memiliki beberapa dukungan untuk memeriksa python dan sedang dalam proses menambahkan lebih banyak
biru

Satu-satunya masalah dengan menggunakan keduanya adalah bahwa Anda membuat orang lain hilir bergantung pada memiliki R dan Python juga. Sementara saya setuju tentang "menambahkan" ke skillet Anda - saya masih akan menjaga hal-hal yang murni saat menulis skrip!
PascalVKooten

reticulatememungkinkan R untuk menggunakan Python; sama, rpy2memungkinkan Python untuk menggunakan R. Ini umum untuk bahasa pemrograman dengan tujuan yang sama memiliki beberapa cara untuk berbicara satu sama lain.
JG

Persis. Jangan berdagang dengan alat Anda, tetapi tambahkan satu ke sabuk Anda. Sekarang Anda memiliki lebih banyak alat, memungkinkan Anda untuk memecahkan lebih banyak masalah dengan cara yang lebih baik.
Tiang

28

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 pandaspaket 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

  • Itu tidak menyediakan, out-of-the-box, fungsi statistik dan analisis data yang menyediakan R, kecuali jika Anda menginstal paket yang sesuai. Ini mungkin kelemahan atau kekuatan, tergantung pada sudut pandang filosofis Anda.

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.


3
Sepertinya set fitur "out of the box" tidak relevan. Yang relevan adalah ketersediaan paket yang melakukan apa yang Anda inginkan, bukan?
Dean MacGregor

1
@DeanMacGregor Jika Anda tidak memiliki akses ke internet, fitur ini relevan! Selanjutnya, jika bahasa pemrograman sudah menyediakan fitur di luar kotak, Anda tidak perlu kehilangan waktu mencarinya.
nbro

Mengingat Python sangat penuh dengan menjadi 'termasuk baterai', kelemahannya bukan yang sering Anda temui. Terutama karena ada Python instalasi digunakan yang melakukan telah paket statistik disertakan. Untuk ilmu data khususnya, Anaconda cukup populer dan memecahkan masalah Anda segera.
Tiang

6

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.


4

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.

  • R sangat bagus untuk penghancuran meja. Jika sebagian besar program tertentu akan melakukan smoosh beberapa tabel ke dalam bentuk yang berbeda, maka R adalah hal yang harus dipilih. Python memiliki alat untuk ini, tetapi R dirancang untuk itu dan melakukannya dengan lebih baik.
  • Layak beralih ke R setiap kali Anda perlu membuat bagan, karena ggplot2 adalah mahakarya dari kegunaan API dan matplotlib adalah horor perayapan.
  • Python dirancang dengan baik untuk pemrograman tujuan umum. Ini memiliki seperangkat struktur data standar yang dirancang dengan sangat baik, perpustakaan standar, dan pernyataan aliran kontrol.
  • R kurang cocok untuk pemrograman tujuan umum. Itu tidak menangani data struktur pohon atau struktur grafik dengan baik. Ini memiliki beberapa aturan (seperti bisa melihat dan memodifikasi ruang lingkup orang tua Anda) yang langsung nyaman, tetapi ketika digunakan mengarah ke program yang sulit untuk tumbuh, dimodifikasi, atau disusun.
  • R juga memiliki beberapa hal buruk langsung di dalamnya. Ini sebagian besar hanya sisa sejarah seperti tiga sistem objek yang berbeda.

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.


1

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,


0

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.


0

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.


-1

Orang yang mengejar dua kelinci tidak menangkap keduanya

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:

  • Pilih Python karena lebih populer. Namun, Anda harus mulai dari awal.

Atau

  • Tetap dengan R, setelah semua, Anda memiliki pelatihan satu tahun dengan R. Tapi itu tidak populer.

Saran di sini bahwa mempelajari bahasa pemrograman tambahan akan membuat Anda lebih buruk adalah omong kosong. Mempelajari bahasa pemrograman tambahan, terutama yang tidak dikenal, akan selalu meningkatkan keterampilan Anda sebagai programmer dalam bahasa apa pun.
Will Da Silva
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.