Библиотеки Python, необходимые для машинного обучения

Перевод статьи Шуби Астаны «Essential libraries for Machine Learning in Python».

Библиотеки Python, применяемые в сфере машинного обучения

Разработчики, которым в их работе нужно применять приемы статистики или анализа данных, часто выбирают Python в качестве своего языка. Также он используется учеными науки о данных – при интеграции их задач с веб-приложениями или производственными средами.

Но в сфере машинного обучения Python просто «звезда». Комбинация последовательного синтаксиса, более короткого времени разработки и гибкости делает этот язык подходящим для разработки замысловатых моделей и предсказательных движков, которые можно напрямую внедрять в продакшен-системы.

Одно из самых больших преимуществ Python – широкий спектр библиотек.

Библиотеки представляют собой наборы подпрограмм и функций, написанных на данном языке. Хороший комплект библиотек может облегчить осуществление сложных задач без необходимости написания многих строк кода.

Машинное обучение во многом основано на математике. В частности, на математической оптимизации, статистике и теории вероятности. Библиотеки Python помогают исследователям / математикам «заниматься машинным обучением», даже не имея значительных познаний в разработке.

Ниже представлены несколько библиотек, которые широко используются в машинном обучении.

Scikit-learn для работы с классическими алгоритмами машинного обучения

Scikit learn

Scikit-learn это одна из самых популярных библиотек машинного обучения. Она поддерживает много контролируемых и неконтролируемых алгоритмов обучения. Например, линейные и логистические регрессии, деревья принятия решений, кластеризацию, k-means и т. д.

Она создана на основе двух главных библиотек Python – NumPy и SciPy. В Scikit-learn добавлен набор алгоритмов для распространенных задач машинного обучения и добычи данных, включая кластеризацию, регрессию и классификацию. Даже такие задачи как преобразование данных и выбор функций могут быть реализованы с помощью всего нескольких строк.

Для людей, только начинающих работать в сфере машинного обучения, Scikit-learn является более чем достаточным инструментом. Его вполне будет хватать до того времени, как вы начнете реализовывать более сложные алгоритмы.

Tensorflow для глубокого обучения

Tensorflow

Если вы занимаетесь машинным обучением, то наверняка испытывали, реализовывали или хотя бы слышали о некоторых формах алгоритма глубокого обучения. Являются ли они необходимыми? Не всегда. Классные ли они, если сделаны правильно? Да!

Касательно Tensorflow любопытно то, что при написании программы на Python можно компилировать и запускать программу как на CPU, так и на GPU. Таким образом для запуска на GPU вам не приходится писать на C++ или на уровне CUDA.

Библиотека использует систему многоуровневых узлов, которая позволяет вам быстро настраивать, обучать и развертывать искусственные нейронные сети с большими наборами данных. Именно это позволяет Google определять предметы на фотографиях и понимать произносимые слова в приложениях для распознавания устной речи.

Theano – также для глубокого обучения

Theano

Theano это еще одна хорошая библиотека Python для алгоритма числового расчета, похожая на NumPy. Она позволяет вам эффективно определять, оптимизировать и вычислять математические выражения, содержащие многомерные массивы.

Выделяет эту библиотеку использование преимуществ GPU компьютера. Это позволяет ей производить вычисления с большими объемами данных в сто раз быстрее, чем при запуске только на CPU. Скорость Theano особенно ценна для глубокого обучения и других задач, связанных со сложными вычислениями.

Последний релиз библиотеки Theano вышел в прошлом, 2017 году. Это версия 1.0.0 со множеством новых функций, изменениями интерфейса и прочими улучшениями.

Pandas для извлечения и подготовки данных

Pandas это очень популярная библиотека, предоставляющая высокоуровневые структуры данных, простые в использовании и интуитивно понятные.

В ней есть много встроенных методов для группировки, комбинирования данных и их фильтрации, а также анализа временных рядов.

Pandas может с легкостью извлекать данные из различных источников, таких как базы данных SQL, файлы CSV, Excel, JSON, и манипулировать этими данными для осуществления операций с ними.

Matplotlib для визуализации данных

Matplotlib
Image source: https://github.com/nschloe/matplotlib2tikz

Самое лучшее и замысловатое машинное обучение бессмысленно, если вы не можете рассказать о нем другим людям.

Как же извлекать пользу из всех имеющихся у вас данных? Как вдохновлять бизнес-аналитиков и рассказывать им истории, полные «озарений»?

В этом вам поможет Matplotlib. Это стандартная библиотека Python, которую используют для создания графиков все люди, занимающиеся наукой о данных. Она достаточно низкоуровневая, а значит, требует больше команд для генерации хорошо выглядящих графиков и фигур, чем более продвинутые библиотеки.

С другой стороны, она гибкая. Оперируя достаточным количеством команд, вы сможете создать практически любой график. Вы можете строить разнообразные диаграммы, от гистограмм и диаграмм рассеяния до графиков с не-декартовыми координатами.

Эта библиотека поддерживает GUI-бэкенд во всех операционных системах, а также может экспортировать графики в распространенных форматах (PDF, SVG, JPG, PNG, BMP, GIF).

Seaborn – еще одна библиотека для визуализации данных

Seaborn
Image source: seaborn.pydata.org/

Seaborn это популярная библиотека визуализации, которая строит графики на основе Matplotlib. Это библиотека более высокого уровня, а значит, с ее помощью проще генерировать определенные виды графиков, в том числе тепловые карты, временные ряды и скрипичные графики.

Заключение

Это коллекция самых важных библиотек Python для машинного обучения. Если вы планируете работать с Python и/или в сфере науки о данных, стоит обратить на них внимание и познакомиться с ними поближе.

Если считаете, что в этом списке должны быть и другие библиотеки – поделитесь в комментариях!


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх