5 Python дистрибуции за овладяване на машинно обучение

Ако се занимавате със статистика, наука за данни или машинно обучение, шансовете са високи, използвате Python. И с основателна причина също: богатата екосистема от библиотеки и инструменти и удобството на самия език правят Python отличен избор.

Но кой Python? Съществуват редица разпространения на езика и всеки от тях е създаден по различен начин и за различна аудитория. Тук подробно описахме пет въплъщения на Python, от най-общите до най-конкретните, с подробности за това как те се подреждат за работа с задачи за машинно обучение.

Свързано видео: Как Python улеснява програмирането

Перфектен за ИТ, Python опростява много видове работа, от автоматизация на системата до работа в авангардни области като машинно обучение.

Anaconda Python

Anaconda стана известен като основна дистрибуция на Python, не само за наука за данни и машинно обучение, но и за Python разработка с общо предназначение. Anaconda е подкрепена от търговски доставчик със същото име (по-рано Continuum Analytics), който предлага планове за поддръжка за предприятия. 

Дистрибуцията Anaconda предоставя, на първо място, дистрибуция на Python, снабдена с лесен достъп до пакетите, често използвани в науката за данни: NumPy, Pandas, Matplotlib и т.н. Те не са просто в комплект с Anaconda, но са достъпни чрез персонализирана система за управление на пакети, наречена Conda. Инсталираните от Conda пакети могат да включват сложни външни двоични зависимости, които не могат да бъдат управлявани чрез собствения Pip на Python. (Обърнете внимание, че все още можете да използвате Pip, ако искате, но няма да получите предимствата, които Conda предоставя за тези пакети.) Всеки пакет се актуализира от Anaconda и много от тях се компилират с Intel MKL удължения за скорост.

Другото голямо предимство, което Anaconda предоставя, е графичната среда, Anaconda Navigator. Навигаторът не е IDE, а по-скоро удобен графичен интерфейс за функции на Anaconda, включително мениджъра на пакети Conda и конфигурираната от потребителя виртуална среда. Можете също така да използвате Navigator, за да управлявате приложения на трети страни като бележници Jupyter и IDE на Visual Studio Code.

Минималната инсталация на Anaconda, наречена Miniconda, инсталира само достатъчно от базата Anaconda, за да започнете, но може да бъде разширена с други пакети, инсталирани от Conda или Pip, когато имате нужда от тях. Това е полезно, ако искате да се възползвате от богатата гама библиотеки на Anaconda, но трябва да поддържате нещата стройни.

ActivePython

Науката за данните е само един от случаите на използване на ActivePython, който е проектиран да служи като професионално поддържано издание на езика с последователни внедрения в архитектури и платформи. Това помага, ако използвате Python за наука за данни на платформи като AIX, HP-UX и Solaris, както и Windows, Linux и MacOS.

ActivePython се опитва да се придържа възможно най-близо до оригиналното препращане на Python. Вместо специален инсталатор за сложни математически и статистически пакети (подходът Anaconda), ActivePython предварително компилира много от тези пакети, използвайки разширенията Intel MKL, където е необходимо, и ги предоставя като пакети с инсталацията по подразбиране на ActivePython. Те не трябва да бъдат официално инсталирани; те са налични веднага от кутията.

Ако обаче искате да надстроите до по-нова версия на тези предварително компилирани пакети, ще трябва да изчакате, докато излезе следващата компилация на ActivePython. Това прави ActivePython по-последователен като цяло - ценно нещо, което трябва да има, когато възпроизводимостта на резултатите е от значение, но и по-малко гъвкав.

CPython

Ако искате да започнете работата си по машинно обучение от нулата, като не използвате нищо друго освен официалната, обикновена версия на Python, изберете CPython. Така наречен, тъй като е референтното издание на изпълнението на Python, написано на C, CPython се предлага от уебсайта на Python Software Foundation и предлага само инструментите, необходими за стартиране на Python скриптове и управление на пакети.

CPython има смисъл, ако искате да създадете персонализирана среда на Python за проект за машинно обучение или наука за данни, имате доверие, че ще го направите правилно, и не искате никакви промени на трети страни да пречат. Източникът за CPython е лесно достъпен, така че можете дори да компилирате по поръчка всякакви промени, които може да искате да направите, заради скоростта или нуждите на проекта.

