5 dystrybucji Pythona do opanowania uczenia maszynowego

Jeśli zajmujesz się statystyką, nauką danych lub uczeniem maszynowym, istnieje duże prawdopodobieństwo, że używasz Pythona. Nie bez powodu: bogaty ekosystem bibliotek i narzędzi oraz wygoda samego języka sprawiają, że Python jest doskonałym wyborem.

Ale który Python? Istnieje wiele dystrybucji języka, a każda z nich została stworzona w inny sposób i dla różnych odbiorców. Tutaj opisaliśmy szczegółowo pięć inkarnacji Pythona, od najbardziej ogólnych po najbardziej szczegółowe, ze szczegółami dotyczącymi ich zestawiania w obsłudze zadań uczenia maszynowego.

Powiązany film: Jak Python ułatwia programowanie

Idealny dla IT, Python upraszcza wiele rodzajów pracy, od automatyzacji systemu po pracę w najnowocześniejszych dziedzinach, takich jak uczenie maszynowe.

Anaconda Python

Anaconda zyskała popularność jako główna dystrybucja Pythona, nie tylko w zakresie nauki o danych i uczeniu maszynowym, ale także do ogólnego programowania Pythona. Anaconda jest wspierana przez komercyjnego dostawcę o tej samej nazwie (dawniej Continuum Analytics), który oferuje plany wsparcia dla przedsiębiorstw. 

Dystrybucja Anaconda zapewnia przede wszystkim dystrybucję Pythona wyposażoną w łatwy dostęp do pakietów często używanych w nauce o danych: NumPy, Pandas, Matplotlib i tak dalej. Nie są one po prostu dołączane do programu Anaconda, ale są dostępne za pośrednictwem niestandardowego systemu zarządzania pakietami o nazwie Conda. Pakiety instalowane przez Conda mogą zawierać skomplikowane zewnętrzne zależności binarne, którymi nie można zarządzać za pomocą własnego Pipa Pythona. (Pamiętaj, że nadal możesz używać Pip, jeśli chcesz, ale nie uzyskasz korzyści, jakie Conda zapewnia dla tych pakietów). Każdy pakiet jest aktualizowany przez Anacondę, a wiele z nich jest kompilowanych za pomocą Intel MKL rozszerzenia prędkości.

Inną ważną zaletą, jaką zapewnia Anaconda, jest środowisko graficzne, Anaconda Navigator. Navigator nie jest IDE, ale raczej wygodnym interfejsem GUI dla funkcji Anaconda, w tym menedżera pakietów Conda i środowisk wirtualnych skonfigurowanych przez użytkownika. Możesz również użyć Nawigatora do zarządzania aplikacjami innych firm, takimi jak notesy Jupyter i IDE Visual Studio Code.

Minimalna instalacja Anacondy, zwana Miniconda, instaluje tylko tyle bazy Anacondy, aby rozpocząć, ale może być rozszerzona o inne pakiety zainstalowane przez Conda- lub Pip, jeśli ich potrzebujesz. Jest to przydatne, jeśli chcesz skorzystać z bogatej gamy bibliotek Anaconda, ale musisz zachować oszczędność.

ActivePython

Nauka o danych to tylko jeden z przypadków użycia ActivePython, który został zaprojektowany, aby służyć jako profesjonalnie obsługiwana edycja języka z spójnymi implementacjami w różnych architekturach i platformach. Jest to przydatne, jeśli używasz Pythona do nauki o danych na platformach takich jak AIX, HP-UX i Solaris, a także Windows, Linux i MacOS.

ActivePython stara się jak najściślej trzymać się oryginalnego referencyjnego wcielenia Pythona. Zamiast specjalnego instalatora dla złożonych pakietów matematyczno-statystycznych (podejście Anaconda), ActivePython wstępnie kompiluje wiele z tych pakietów, używając w razie potrzeby rozszerzeń Intel MKL i dostarcza je jako dodatki z domyślną instalacją ActivePython. Nie muszą być formalnie instalowane; są dostępne od razu po wyjęciu z pudełka.

Jeśli jednak chcesz dokonać aktualizacji do nowszej wersji tych wstępnie skompilowanych pakietów, będziesz musiał poczekać, aż pojawi się kolejna kompilacja samego ActivePythona. To sprawia, że ​​ActivePython jako całość jest bardziej spójny - cenna rzecz, gdy liczy się powtarzalność wyników - ale także mniej elastyczny.

CPython

Jeśli chcesz rozpocząć pracę z uczeniem maszynowym od zera, używając wyłącznie oficjalnej, zwykłej wersji Pythona, wybierz CPython. Nazwany tak, ponieważ jest to wersja referencyjna środowiska uruchomieniowego Pythona napisanego w C, CPython jest dostępny na stronie internetowej Python Software Foundation i zapewnia tylko narzędzia potrzebne do uruchamiania skryptów Pythona i zarządzania pakietami.

CPython ma sens, jeśli chcesz samodzielnie zbudować środowisko Pythona dla projektu uczenia maszynowego lub nauki o danych, ufasz sobie, że zrobisz to dobrze i nie chcesz, aby jakiekolwiek zmiany innych firm przeszkadzały. Źródło dla CPython jest łatwo dostępne, więc możesz nawet skompilować dowolne zmiany, które chcesz wprowadzić ze względu na szybkość lub potrzeby projektu.

