5 distribusi Python untuk menguasai pembelajaran mesin

Jika Anda melakukan pekerjaan dalam statistik, ilmu data, atau pembelajaran mesin, kemungkinan besar Anda menggunakan Python. Dan untuk alasan yang bagus juga: Ekosistem perpustakaan dan perkakas yang kaya, dan kenyamanan bahasanya sendiri, membuat Python menjadi pilihan yang sangat baik.

Tapi Python yang mana ? Ada sejumlah distribusi bahasa, dan masing-masing telah dibuat menurut garis yang berbeda dan untuk audiens yang berbeda. Di sini kami telah merinci lima inkarnasi Python, dari yang paling umum hingga yang paling spesifik, dengan detail tentang bagaimana mereka menumpuk untuk menangani pekerjaan pembelajaran mesin.

Video terkait: Bagaimana Python membuat pemrograman lebih mudah

Sempurna untuk TI, Python menyederhanakan banyak jenis pekerjaan, dari otomatisasi sistem hingga bekerja di bidang-bidang mutakhir seperti pembelajaran mesin.

Anaconda Python

Anaconda menjadi terkenal sebagai distribusi Python utama, tidak hanya untuk ilmu data dan pembelajaran mesin tetapi juga untuk pengembangan Python untuk tujuan umum. Anaconda didukung oleh penyedia komersial dengan nama yang sama (sebelumnya Continuum Analytics) yang menawarkan paket dukungan untuk perusahaan. 

Distro Anaconda menyediakan, pertama dan terutama, distribusi Python yang dilengkapi dengan akses mudah ke paket yang sering digunakan dalam ilmu data: NumPy, Pandas, Matplotlib, dan sebagainya. Mereka tidak hanya dipaketkan dengan Anaconda, tetapi tersedia melalui sistem manajemen paket khusus yang disebut Conda. Paket yang diinstal conda dapat menyertakan dependensi biner eksternal yang rumit yang tidak dapat dikelola melalui Pip milik Python. (Perhatikan bahwa Anda masih dapat menggunakan Pip jika Anda mau, tetapi Anda tidak akan mendapatkan manfaat yang disediakan Conda untuk paket-paket itu.) Setiap paket selalu diperbarui oleh Anaconda, dan banyak di antaranya dikompilasi dengan Intel MKL ekstensi untuk kecepatan.

Keuntungan utama lainnya yang diberikan Anaconda adalah lingkungan grafis, Anaconda Navigator. Navigator bukanlah IDE, melainkan antarmuka GUI yang nyaman untuk fitur Anaconda termasuk manajer paket Conda dan lingkungan virtual yang dikonfigurasi pengguna. Anda juga dapat menggunakan Navigator untuk mengelola aplikasi pihak ketiga seperti notebook Jupyter dan Visual Studio Code IDE.

Instalasi minimal Anaconda, yang disebut Miniconda, hanya menginstal basis Anaconda secukupnya untuk Anda mulai, tetapi dapat diperluas dengan paket yang diinstal Conda- atau Pip saat Anda membutuhkannya. Ini berguna jika Anda ingin memanfaatkan keseluruhan perpustakaan Anaconda yang kaya, tetapi perlu menjaganya tetap ramping.

ActivePython

Ilmu data hanyalah salah satu kasus penggunaan untuk ActivePython, yang dirancang untuk berfungsi sebagai edisi bahasa yang didukung secara profesional dengan implementasi yang konsisten di seluruh arsitektur dan platform. Ini membantu jika Anda menggunakan Python untuk ilmu data pada platform seperti AIX, HP-UX, dan Solaris, serta Windows, Linux, dan MacOS.

ActivePython mencoba menempel sedekat mungkin dengan inkarnasi referensi asli Python. Alih-alih penginstal khusus untuk paket matematika dan statistik kompleks (pendekatan Anaconda), ActivePython melakukan pra-kompilasi banyak dari paket tersebut, menggunakan ekstensi Intel MKL jika diperlukan, dan menyediakannya sebagai paket dengan instalasi default ActivePython. Mereka tidak harus dipasang secara resmi; mereka tersedia langsung dari kotak.

Namun, jika Anda ingin memutakhirkan ke versi yang lebih baru dari paket-paket yang telah dikompilasi tersebut, Anda harus menunggu hingga versi ActivePython berikutnya keluar. Hal ini membuat ActivePython lebih konsisten secara keseluruhan — hal yang berharga untuk dimiliki saat reproduktifitas hasil penting — tetapi juga kurang fleksibel.

CPython

Jika Anda ingin memulai pekerjaan pembelajaran mesin dari awal, hanya menggunakan Python versi vanilla resmi, pilih CPython. Dinamakan demikian karena ini adalah edisi referensi runtime Python yang ditulis dalam C, CPython tersedia dari situs web Python Software Foundation, dan hanya menyediakan alat yang diperlukan untuk menjalankan skrip Python dan mengelola paket.

CPython masuk akal jika Anda ingin membuat lingkungan Python untuk pembelajaran mesin atau proyek ilmu data, Anda percaya diri Anda untuk melakukannya dengan benar, dan Anda tidak ingin ada perubahan pihak ketiga yang menghalangi. Sumber untuk CPython sudah tersedia, sehingga Anda bahkan dapat mengkompilasi kustom setiap perubahan yang mungkin ingin Anda buat demi kecepatan atau kebutuhan proyek.

Di sisi lain, dengan menggunakan CPython berarti Anda harus berurusan dengan seluk beluk instalasi dan konfigurasi paket seperti NumPy, dengan semua dependensinya — beberapa di antaranya harus dicari dan ditambahkan secara manual.

Beberapa dari pekerjaan ini menjadi tidak terlalu membebani selama beberapa tahun terakhir, terutama sekarang karena pengelola paket Pip Python menginstal binari prakompilasi dengan elegan dari jenis yang digunakan dalam banyak paket ilmu data. Namun masih banyak kasus, terutama pada Microsoft Windows, di mana Anda harus menyesuaikan semua bagian secara manual — misalnya, dengan menginstal compiler C / C ++ secara manual.

Kelemahan lain menggunakan CPython adalah ia tidak menggunakan opsi percepatan kinerja apa pun yang berguna dalam pembelajaran mesin dan ilmu data, seperti ekstensi Intel Math Kernel Library (MKL). Anda harus membangun perpustakaan NumPy dan SciPy untuk menggunakan Intel MKL Anda sendiri.

Kanopi Terpikir

Distribusi Enthought Canopy Python menyerupai Anaconda dalam banyak hal. Itu dibangun dengan ilmu data dan pembelajaran mesin sebagai kasus penggunaan utamanya, dilengkapi dengan indeks paket yang dikuratori sendiri, dan menyediakan alat baris perintah dan front end grafis untuk mengelola seluruh penyiapan. Pengguna perusahaan juga dapat membeli Enthought Deployment Server, sistem manajemen paket di belakang firewall. Paket pembelajaran mesin yang dibuat untuk Canopy menggunakan ekstensi Intel MKL.

Perbedaan utama antara Anaconda dan Canopy adalah ruang lingkup. Kanopi lebih sederhana, anaconda lebih lengkap. Misalnya, Canopy menyertakan alat baris perintah untuk membuat dan mengelola lingkungan virtual Python (berguna saat menangani kumpulan paket yang berbeda untuk alur kerja pembelajaran mesin yang berbeda), Anaconda menyediakan GUI untuk pekerjaan itu. Di sisi lain, Canopy juga menyertakan IDE bawaan yang praktis — browser file kombinasi, notebook Jupyter, dan editor kode — yang berguna untuk langsung masuk dan mulai bekerja tanpa repot.

WinPython

Misi asli di balik WinPython adalah menyediakan edisi Python yang dibuat khusus untuk Microsoft Windows. Kembali ketika CPython membangun untuk Windows tidak terlalu kuat, WinPython mengisi ceruk yang berguna. Hari ini, edisi CPython Windows cukup bagus, dan WinPython telah beralih ke mengisi celah yang masih belum diselesaikan oleh CPython — terutama untuk aplikasi sains data dan pembelajaran mesin.

Secara default, WinPython bersifat portabel. Seluruh distribusi WinPython cocok dengan satu direktori yang dapat ditempatkan di mana saja dan dijalankan di mana saja. Instalasi WinPython dapat dikirim sebagai arsip atau pada drive USB, diinstal sebelumnya dengan semua variabel lingkungan, paket, dan skrip yang diperlukan untuk pekerjaan tertentu. Ini adalah cara yang berguna untuk mengemas semua yang diperlukan untuk melatih model tertentu atau mereproduksi eksperimen data tertentu. Atau Anda dapat mendaftarkan instalasi WinPython dengan Windows dan menjalankannya seolah-olah telah diinstal secara asli (dan batalkan pendaftarannya nanti, jika Anda mau).

Banyak elemen rumit dari distribusi Python yang berpusat pada pembelajaran mesin juga tercakup. Sebagian besar pustaka utama — NumPy, Pandas, Jupyter, dan antarmuka ke bahasa R dan Julia — disertakan secara default dan dibuat dengan ekstensi Intel MKL jika relevan. Kompiler Mingw64 C / C ++ juga dilengkapi dengan NumPy dalam WinPython, sehingga ekstensi biner Python dapat dibangun dari sumber (misalnya, melalui Cython) tanpa harus menginstal kompiler.

WinPython memiliki penginstal paketnya sendiri, WPPM, yang menangani paket yang datang dengan binari prebuilt serta paket Python murni. Dan bagi mereka yang hanya menginginkan versi sederhana dari WinPython tanpa paket yang disertakan secara default, WinPython menawarkan "versi nol," sama seperti Miniconda Anaconda.

Video terkait: Pembelajaran mesin dan AI diuraikan

Menerobos hype seputar pembelajaran mesin dan kecerdasan buatan, panel kami membahas definisi dan implikasi teknologi.