5 Pembahagian Python untuk menguasai pembelajaran mesin

Sekiranya anda melakukan pekerjaan dalam statistik, sains data, atau pembelajaran mesin, kemungkinan besar anda menggunakan Python. Dan untuk alasan yang baik juga: Ekosistem perpustakaan dan perkakas yang kaya, dan kemudahan bahasa itu sendiri, menjadikan Python sebagai pilihan yang sangat baik.

Tetapi Python mana ? Terdapat sebilangan pengedaran bahasa, dan masing-masing telah dibuat mengikut garis yang berbeza dan untuk khalayak yang berbeza. Di sini kami telah memperincikan lima penjelmaan Python, dari yang paling generik hingga yang paling spesifik, dengan perincian tentang bagaimana mereka mengumpulkan untuk mengendalikan pekerjaan pembelajaran mesin.

Video berkaitan: Bagaimana Python menjadikan pengaturcaraan lebih mudah

Sempurna untuk IT, Python mempermudah pelbagai jenis pekerjaan, dari automasi sistem hingga bekerja di bidang canggih seperti pembelajaran mesin.

Anaconda Python

Anaconda menjadi terkenal sebagai sebaran utama Python, bukan hanya untuk sains data dan pembelajaran mesin tetapi untuk tujuan pengembangan Python juga. Anaconda disokong oleh pembekal komersial dengan nama yang sama (sebelumnya Continuum Analytics) yang menawarkan rancangan sokongan untuk perusahaan. 

Distro Anaconda menyediakan, pertama dan paling utama, sebaran Python dilengkapi dengan akses mudah ke pakej yang sering digunakan dalam sains data: NumPy, Pandas, Matplotlib, dan sebagainya. Mereka tidak hanya digabungkan dengan Anaconda, tetapi tersedia melalui sistem pengurusan pakej khusus yang disebut Conda. Pakej yang dipasang dengan konda boleh merangkumi pergantungan binari luaran yang sukar dikendalikan melalui Pip Python sendiri. (Perhatikan bahawa anda masih boleh menggunakan Pip jika anda mahu, tetapi anda tidak akan mendapat faedah yang disediakan oleh Conda untuk pakej tersebut.) Setiap pakej dikemas kini oleh Anaconda, dan banyak daripadanya disusun dengan Intel MKL sambungan untuk kelajuan.

Kelebihan utama lain yang diberikan Anaconda adalah persekitaran grafik, Anaconda Navigator. Navigator bukan IDE, melainkan front end GUI yang selesa untuk ciri Anaconda termasuk pengurus pakej Conda dan persekitaran maya yang dikonfigurasi pengguna. Anda juga boleh menggunakan Navigator untuk menguruskan aplikasi pihak ketiga seperti buku nota Jupyter dan Visual Studio Code IDE.

Pemasangan minimum Anaconda, yang dipanggil Miniconda, hanya memasang pangkalan Anaconda yang cukup untuk memulakan anda, tetapi boleh dikembangkan dengan pakej Conda- atau Pip yang lain yang anda perlukan. Ini berguna jika anda ingin memanfaatkan banyak koleksi perpustakaan Anaconda, tetapi perlu menjaga keadaan.

AktifPython

Sains data adalah salah satu kes penggunaan untuk ActivePython, yang dirancang untuk berfungsi sebagai edisi bahasa yang disokong secara profesional dengan pelaksanaan yang konsisten di seluruh arkitek dan platform. Ini membantu jika anda menggunakan Python untuk sains data di platform seperti AIX, HP-UX, dan Solaris, serta Windows, Linux, dan MacOS.

ActivePython cuba melekat sedekat mungkin pada penjelmaan rujukan asal Python. Daripada pemasang khas untuk pakej matematik dan statistik yang kompleks (pendekatan Anaconda), ActivePython menyusun banyak pakej tersebut, menggunakan pelanjutan Intel MKL jika diperlukan, dan menyediakannya sebagai pekap dengan pemasangan lalai ActivePython. Mereka tidak perlu dipasang secara rasmi; mereka ada di luar kotak.

Walau bagaimanapun, jika anda mahu menaik taraf ke versi yang lebih baru dari pakej yang telah dikompilasi sebelumnya, anda perlu menunggu sehingga versi ActivePython itu sendiri keluar. Ini menjadikan ActivePython lebih konsisten secara keseluruhan - perkara yang berharga untuk dimiliki apabila kebolehulangan hasil penting - tetapi juga kurang fleksibel.

CPython

Sekiranya anda ingin memulakan kerja pembelajaran mesin anda dari awal, hanya menggunakan versi rasmi Python, vanila biasa, pilih CPython. Dinamakan demikian kerana ia adalah edisi rujukan runtime Python yang ditulis dalam C, CPython tersedia dari laman web Python Software Foundation, dan hanya menyediakan alat yang diperlukan untuk menjalankan skrip Python dan menguruskan pakej.

