Какой набор библиотек python считается базовым для анализа данных
Перейти к содержимому

Какой набор библиотек python считается базовым для анализа данных

  • автор:

Python-пакеты для Data Science

Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуется такой популярностью среди программистов. Можно наугад назвать какую-нибудь сферу деятельности и в экосистеме Python, почти гарантированно, найдутся отличные инструменты для решения специфических задач из этой сферы. В наше время весьма востребованы наука о данных (Data Science, DS) и машинное обучение (Machine Learning, ML). И там и там Python показывает себя наилучшим образом.

Помимо Python в DS-проектах часто используют язык программирования R. R быстрее Python и имеет больше статистических и вычислительных библиотек. Но в этом материале мы будем говорить исключительно о библиотеках (пакетах) для Python, о которых стоит знать каждому, кто хочет добраться до профессиональных вершин Data Science.

Прежде чем переходить к обзору библиотек, остановимся на том, что это такое — «наука о данных», и на том, почему в этой сфере стоит пользоваться языком Python.

Обзор Data Science

В наши дни данные в бизнесе ценятся буквально на вес золота. Мы живём во времена больших данных, каждую секунду в мире появляются огромные объёмы информации. Крупные организации пользуются этими данными ради укрепления и расширения своего бизнеса.

Применяя DS и другие подобных технологии, мы извлекаем из данных ценные сведения, которые позволяют решать сложные реальные задачи и строить прогнозные модели. Data Science — это не инструмент или технология. Это — навык, который можно развить, освоив некоторые инструменты и программные пакеты.

Почему Python используется в сфере Data Science?

Python считается одним из ведущих языков программирования, используемых для построения DS- и ML-моделей.

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

▍Простота изучения

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

▍Для решения сложных задач требуется писать сравнительно небольшие объёмы кода

Алгоритмы из сфер DS и ML весьма сложны. Поэтому для их реализации желательно использовать такой язык программирования, который позволяет кратко и ёмко выражать идеи разработчика. Python, благодаря его синтаксису и чёткой структуре кода, отлично подходит для решения подобных задач. Это помогает программистам создавать компактные и мощные программы.

▍Библиотеки

Главные ресурсы Python-программиста — это дополнительные библиотеки. Создано множество Python-пакетов, ориентированных на сферу Data Science. В них имеются реализации сложных алгоритмов, что позволяет тем, кому нужны эти алгоритмы, не писать код с нуля.

▍Кроссплатформенность

Python-программы могут работать на различных платформах. В частности — на Windows, Linux, macOS. Код, написанный для некоей платформы, может, без изменений, запускаться на других платформах.

▍Большое сообщество

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

Python-пакеты для Data Science

Мы поговорили о том, что такое Data Science, и о том, почему Python популярен в этой сфере. Теперь давайте рассмотрим некоторые полезные Python-пакеты. В частности, речь пойдёт о следующих пакетах:

  1. NumPy
  2. SciPy
  3. Pandas
  4. StatsModels
  5. Matplotlib
  6. Seaborn
  7. Plotly
  8. Bokeh
  9. Scikit-Learn
  10. Keras

▍1. NumPy

NumPy — это один из самых широко используемых Python-пакетов. Название пакета, NumPy, расшифровывается как Numerical Python. Здесь реализовано множество вычислительных механизмов, пакет поддерживает специализированные структуры данных, в том числе — одномерные и многомерные массивы, значительно расширяющие возможности Python по выполнению различных вычислений. Возможности структур данных, которые поддерживает Python, уступают возможностям структур данных NumPy.

Особенности NumPy
  • Пакет можно использовать как для выполнения простых, так и достаточно сложных научных расчётов.
  • Он поддерживает многомерные массивы, расширяя возможности Python.
  • В пакете имеется множество встроенных методов, которые можно применять для выполнения различных вычислений на многомерных массивах.
  • Пакет позволяет выполнять различные преобразования данных.
  • Пакет поддерживает работу не только с числовыми, но и с другими типами данных.

▍2. SciPy

Пакет SciPy построен на основе NumPy, в нём используются и некоторые другие вспомогательные пакеты. Он широко используется для выполнения статистических расчётов. В SciPy можно работать с теми же данными, что и в NumPy. Поэтому SciPy часто используют для решения задач, которые нельзя решить с использованием стандартных механизмов NumPy. SkiPy — это инструмент, которому доверяет огромное количество учёных во всём мире.

Особенности SciPy
  • Пакет SciPy основан на NumPy.
  • Он поддерживает вычисления, основанные на эффективных структурах данных NumPy.
  • Этот пакет, помимо возможностей NumPy, задействует и возможности других пакетов.
  • SciPy представляет собой набор подпакетов, в которых реализованы различные вычислительные механизмы. Среди них, например, подпакеты, реализующие быстрое преобразование Фурье, обработку изображений, решение дифференциальных уравнений, механизмы линейной алгебры.

▍3. Pandas

Pandas — это, после NumPy, второй по известности Python-пакет, используемый в Data Science. Его применяют в самых разных местах, например, в сферах статистики, финансов, экономики, анализа данных. Он основан на NumPy, в частности, поддерживает преобразование структур данных NumPy в собственные структуры данных и обратные преобразования. Пакет Pandas часто используют для обработки больших объёмов данных. В ходе обработки данных Pandas прибегает к некоторым возможностям NumPy, в нём применимы и возможности SciPy, например, средства проведения статистических вычислений. Фактически, для проведения DS-вычислений обычно используются все три пакета — Pandas, NumPy и SciPy.

Особенности Pandas
  • Он поддерживает объект DataFrame, предназначенный для работы с индексированными массивами.
  • Этот пакет является одним из лучших инструментов для исследования данных.
  • Его можно использовать для работы с большими наборами данных. В частности, речь идёт о слиянии и объединении наборов данных, о создании срезов данных, о группировке данных, об их визуализации.
  • Пакет может работать с различными источниками данных. Например — с CSV- и TSV-файлами, с базами данных.

▍4. StatsModels

Пает StatsModels основан на пакетах NumPy и SciPy. Он широко используется для анализа данных, для создания статистических моделей, для выполнения статистических исследований. Данный пакет весьма популярен благодаря своим возможностям в сфере статистических вычислений. Он хорошо интегрируется, например, с Pandas. В других подобных пакетах, в SciPy, например, выполнять статистические вычисления достаточно сложно. StatsModels упрощает решение подобных задач.

Особенности StatsModels
  • Многие дата-сайентисты используют этот пакет для проведения статистических вычислений.
  • В его состав входят некоторые методы, которые знакомы тем, кто пользуется языком R.
  • С его помощью создают и исследуют, например, обобщённые линейные модели, он позволяет проводить одномерный и двумерный анализ данных, применяется для проверки гипотез.

▍5. Matplotlib

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

Этот пакет может работать вместе с другими Python-пакетами, вроде уже известных нам NumPy и SciPy. Он, кроме того, поддерживает API, который позволяет встраивать создаваемые им графические объекты в различные приложения.

Особенности Matplotlib
  • С помощью этого пакета можно очень просто и удобно строить различные графики и диаграммы.
  • Графические представления данных, создаваемые этим пакетом, поддаются глубокой настройке.
  • Он поддерживает объектно-ориентированный API, позволяющий интегрировать его в различные приложения.

▍6. Seaborn

Seaborn — это расширение для Matplotlib, которое направлено на то, чтобы сделать графики Matplotlib привлекательнее и упростить создание сложных визуализаций. Этот пакет, кроме того, содержит API, направленный на изучение взаимоотношений между переменными. В целом, Seaborn можно назвать «улучшенным Matplotlib».

Особенности Seaborn
  • Встроенные возможности исследования данных.
  • Поддержка различных форматов данных.
  • Он умеет строить графики моделей линейной регрессии.
  • Его используют для создания сложных визуализаций.
  • Он поддерживает различные способы настройки внешнего вида графиков.

▍7. Plotly

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

Особенности Plotly
  • Этот пакет поддерживает все необходимые дата-сайентисту виды графиков. Среди них — линейные диаграммы, круговые диаграммы, пузырьковые диаграммы, точечные диаграммы, древовидные диаграммы.
  • Он, кроме того, поддерживает специфические виды диаграмм, используемые в статистике и науке.
  • Пакет поддерживает трёхмерные визуализации.
  • Он экспортирует данные в формат JSON, подходящий для использования в других приложениях.

▍8. Bokeh

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

Особенности Bokeh
  • Поддерживает визуализацию наборов данных, которые обычно используются в статистике и науке.
  • Поддерживает различные форматы выходных данных.
  • Существуют версии Bokeh для разных языков программирования.
  • Пакет хорошо интегрируется с такими Python-фреймворками, как Django и Flask.

▍9. Scikit-Learn

Scikit-Learn — это Python-пакет для машинного обучения. Он включает в себя практически всё, что нужно дата-сайентисту. Этот проект появился на мероприятии Google Summer of Code. В нём имеются различные встроенные модули, которые дают возможность работать с множеством популярных алгоритмов машинного обучения. Это, например, алгоритм «случайный лес», алгоритм спектральной кластеризации, алгоритм кросс-валидации, метод k-средних и многие другие. Этот пакет можно использовать для создания моделей машинного обучения с учителем и без учителя.

Особенности Scikit-Learn
  • На основе этого пакета можно создавать спам-детекторы и системы классификации изображений.
  • Поддерживает различные алгоритмы регрессии.
  • Позволяет создавать модели машинного обучения с учителем и без учителя.
  • Поддерживает механизмы кросс-валидации для оценки моделей.

▍10. Keras

Keras — это пакет, реализующий механизмы глубокого обучения (Deep Learning, DL), который широко используется при создании нейросетевых моделей. Это — одна из самых мощных опенсорсных Python-библиотек, которая способна работать с самыми разными видами данных, например — с текстами и с изображениями. Существуют и другие надёжные DL-решения, предназначенные для Python-разработчиков, но Keras выгодно отличается от них тем, что упрощает работу со сложными моделями глубокого обучения.

Особенности Keras
  • Поддерживает широкий набор нейросетевых моделей.
  • Содержит встроенные средства для работы с изображениями.
  • Поддерживает популярные алгоритмы глубокого обучения.
  • Отличается высоким уровнем расширяемости, что позволяет, при необходимости, оснащать его новым функционалом.

Итоги

Все Python-пакеты, о которых мы рассказали, пользуются серьёзной популярностью в среде дата-сайентистов. Есть, конечно, и другие подобные библиотеки. И вам, если вы хотите построить карьеру в сфере Data Science, понадобится разобраться со многими из них, а не только с теми, о которых мы говорили сегодня.

Pandas

Daria Sidorova

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

Библиотека Pandas позволяет загружать, очищать и обрабатывать данные. Для этих целей подойдут и такие альтернативы, как SQL, но Pandas намного проще и удобнее.

  • Установить библиотеку и узнать о ней подробнее можно здесь.

Numpy

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

  • Установить Numpy и изучить ее подробнее можно здесь.

SciKitLearn

Эта библиотека представляет собой набор инструментов для большинства типов моделей машинного обучения. Если вы работаете над проектом по МО, скорее всего, вам пригодится SciKitLearn.

    можно узнать подробную информацию об этой библиотеке и установить ее.

Keras и PyTorch

В науке о данных и МО популярны такие модели, как простые и глубокие нейронные сети. Они используются для разработки технологий компьютерного зрения и обработки естественного языка. Некоторые библиотеки Python предоставляют инструменты, необходимые для создания нейронных сетей.

Самый популярный из них — TensorFlow — может оказаться довольно трудным для новичков. Поэтому начать изучение лучше с Keras, интерфейса (API) для Tensorflow, который упрощает тестирование различных архитектур нейронных сетей и даже позволяет создавать собственные. В последнее время также набирает популярность PyTorch.

  • Изучить и установить эти инструменты можно по ссылкам: Keras и PyTorch.

