eFusion 15 августа 2020

📊 11 популярных библиотек Python для Data Science

Одна из причин ценности Python для Data Science заключается в огромной коллекции библиотек анализа и визуализации данных. В этой статье мы рассмотрели самые популярные.
📊 11 популярных библиотек Python для Data Science

1. TensorFlow

<a href="https://www.tensorflow.org/" target="_blank" rel="noopener noreferrer nofollow">TensorFlow</a>
TensorFlow

Разработанный компанией Google фреймворк глубокого обучения TensorFlow, без сомнения, – популярнейший инструмент для обучения нейросетей. Google активно использует собственный фреймворк для таких крупномасштабных сервисов, как Gmail и Google Translate. TensorFlow применяют такие бренды, как Uber, Airbnb, Xiaomi, Dropbox и другие.

  • С помощью TensorFlow можно визуализировать отдельные части нейросети.
  • Модули Tensorflow можно делать автономными.
  • TensorFlow позволяет проводить обучение нейросетей и на CPU, и на GPU.
  • Конвейерный процесс обучения.
  • Большая команда постоянно работает над улучшением стабильности и новыми функциями.

2. Scikit-Learn

<a href="https://scikit-learn.org/stable/" target="_blank" rel="noopener noreferrer nofollow">Scikit-Learn</a>
Scikit-Learn

Популярная библиотека машинного обучения Scikit-Learn написана на Python, C и C++. Самый распространенный выбор для решения классических задач машинного обучения. Используется и в промышленных системах, и в научных исследованиях.

  • Широкий выбор алгоритмов обучения с учителем и без учителя.
  • Scikit-learn специализируется исключительно на алгоритмах машинного обучения. В задачи библиотеки не входит загрузка, обработка, манипуляция данными и их визуализация.
  • Большое сообщество и подробная документация.

3. NumPy

NumPy
NumPy

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

Математические алгоритмы, реализованные на интерпретируемых языках (Python), часто работают гораздо медленнее тех же алгоритмов, реализованных на компилируемых языках. Библиотека NumPy предоставляет реализации вычислительных алгоритмов, оптимизированные для работы с многомерными массивами.

4. Keras

<a href="https://keras.io/" target="_blank" rel="noopener noreferrer nofollow">Keras</a>
Keras

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

  • Отлично работает как на CPU, так и на GPU.
  • Поддерживает практически все модели нейронных сетей, которые могут быть объединены для построения более сложных моделей.
  • Платформа полностью написана на Python, то есть можно использовать стандартные инструменты отладки.

5. PyTorch

<a href="https://pytorch.org/" target="_blank" rel="noopener noreferrer nofollow">PyTorch</a>
PyTorch

PyTorch – один из лучших вариантов для работы с нейросетями, давний конкурент TensorFlow. Разрабатывается преимущественно группой искусственного интеллекта Facebook. Именно PyTorch использовался в качестве фреймворка глубокого обучения в статье Генеративно-состязательная нейросеть: ваша первая GAN-модель.

  • Простая поддержка GPU.
  • В GPU-режиме PyTorch обеспечивает качественную оптимизацию, есть рантайм-среда с API на C++.
  • Поддержка асинхронного выполнения вычислений.
  • Прямой доступ к платформам, визуализаторам и средам выполнения на базе ONNX.

6. LightGBM

<a href="https://lightgbm.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer nofollow">LightGBM</a>
LightGBM

LightGBM – это фреймворк на основе градиентного бустинга – одного из самых популярных алгоритмов в соревнованиях Kaggle. Градиентный бустинг – это техника машинного обучения для задач классификации и регрессии, которая строит модель предсказания в форме ансамбля предсказывающих моделей, обычно деревьев решений.

  • Быстрая скорость обучения и высокая эффективность.
  • Низкое потребление памяти.
  • Поддержка параллельных вычислений и расчетов на GPU.
  • Можно работать с большими объемами данных.

7. Pandas

<a href="https://pandas.pydata.org/" target="_blank" rel="noopener noreferrer nofollow">Pandas</a>
Pandas

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

8. SciPy

<a href="https://www.scipy.org/" target="_blank" rel="noopener noreferrer nofollow">SciPy</a>
SciPy

SciPy предназначена для выполнения научных и инженерных расчётов, в том числе задач машинного обучения.

  • Возможности: поиск минимумов и максимумов функций, вычисление интегралов, поддержка специальных функций, обработка сигналов и изображений, решение дифференциальных уравнений и др.
  • SciPy тесно связан с NumPy, так что NumPy-массивы поддерживаются по умолчанию.
  • Библиотека SciPy может взаимодействовать с PyTables – иерархической базой данных, разработанной для управления большими объёмами данных в файлах формата HDF5.

9. Eli5

Eli5
Eli5

Eli5 – это библиотека Python для визуализации и отладки моделей машинного обучения с помощью унифицированного API. Имеется встроенная поддержка нескольких ML-фреймворков и библиотек: упоминавшихся выше scikit-learn, Keras, LightGBM, а также XGBoost, lightning и CatBoost.

10. NLTK (Natural Language Toolkit)

NLTK
NLTK

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

11. Pillow

Pillow
Pillow

Pillow улучшенная версия библиотеки изображений PIL (Python Image Library). Поддерживает разнообразные типы файлов: PDF, WebP, PCX, PNG, JPEG, GIF, PSD, WebP, PCX, GIF, IM, EPS, ICO, BMP и другие. Есть множество инструментов фильтрации, которые можно использовать для задач компьютерного зрения.

Заключение

Мы рассмотрели подборку полезностей, которую активно используют специалисты машинного обучения, знатоки нейросетей и прочих направлений Data Science. Если вам интересна наука о данных, обратите внимание на наши публикации по тегу Data Science.

Другие материалы по библиотекам ML и DS:

Источники

Какие библиотеки Python для Data Science вы используете в своих проектах?

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