5 Python distribucija za svladavanje strojnog učenja

Ako radite na poslovima statistike, znanosti ili strojnog učenja, velika je vjerojatnost da koristite Python. I s dobrim razlogom: bogati ekosustav knjižnica i alata te praktičnost samog jezika čine Python izvrsnim izborom.

Ali koji Python? Postoji čitav niz distribucija jezika, a svaka je stvorena na različite načine i za različitu publiku. Ovdje smo detaljno opisali pet inkarnacija Pythona, od najopštijih do najspecifičnijih, s detaljima o tome kako se oni slažu za rukovanje poslovima strojnog učenja.

Povezani video: Kako Python olakšava programiranje

Savršen za IT, Python pojednostavljuje mnoge vrste poslova, od automatizacije sustava do rada u najmodernijim poljima poput strojnog učenja.

Anaconda Python

Anaconda je istaknuta kao glavna distribucija Pythona, ne samo za znanost o podacima i strojno učenje, već i za razvoj Pythona opće namjene. Anacondu podržava komercijalni pružatelj usluge s istim imenom (bivši Continuum Analytics) koji nudi planove podrške za poduzeća. 

Distributer Anaconda pruža, prije svega, Python distribuciju opremljenu jednostavnim pristupom paketima koji se često koriste u znanosti o podacima: NumPy, Pandas, Matplotlib itd. Oni nisu jednostavno u paketu s Anacondom, već su dostupni putem prilagođenog sustava upravljanja paketima nazvanog Conda. Conda-instalirani paketi mogu uključivati ​​nezgodne vanjske binarne ovisnosti kojima se nije moglo upravljati putem Pythonovog vlastitog Pipa. (Imajte na umu da i dalje možete koristiti Pip ako želite, ali nećete dobiti beneficije koje Conda pruža za te pakete.) Svaki paket redovno ažurira Anaconda, a mnogi od njih su kompilirani s Intel MKL produžeci za brzinu.

Druga glavna prednost koju Anaconda pruža je grafičko okruženje, Anaconda Navigator. Navigator nije IDE, već je prikladan GUI prednji kraj za Anaconda značajke, uključujući Conda manager paketa i korisnički konfigurirana virtualna okruženja. Navigator možete koristiti i za upravljanje programima trećih strana, kao što su Jupyter bilježnice i Visual Studio Code IDE.

Minimalna instalacija Anaconde, nazvana Miniconda, instalira samo dovoljno baze Anaconda da započnete, ali se može proširiti drugim paketima instaliranim Conda ili Pip po potrebi. Ovo je korisno ako želite iskoristiti bogatu lepezu biblioteka Anaconde, ali morate stvari održavati vitkim.

ActivePython

Znanost o podacima samo je jedan od slučajeva upotrebe ActivePythona, koji je osmišljen da posluži kao profesionalno podržano izdanje jezika s dosljednim implementacijama u više arhitektura i platformi. To pomaže ako Python koristite za znanost o podacima na platformama poput AIX, HP-UX i Solaris, kao i Windows, Linux i MacOS.

ActivePython se pokušava držati što bliže Pythonovoj izvornoj referentnoj inkarnaciji. Umjesto posebnog instalacijskog programa za složene matematičke i statističke pakete (pristup Anaconda), ActivePython već prekompajlira mnoge od tih paketa, koristeći Intel MKL proširenja po potrebi, i pruža ih kao paketne sadržaje sa zadanom instalacijom ActivePythona. Ne moraju biti formalno instalirani; dostupni su odmah iz kutije.

Međutim, ako želite nadograditi na noviju verziju tih prekompajliranih paketa, morat ćete pričekati dok ne izađe sljedeća izgradnja ActivePythona. To čini ActivePython dosljednijim u cjelini - što je dragocjeno imati kad je ponovljivost rezultata važna - ali i manje fleksibilno.

CPython

Ako želite započeti s radom na strojnom učenju ispočetka, ne koristeći ništa drugo osim službene, jednostavne inačice Pythona, odaberite CPython. Tako nazvan jer je referentno izdanje Python runtime-a napisanog na C, CPython je dostupan na web mjestu Python Software Foundation i nudi samo alate potrebne za pokretanje Python skripti i upravljanje paketima.

CPython ima smisla ako želite prilagoditi Python okruženje za projekt strojnog učenja ili znanosti, vjerujete si da ćete to učiniti ispravno i ne želite da vam na putu stanu bilo kakve izmjene. Izvor za CPython je lako dostupan, tako da čak možete prilagođeno kompajlirati sve izmjene koje biste željeli napraviti zbog brzine ili potrebe projekta.

S druge strane, upotreba CPythona znači da ćete se morati nositi s detaljima instaliranja i konfiguriranja paketa poput NumPy-a, sa svim njihovim ovisnostima - od kojih neke treba loviti i dodavati ručno.

Dio ovog rada postao je manje opterećujući tijekom posljednjih nekoliko godina, pogotovo sada kada Pythonov upravitelj Pip-ovih paketa elegantno instalira unaprijed sastavljene binarne datoteke koje se koriste u mnogim paketima za znanost o podacima. No, još uvijek postoji mnogo slučajeva, posebno u sustavu Microsoft Windows, gdje ćete sve dijelove morati ručno uklopiti - na primjer, ručnom instalacijom C / C ++ kompajlera.

Još jedan nedostatak korištenja CPythona je taj što ne koristi nijednu od opcija za ubrzanje performansi korisnih u strojnom učenju i znanosti o podacima, poput Intelovih proširenja Math Kernel Library (MKL). Morali biste napraviti biblioteke NumPy i SciPy da biste samostalno koristili Intel MKL.

Zamišljena nadstrešnica

Distribucija Python-a Enthought Canopy u mnogočemu sliči Anacondi. Konstruiran je s podacima i strojnim učenjem kao primarnim slučajevima upotrebe, dolazi s vlastitim indeksom kuriranih paketa i pruža grafičke prednje krajeve i alate naredbenog retka za upravljanje cijelim postavljanjem. Korisnici poduzeća mogu kupiti i Enthought Deployment Server, sustav upravljanja paketima iza vatrozida. Paketi za strojno učenje izrađeni za Canopy koriste proširenja Intel MKL.

Glavna razlika između Anaconde i Canopyja je opseg. Nadstrešnica je skromnija, Anaconda sveobuhvatnija. Na primjer, dok Canopy uključuje alate naredbenog retka za stvaranje i upravljanje Python virtualnim okruženjima (korisno kada se radi s različitim skupovima paketa za različite tijekove rada strojnog učenja), Anaconda nudi GUI za taj posao. S druge strane, Canopy također uključuje praktični ugrađeni IDE - kombinirani preglednik datoteka, Jupyterovo prijenosno računalo i uređivač koda - koji je koristan za pravo uskakanje i posao bez muke.

WinPython

Prvotna misija iza WinPythona bila je pružanje izdanja Pythona izrađenog posebno za Microsoft Windows. Kad CPython izrade za Windows nisu bile posebno robusne, WinPython je popunio korisnu nišu. Danas je CPythonovo izdanje za Windows prilično dobro, a WinPython se okrenuo punjenju pukotina koje CPython još uvijek nije popločio - posebno za znanosti o podacima i programe strojnog učenja.

Prema zadanim postavkama, WinPython je prenosiv. Cijela WinPython distribucija stane u jedan direktorij koji se može smjestiti bilo gdje i pokrenuti bilo gdje. Instalacija WinPython može se isporučiti kao arhiva ili na USB pogonu, unaprijed instaliran sa svim varijablama okruženja, paketima i skriptama potrebnim za zadani posao. To je koristan način spakiranja svega što je potrebno za osposobljavanje određenog modela ili reprodukciju određenog eksperimenta s podacima. Ili možete registrirati instalaciju WinPython u sustavu Windows i pokrenuti je kao da je izvorno instalirana (i odjavite je kasnije, ako želite).

Također su pokriveni mnogi lukaviji elementi distribucije Pythona usmjerene na strojno učenje. Većina ključnih knjižnica - NumPy, Pandas, Jupyter i sučelja za R i Julia jezike - uključene su prema zadanim postavkama i izgrađene prema Intel MKL proširenjima tamo gdje je to potrebno. Kompajler Mingw64 C / C ++ također se isporučuje u paketu s NumPy-om u WinPythonu, tako da se binarna proširenja Pythona mogu graditi iz izvora (na primjer, putem Cythona) bez potrebe za instaliranjem kompajlera.

WinPython ima vlastiti program za instaliranje paketa, WPPM, koji rukuje paketima koji dolaze s unaprijed izgrađenim binarnim datotekama, kao i pure-Python paketima. A za one koji samo žele golu kost verzije WinPythona bez zadanih paketa, WinPython nudi "nultu verziju", u istim crtama kao i Anacondina Miniconda.

Povezani video: Strojno učenje i dešifriranje AI

Probijajući se oko hipe oko strojnog učenja i umjetne inteligencije, naš panel govori o definicijama i implikacijama tehnologije.