От друга страна, използването на CPython означава, че ще трябва да се справите с тънкостите на инсталирането и конфигурирането на пакети като NumPy, с всичките им зависимости - някои от които трябва да бъдат преследвани и добавени ръчно.

Част от тази работа стана по-малко обременяваща през последните няколко години, особено сега, когато мениджърът на пакети Pip на Python елегантно инсталира предварително компилирани двоични файлове от вида, използван в много пакети за наука за данни. Но все още има много случаи, особено в Microsoft Windows, където ще трябва да съберете всички части на ръка - например чрез ръчно инсталиране на C / C ++ компилатор.

Друг недостатък на използването на CPython е, че той не използва нито една от опциите за ускоряване на производителността, полезни в машинното обучение и науката за данни, като разширенията на Math Kernel Library (MKL) на Intel. Ще трябва да изградите библиотеките NumPy и SciPy, за да използвате сами Intel MKL.

Замислен сенник

Разпределението на Enthought Canopy на Python наподобява Anaconda в много отношения. Той е изграден с наука за данни и машинно обучение като основни случаи на употреба, идва със собствен индекс на подготвени пакети и осигурява както графични предни краища, така и инструменти за команден ред за управление на цялата настройка. Потребителите на предприятия също могат да закупят Enthought Deployment Server, система за управление на пакети зад защитната стена. Пакетите за машинно обучение, създадени за Canopy, използват разширенията Intel MKL.

Основната разлика между Anaconda и Canopy е обхватът. Сенникът е по-скромен, Anaconda - по-изчерпателен. Например, докато Canopy включва инструменти за команден ред за създаване и управление на виртуални среди на Python (полезни при работа с различни набори от пакети за различни работни потоци на машинно обучение), Anaconda предоставя GUI за тази работа. От друга страна, Canopy включва и удобна вградена IDE - комбиниран браузър на файлове, тетрадка на Jupyter и редактор на код - която е полезна за директно влизане и безпроблемна работа.

WinPython

Първоначалната мисия зад WinPython беше да предостави издание на Python, създадено специално за Microsoft Windows. Тогава, когато CPython компилациите за Windows не бяха особено стабилни, WinPython запълни полезна ниша. Днес изданието на CPython за Windows е доста добро и WinPython се насочи към запълване на пукнатини, които все още не са проправени от CPython - особено за приложенията за наука за данни и машинно обучение.

По подразбиране WinPython е преносим. Цялата дистрибуция на WinPython се побира в една директория, която може да бъде поставена навсякъде и да се изпълнява навсякъде. Инсталацията на WinPython може да бъде доставена като архив или на USB устройство, предварително инсталирана с всички променливи на околната среда, пакети и скриптове, необходими за дадена работа. Това е полезен начин да съберете всичко, което е необходимо за обучение на определен модел или възпроизвеждане на специфичен експеримент с данни. Или можете да регистрирате инсталация на WinPython с Windows и да я стартирате така, сякаш е била първоначално инсталирана (и да я отпишете по-късно, ако желаете).

Много от по-сложните елементи на дистрибуцията на Python, ориентирана към машинно обучение, също са обхванати. Повечето ключови библиотеки - NumPy, Pandas, Jupyter и интерфейсите към езиците R и Julia - са включени по подразбиране и са изградени спрямо разширенията Intel MKL, където е уместно. Компилаторът Mingw64 C / C ++ също се предлага в пакет с NumPy в WinPython, така че бинарните разширения на Python могат да бъдат изградени от източник (например чрез Cython), без да се налага да се инсталира компилатор.

WinPython има свой собствен инсталатор на пакети, WPPM, който обработва пакети, които се доставят с предварително изградени двоични файлове, както и с чисти Python пакети. А за тези, които искат просто гола версия на WinPython без включени пакети по подразбиране, WinPython предлага „нулева версия“, по същия начин като Anaconda's Miniconda.

Свързано видео: Машинно обучение и дешифриране на AI

Разбивайки шума около машинното обучение и изкуствения интелект, нашият панел разказва дефинициите и последиците от технологията.