Requests

Большинство современных приложений, связанных с данными, работают с API (Application Programming Interface — интерфейс программирования приложений). Простыми словами, с его помощью можно запросить у сервера приложений доступ к базе данных или попросить его выполнить какую-либо задачу. Например, вы предоставляете API Карты Google два местоположения, а он возвращает продолжительность поездки между ними.

Библиотека Requests предназначена для связи с API и пригодится любому специалисту по данным.

  • Подробности о Requests и установочный файл находятся здесь.

Plotly

Важную часть в проектах по науке о данных составляет построение различных графиков. И хотя matplotlib — самая популярная библиотека Python, предназначенная для этих целей, более профессиональным, простым и гибким вариантом является Plotly. В ней доступно огромное количество типов графиков и инструментов для отображения. Кроме того, у Plotly более приятный дизайн.

  • Изучить и установить Plotly можно здесь.

ipywidgets

Когда дело доходит до пользовательского интерфейса, разработчику часто приходится выбирать между традиционным и сетевым вариантами. Первый можно создать с помощью таких библиотек, как PyQT и TkInter. Однако в большинстве случаев лучше разрабатывать веб-приложения, работающие в браузерах. Для этого понадобится библиотека, предоставляющая набор виджетов, например ipywidgets для Jupyter Notebook.

  • Инструкция по использованию и установке ipywidgets находится здесь.

Jupyter Notebook и Voila

В завершение разберем одни из самых простых инструментов.

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

Также вам понадобится сторонний инструмент Voila, который скрывает весь код из Jupyter Notebook. При запуске проекта Jupyter Notebook через Voila он приобретает вид обычного веб-приложения. Вы также можете запустить эти инструменты через сервис AWS EC2 и получить доступ к своему продукту через интернет.

Топ-10 Python библиотек для Data Science

Изучающий data science сталкивается с огромным разнообразием возможностей. Я хочу поделиться с вами своим топом Python библиотек, которые широко используются в data science.

1. Pandas

Вы наверняка слышали, что от 70 до 80 процентов работы дата-сайентиста это исследование и подготовка данных.

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

Где учить

2. NumPy

Главное преимущество NumPy — поддержка n-размерных массивов. Эти многомерные массивы в 50 раз надёжнее списков в Python. Благодаря им, NumPy очень любят дата-сайентисты.

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

Где учить

3. Scikit-learn

Scikit-learn, это возможно самая важная библиотека для машинного обучения на Python. После очистки и манипуляций с данными в Pandas или NumPy, Scikit-learn используется для создания моделей машинного обучения. Библиотека предоставляет множество инструментов для предиктивного моделирования и анализа.

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

Где учить

4. Gradio

Gradio позволяет создавать и разворачивать веб-приложения для машинного обучения используя всего лишь несколько строк кода. Он служит тем же целям что и Streamlit, или Flask, но быстрее и проще позволяет разворачивать модели.

Основные плюсы Gradio:

    1. Даёт возможность дальнейшей валидации модели. Он позволяет проводить интерактивные тесты различных входных данных модели.
    2. Это хороший способ для проведения демонстраций.
    3. Легко запускать и распространять, потому что веб приложения доступны каждому по ссылке.

    Где учить

    5. TensorFlow

    TensorFlow — это одна из самых популярных Python библиотек для создания нейронных сетей. Она использует многомерные массивы, также известные как тензоры, которые позволяют производить несколько операций на одних входных данных.

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

    Где учить

    6. Keras

    Keras в основном применяют для создания моделей глубокого обучения и нейронных сетей. Он использует TensorFlow и Theano и позволяет легко создавать нейронные сети. Из-за того, что Keras генерирует вычислительный граф на сервере, он немного медленнее других библиотек.

    Где учить

    7. SciPy

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

    • многомерная обработка изображений;
    • решения преобразований Фурье и дифф. уравнений;
    • благодаря оптимизированным алгоритмам, он может выполнять вычисления линейной алгебры очень эффективно и с высокой надёжностью.

    8. Statsmodels

    Statsmodels это отличная библиотека для хардкорной статистики. Она вобрала в себя графические возможности и функции из Matplotlib, для обработки данных использует Pandas, для R подобных формул он использует Pasty, также она использует Numpy и SciPy.

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

    Где учить

    9. Plotly

    Plotly это мощный, легкий в использовании инструмент для создания визуализаций, который позволяет с ними взаимодействовать.

    Наряду с Plotly существует Dash, который позволяет создавать динамические дэшборды, используя визуализации Plotly. Dash это веб интерфейс для Python, который избавляет от необходимости использовать Js в аналитических веб приложениях, и позволяет запускать их онлайн и офлайн.

    Где учить

    10. Seaborn

    Seaborn — это эффективная Python библиотека для создания различных визуализаций в Data Science, использующая Matplotlib.

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

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

    Топ-10 библиотек Python для Data Science

    Уже довольно давно Python очаровывает ученых, занимающихся данными. Чем больше я взаимодействую с ресурсами, литературой, курсами, тренингами и людьми в науке о данных, тем более глубокие знания Python приобретаю. При этом, когда я только начинал развивать свои навыки Python, у меня был целый список библиотек, о которых мне предстояло узнать. И вот, через некоторое время.

    Специалисты в области Data Science точно знают о библиотеках Python, которые можно использовать в науке о данных, но когда в интервью просят назвать их или указать их функцию, мы часто попадаем впросак или, возможно, не помним более 5 библиотек (это случилось со мной: / )

    Сегодня я подготовил список из 10 библиотек Python, которые помогают в области Data Science, когда их использовать, каковы их особенности и преимущества.

    В этой статье я кратко изложил 10 наиболее полезных библиотеках Python для data scientist’ов и инженеров, основываясь на моем недавнем опыте и исследованиях. Читайте статью до конца, чтобы узнать о 4 бонусных библиотеках!

    1. Pandas

    Pandas — это пакет Python с открытым исходным кодом, который предоставляет высокоэффективные, простые в использовании структуры данных и инструменты анализа для помеченных данных на языке программирования Python. Pandas расшифровывается как библиотека анализа данных Python. Кто-нибудь знал об этом?

    Когда использовать? Pandas — это идеальный инструмент для обработки данных. Он предназначен для быстрой и простой обработки данных, чтения, агрегирования и визуализации.

    Pandas берет данные в файле CSV или TSV или базу данных SQL и создает объект Python со строками и столбцами, который называется фреймом данных. Фрейм данных очень похож на таблицу в статистическом программном обеспечении, скажем, в Excel или SPSS.

    Что можно делать с помощью Pandas?

    1. Индексирование, манипулирование, переименование, сортировка, объединение фрейма данных;

    2. Обновить, добавить, удалить столбцы из фрейма данных;

    3. Восстановить недостающие файлы, обработать недостающие данные или NAN;

    4. Построить гистограмму или прямоугольную диаграмму.

    Это делает Pandas фундаментальной библиотекой в ​​изучении Python для Data Science. Если вам интересно узнать 10 приемов Python Pandas, которые сделают вашу работу более эффективной, читайте нашу статью.

    2. NumPy

    NumPy — один из самых фундаментальных пакетов в Python — универсальный пакет для обработки массивов. Он предоставляет высокопроизводительные объекты многомерных массивов и инструменты для работы с массивами. NumPy — это эффективный контейнер универсальных многомерных данных.

    Основной объект NumPy — это однородный многомерный массив. Это таблица элементов или чисел одного и того же типа данных, проиндексированная набором натуральных чисел. В NumPy размеры называются осями, а число осей называется рангом. Класс массива NumPy называется ndarray, он же array.

    Когда использовать? NumPy используется для обработки массивов, в которых хранятся значения одного и того же типа данных. NumPy облегчает математические операции над массивами и их векторизацию. Это значительно повышает производительность и, соответственно, ускоряет время выполнения.

    Что можно делать с помощью NumPy?

    1. Основные операции с массивами: добавление, умножение, срез, выравнивание, изменение формы, индексирование массивов;

    2. Расширенные операции с массивами: стековые массивы, разбиение на секции, широковещательные массивы;

    3. Работа с DateTime или линейной алгеброй;

    4. Основные нарезки и расширенное индексирование в NumPy Python.

    О 4 приемах Python NumPy, которые должен знать каждый новичок, читайте здесь.

    3. SciPy

    Библиотека SciPy является одним из ключевых пакетов, которые составляют стек SciPy. Теперь есть разница между SciPy Stack и библиотекой SciPy. SciPy основывается на объекте массива NumPy и является частью стека, который включает в себя такие инструменты, как Matplotlib, Pandas и SymPy с дополнительными инструментами.

    Библиотека SciPy содержит модули для эффективных математических процедур, таких как линейная алгебра, интерполяция, оптимизация, интеграция и статистика. Основной функционал библиотеки SciPy построен на NumPy и его массивах.

    Когда использовать? SciPy использует массивы в качестве базовой структуры данных. Он имеет различные модули для выполнения общих задач научного программирования, таких как линейная алгебра, интеграция, матанализ, обыкновенные дифференциальные уравнения и обработка сигналов.

    Что можно делать с помощью SciPy?

    1. Математические, научные, инженерные вычисления;

    2. Процедуры численной интеграции и оптимизации;

    3. Поиск минимумов и максимумов функций;

    4. Вычисление интегралов функции;

    5. Поддержка специальных функций;

    6. Работа с генетическими алгоритмами;

    7. Решение обыкновенных дифференциальных уравнений.

    4. Matplotlib

    Это, несомненно, моя любимая и основная библиотека Python. Вы можете создавать истории с данными, визуализированными с помощью Matplotlib. Еще одна библиотека из стека SciPy — Matplotlib — строит 2D-фигуры.

    Когда использовать? Matplotlib — это библиотека Python, предоставляющая API для встраивания графиков в приложения. Очень напоминает MATLAB, встроенный в язык программирования Python.

    Что можно делать с помощью Matplotlib?

    Гистограммы, столбцовые диаграммы, точечные диаграммы, круговые диаграммы — Matplotlib может отображать широкий спектр визуализаций. Приложив немного усилий, с Matplotlib, вы можете создавать любые визуализации:

    1. Линейные диаграммы;

    2. Точечные диаграммы;

    3. Диаграммы с областями;

    4. Столбцовые диаграммы и гистограммы;

    5. Круговые диаграммы;

    6. Диаграммы «стебель-листья»;

    7. Контурные графики;

    8. Поля векторов;

    Matplotlib также облегчает использование меток, сеток, легенд и некоторых других объектов форматирования. В общем, речь идет обо всем, что можно нарисовать!

    5. Seaborn

    Итак, когда вы читаете официальную документацию по Seaborn, она определяется как библиотека визуализации данных на основе Matplotlib, предоставляющем высокоуровневый интерфейс для изображения интересных и информативных статистических графиков. Проще говоря, seaborn — это расширение Matplotlib с дополнительными возможностями.

    Так в чем разница между Matplotlib и Seaborn? Matplotlib используется для основного построения столбцовых, круговых, линейных, точечных диаграмм и пр., в то время как Seaborn предоставляет множество шаблонов визуализации с меньшим количеством синтаксических правил, причем более простых.

    Что можно делать с помощью Seaborn?

    1. Определять отношения между несколькими переменными (корреляция);

    2. Соблюдать качественные переменные для агрегированных статистических данных;

    3. Анализировать одномерные или двумерные распределения и сравнивать их между различными подмножествами данных;

    4. Построить модели линейной регрессии для зависимых переменных;

    5. Обеспечить многоуровневые абстракции, многосюжетные сетки.

    Seaborn — это отличный вариант для библиотек визуализации R, таких как corrplot и ggplot.

    6. Scikit Learn

    Scikit Learn, представленный миру как проект Google Summer of Code, представляет собой надежную библиотеку машинного обучения для Python. Он включает в себя алгоритмы ML, такие как SVM, random forests, k-means кластеризацию, спектральную кластеризацию, сдвиг среднего значения, перекрестную проверку и многие другие. Даже NumPy, SciPy и связанные с ними научные операции поддерживаются Scikit Learn, при этом Scikit Learn является частью SciPy Stack.

    Когда использовать? Scikit-learn предоставляет ряд контролируемых и неконтролируемых алгоритмов обучения через согласованный интерфейс в Python. Scikit learn будет вашим руководством для того, чтобы модели контролируемого обучения, такие как Naive Bayes, группировали непомеченные данные, такие как KMeans.

    Что можно делать с помощью Scikit Learn?

    1. Классификация: обнаружение спама, распознавание изображений;

    2. Кластеризация: воздействия лекарственных препаратов, цена акций;

    3. Регрессия: сегментация клиентов, группировка результатов эксперимента;

    4. Уменьшение размерности: визуализация, повышенная эффективность;

    5. Выбор модели: повышенная точность благодаря настройке параметров;

    6. Предварительная обработка: подготовка входных данных в виде текста для обработки с помощью алгоритмов машинного обучения.

    Scikit Learn фокусируется на моделировании данных; не манипулировании данными. Для обобщения и манипуляции у нас есть NumPy и Pandas.

    7. TensorFlow

    Еще в 2017 году я получил TensorFlow USB в знак признательности за то, что был потрясающим докладчиком на мероприятии Google WTM, хаха. На USB был загружен официальный документ о TensorFlow. Не имея представления о том, что такое TensorFlow, я его погуглил.

    TensorFlow — это библиотека AI, которая помогает разработчикам создавать крупномасштабные нейронные сети со многими слоями, используя графики потоков данных. TensorFlow также облегчает построение моделей глубокого обучения, продвигает современную технологию ML / AI и позволяет легко развертывать приложения на базе ML.

    Одним из наиболее развитых веб-сайтов среди всех библиотек является TensorFlow. Гиганты, такие как Google, Coca-Cola, Airbnb, Twitter, Intel, DeepMind, все используют TensorFlow!

    Когда использовать? TensorFlow достаточно эффективен, когда дело доходит до классификации, восприятия, понимания, обнаружения, прогнозирования и создания данных.

    Что можно делать с помощью TensorFlow?

    1. Распознавание голоса / звука — IoT, автомобильная промышленность, безопасность, UX/UI, телекоммуникации;

    2. Анализ настроений — в основном для CRM или CX;

    3. Текстовые Приложения — Обнаружение угроз, Google Translate, Gmail Smart Reply;

    4. Распознавание лиц — Facebook’s Deep Face, Photo tagging, Smart Unlock;

    5. Временной ряд — рекомендации от Amazon, Google и Netflix;

    6. Обнаружение видео — обнаружение движения, обнаружение угроз в реальном времени в играх, безопасности, аэропортах.

    Более подробно о TensorFlow рассказываем в статье.

    8. Keras

    Keras — это высокоуровневый API TensorFlow для создания и обучения кода глубоких нейронных сетей. Это библиотека нейронных сетей с открытым исходным кодом на Python. С Keras статистическое моделирование, работа с изображениями и текстом намного легче с упрощенным кодированием для глубокого обучения.

    В чем разница между Keras и TensorFlow?

    Keras — это нейросетевая библиотека, написанная на языке Python, а TensorFlow — это библиотека с открытым исходным кодом для различных задач машинного обучения. TensorFlow предоставляет как высокоуровневые, так и низкоуровневые API, в то время как Keras предоставляет только высокоуровневые API. Keras создан для Python и делает его более удобным, модульным и компонуемым, чем TensorFlow.

    Что можно делать с помощью Keras?

    1. Определить процентную точность;

    2. Функция вычисления потерь;

    3. Создать пользовательские функциональные слои;

    4. Встроенные функции обработки данных и изображений;

    5. Функции с повторяющимися блоками кода: глубиной 20, 50, 100 слоев.

    9. Statsmodels

    Когда я сначала изучил R, проведение статистических тестов и исследование статистических данных казались мне самым простым в R и я избегал Python для статистического анализа до тех пор, пока я не изучил Statsmodels в Python.

    Когда использовать? Statsmodels — это универсальный пакет Python, который обеспечивает простые вычисления для описательной статистики и оценки и формирования статистических моделей.

    Что можно делать с помощью Statsmodels?

    1. Линейная регрессия;

    3. Метод наименьшего квадрата (OLS);

    4. Анализ выживания;

    5. Обобщенные линейные модели и байесовская модель;

    6. Однофакторный и двухфакторный анализ, проверка гипотез (в основном, что может сделать R!).

    10. Plotly

    Plotly — это типичная графическая библиотека для Python. Пользователи могут импортировать, копировать, вставлять или передавать данные, которые должны быть проанализированы и визуализированы. Plotly предлагает изолированную версию Python (где вы можете запустить Python, ограниченный в своих возможностях). Теперь осталось понять, что значит ограниченная версия, но я точно знаю, что Plotly облегчает задачу!

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

    Что можно делать с помощью Plotly?

    Библиотека графиков Plotly имеет широкий спектр графиков, которые вы можете построить:

    1. Основные диаграммы: линейные, круговые, точечные, пузырьковые, Ганта, санбёрст, древовидные, санкей, графики с областями;

    2. Статистические стили и стили Seaborn: ошибки, гистограммы, диаграммы Facet и Trellis, деревообразные графики, графики-скрипки, линии тренда;

    3. Научные карты: контур, троичный сюжет, логарифмический график, поля векторов, ковровый график (Carpet plot), радарчарт, тепловые карты Роза ветров и Полярный сюжет;

    4. Финансовые графики;

    8. Взаимодействие Jupyter Widgets.

    Plotly это типичная библиотека графиков. Подумайте о визуализации и Plotly сделает это!

    Итак, мы изучили путеводитель по топ 10 библиотекам Python для науки о данных, а теперь рассмотрим наши 4 бонусные библиотеки!

    1. SpaСy

    SpaCy — это библиотека с открытым исходным кодом, используемая для продвинутого NLP для Python и Cython (язык программирования Python, обеспечивающий ощущение и производительность в стиле C с кодом Python, а также синтаксис на основе C).

    2. Bokeh

    Bokeh — это библиотека Python, которую я бы назвал интерактивной визуализацией данных. С такими инструментами, как Tableau, QlikView или PowerBI, зачем нам Bokeh? Во-первых, Bokeh позволяет очень быстро строить сложные статистические графики с помощью простых команд. Он поддерживает вывод HTML, блокнота или сервера. Во-вторых, можно интегрировать визуализацию Bokeh в приложения Flask и Django или визуализации, написанные в других библиотеках, таких как matplotlib, seaborn, ggplot.

    3. Gensim

    Gensim — это то, что, по моему мнению, сильно отличается от того, что мы встречали до этого. Он автоматически извлекает семантические темы из документов без труда и с высокой эффективностью. Алгоритмы Gensim не контролируются, это означает, что никакой человеческий ввод не требуется — просто текстовые документы, и затем выполняется извлечение.

    4. NLTK

    NLTK (Natural Language Toolkit) в основном работает с человеческим языком, а не с компьютерным, чтобы применять обработку естественного языка (NLP). Он содержит библиотеки обработки текста, с помощью которых вы можете выполнять токенизацию, парсинг, классификацию, выделение, тегирование и семантическое обоснование данных. На основе функционала этой библиотеки может показаться, что она повторяется, но каждая библиотека в Python была написана для повышения некоторой эффективности.

Добавить комментарий

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