CPython masuk akal jika anda ingin membina persekitaran Python secara khusus untuk pembelajaran mesin atau projek sains data, anda mempercayai diri anda untuk melakukannya dengan betul, dan anda tidak mahu ada perubahan pihak ketiga yang menghalang. Sumber untuk CPython sudah tersedia, jadi anda bahkan dapat menyusun perubahan yang mungkin anda mahu demi kelajuan atau keperluan projek.

Sebaliknya, menggunakan CPython bermaksud anda harus menghadapi selok-belok memasang dan mengkonfigurasi pakej seperti NumPy, dengan semua kebergantungannya - beberapa di antaranya harus diburu dan ditambahkan secara manual.

Sebilangan karya ini menjadi kurang membebankan sejak beberapa tahun kebelakangan ini, terutamanya sekarang apabila pengurus pakej Python's Pip memasang binari pracetak yang elegan seperti yang digunakan dalam banyak pakej sains data. Tetapi masih terdapat banyak kes, terutama di Microsoft Windows, di mana anda harus menyatukan semua kepingan dengan tangan - misalnya, dengan memasang penyusun C / C ++ secara manual.

Kelemahan lain untuk menggunakan CPython adalah bahawa ia tidak menggunakan pilihan percepatan prestasi yang berguna dalam pembelajaran mesin dan sains data, seperti sambungan Intel Kernel Library (MKL) Intel. Anda mesti membina perpustakaan NumPy dan SciPy untuk menggunakan Intel MKL sendiri.

Kanopi Terpikir

Edaran Canthth Enthought Python menyerupai Anaconda dalam banyak cara. Ia dibina dengan sains data dan pembelajaran mesin sebagai kes penggunaan utamanya, dilengkapi dengan indeks pakej tersusun sendiri, dan menyediakan kedua-dua bahagian depan grafik dan alat baris perintah untuk menguruskan keseluruhan persediaan. Pengguna perusahaan juga boleh membeli Enthought Deployment Server, sistem pengurusan pakej di belakang firewall. Pakej pembelajaran mesin yang dibina untuk Canopy menggunakan sambungan Intel MKL.

Perbezaan utama antara Anaconda dan Canopy adalah ruang lingkup. Kanopi lebih sederhana, Anaconda lebih komprehensif. Sebagai contoh, sedangkan Canopy merangkumi alat baris perintah untuk membuat dan mengurus persekitaran maya Python (berguna ketika berurusan dengan set pakej yang berbeza untuk aliran kerja pembelajaran mesin yang berbeza), Anaconda menyediakan GUI untuk pekerjaan itu. Sebaliknya, Canopy juga menyertakan IDE bawaan yang berguna - penyemak imbas fail gabungan, notebook Jupyter, dan editor kod - yang berguna untuk melompat masuk dan bekerja tanpa ribut-ribut.

WinPython

Misi asal di belakang WinPython adalah menyediakan edisi Python yang dibina khusus untuk Microsoft Windows. Kembali ketika build CPython untuk Windows tidak begitu mantap, WinPython mengisi ceruk berguna. Hari ini, edisi Windows CPython cukup bagus, dan WinPython telah beralih ke arah mengisi retakan yang masih belum diturap oleh CPython — terutamanya untuk aplikasi sains data dan pembelajaran mesin.

Secara lalai, WinPython mudah alih. Keseluruhan pengedaran WinPython sesuai dengan satu direktori yang boleh diletakkan di mana sahaja dan dijalankan di mana sahaja. Pemasangan WinPython dapat dihantar sebagai arkib atau pada pemacu USB, diprapasang dengan semua pemboleh ubah persekitaran, paket, dan skrip yang diperlukan untuk pekerjaan tertentu. Ini adalah kaedah yang berguna untuk mengemas semua yang diperlukan untuk melatih model tertentu atau menghasilkan semula eksperimen data tertentu. Atau anda boleh mendaftarkan pemasangan WinPython dengan Windows dan menjalankannya seolah-olah telah dipasang secara asli (dan membatalkan pendaftarannya kemudian, jika anda mahu).

Banyak elemen yang lebih sukar dari sebaran Python yang berpusatkan pembelajaran mesin juga diliputi. Sebilangan besar perpustakaan utama — NumPy, Pandas, Jupyter, dan antara muka ke bahasa R dan Julia — disertakan secara lalai dan dibina terhadap sambungan Intel MKL jika relevan. Penyusun Mingw64 C / C ++ juga dibungkus dengan NumPy di ​​WinPython, supaya sambungan Python binari dapat dibina dari sumber (misalnya, melalui Cython) tanpa perlu memasang pengkompil.

WinPython mempunyai pemasang pakej sendiri, WPPM, yang mengendalikan pakej yang dilengkapi dengan binari prebuilt dan juga pakej Python tulen. Dan bagi mereka yang hanya menginginkan WinPython versi kosong tanpa pakej yang disertakan secara lalai, WinPython menawarkan "versi sifar," sepanjang garis yang sama dengan Miniconda Anaconda.

Video berkaitan: Pembelajaran mesin dan AI diuraikan

Menerusi hype pembelajaran mesin dan kecerdasan buatan, panel kami membincangkan definisi dan implikasi teknologi.