Z drugiej strony, używanie CPythona oznacza, że ​​będziesz musiał uporać się z tajnikami instalacji i konfiguracji pakietów takich jak NumPy, ze wszystkimi ich zależnościami - z których niektóre muszą być wytropione i dodane ręcznie.

Niektóre z tych prac stały się mniej uciążliwe w ciągu ostatnich kilku lat, zwłaszcza teraz, gdy menedżer pakietów Pip w Pythonie elegancko instaluje prekompilowane pliki binarne, takie jak używane w wielu pakietach do nauki o danych. Jednak nadal istnieje wiele przypadków, szczególnie w systemie Microsoft Windows, w których trzeba będzie ręcznie dopasować wszystkie elementy do siebie - na przykład ręcznie instalując kompilator C / C ++.

Inną wadą korzystania z CPythona jest to, że nie używa on żadnych opcji przyspieszających wydajność, przydatnych w uczeniu maszynowym i nauce o danych, takich jak rozszerzenia Intel Math Kernel Library (MKL). Musiałbyś zbudować biblioteki NumPy i SciPy, aby samodzielnie używać Intel MKL.

Enthought Canopy

Dystrybucja Enthought Canopy w Pythonie przypomina pod wieloma względami Anacondę. Został skonstruowany z wykorzystaniem nauki o danych i uczeniu maszynowym jako podstawowych przypadków użycia, ma własny, wyselekcjonowany indeks pakietów i zapewnia zarówno graficzne interfejsy, jak i narzędzia wiersza polecenia do zarządzania całą konfiguracją. Użytkownicy korporacyjni mogą również zakupić Enthought Deployment Server, system zarządzania pakietami za zaporą. Pakiety uczenia maszynowego utworzone dla Canopy używają rozszerzeń Intel MKL.

Główną różnicą między Anacondą a Canopy jest luneta. Canopy jest skromniejsza, Anaconda bardziej wszechstronna. Na przykład, podczas gdy Canopy zawiera narzędzia wiersza poleceń do tworzenia i zarządzania wirtualnymi środowiskami Python (przydatne w przypadku różnych zestawów pakietów dla różnych przepływów pracy uczenia maszynowego), Anaconda zapewnia GUI do tego zadania. Z drugiej strony Canopy zawiera również poręczne wbudowane środowisko IDE - kombinację przeglądarki plików, notatnik Jupyter i edytor kodu - które jest przydatne do natychmiastowego przystąpienia do pracy.

WinPython

Pierwotną misją WinPythona było dostarczenie wersji Pythona zbudowanej specjalnie dla Microsoft Windows. Kiedy kompilacje CPythona dla Windows nie były szczególnie solidne, WinPython wypełniał użyteczną niszę. Dzisiaj wersja CPython dla systemu Windows jest całkiem dobra, a WinPython zwrócił się w kierunku wypełniania pęknięć, które nadal nie zostały utorowane przez CPython - szczególnie w przypadku aplikacji do nauki danych i uczenia maszynowego.

Domyślnie WinPython jest przenośny. Cała dystrybucja WinPython mieści się w jednym katalogu, który można umieścić w dowolnym miejscu i uruchomić w dowolnym miejscu. Instalacja WinPython może być dostarczona jako archiwum lub na dysku USB, preinstalowana ze wszystkimi zmiennymi środowiskowymi, pakietami i skryptami potrzebnymi do wykonania danego zadania. Jest to przydatny sposób na spakowanie wszystkiego, co jest potrzebne do wytrenowania określonego modelu lub odtworzenia określonego eksperymentu z danymi. Lub możesz zarejestrować instalację WinPython w systemie Windows i uruchomić ją tak, jakby była zainstalowana natywnie (i wyrejestrować ją później, jeśli chcesz).

Omówiono również wiele trudniejszych elementów dystrybucji Pythona zorientowanej na uczenie maszynowe. Większość kluczowych bibliotek - NumPy, Pandas, Jupyter i interfejsy do języków R i Julia - jest dołączona domyślnie i zbudowana w oparciu o rozszerzenia Intel MKL, jeśli są potrzebne. Kompilator Mingw64 C / C ++ jest również dostarczany w pakiecie z NumPy w WinPython, dzięki czemu binarne rozszerzenia Pythona mogą być budowane ze źródła (na przykład za pośrednictwem Cythona) bez konieczności instalowania kompilatora.

WinPython ma własny instalator pakietów, WPPM, który obsługuje pakiety dostarczane z gotowymi plikami binarnymi, a także pakiety w czystym Pythonie. A dla tych, którzy chcą tylko podstawowej wersji WinPythona bez domyślnie dołączonych pakietów, WinPython oferuje „wersję zerową”, podobnie jak Miniconda firmy Anaconda.

Powiązany film: Odszyfrowanie systemów uczących się i sztucznej inteligencji

Przełamując szum wokół uczenia maszynowego i sztucznej inteligencji, nasz panel omawia definicje i implikacje tej technologii.