15 библиотек Python, которые должен знать Data Scientist

Сбор данных, очистка, преобразование, визуализация, моделирование, распознавание аудио / изображений и веб-связь

Если вы Data Scientist, Data Analyst или просто энтузиаст, вы не должны пропустить некоторые чрезвычайно популярные и полезные библиотеки для Python.

В этой статье будут кратко представлены 15 библиотек Python. Я считаю, что с большинством из них вы, возможно, уже знакомы, но если нет, то настоятельно рекомендую обратить на них внимание.

Эти библиотеки будут классифицированы по нескольким категориям:

  • Сбор данных (Data Gathering);
  • Очистка и преобразование данных (Data Cleansing and Transformation);
  • Визуализация данных (Data Visualisation);
  • Моделирование данных (Data Modelling);
  • Распознавание аудио и изображений (Audio and Image Recognition);
  • Web.

Сбор данных

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

1. Скрап / Scrapy

https://scrapy.org/

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

Типичное использование состоит в том, чтобы идентифицировать образец интересной информации, появляющейся на веб-страницах, как с точки зрения шаблонов URL, так и шаблонов XPath. После определения этих шаблонов Scrapy может помочь вам автоматически извлечь всю необходимую информацию и упорядочить ее в структуру данных, такую ​​как таблица и JSON.

Вы можете легко установить Scrapy используя pip

pip install scrapy

2. Beautiful Soup

https://www.crummy.com/software/BeautifulSoup/#Download

Beautiful Soup — это еще одна библиотека Python для очистки веб-контента. Общепринято, что он имеет относительно более короткую кривую обучения по сравнению с Scrapy.

Кроме того, Beautiful Soup будет лучшим выбором для относительно небольших по масштабам задач и / или для разовой работы. В отличие от Scrapy, когда вам нужно разработать собственный «паук» и вернуться к командной строке и запустить его, Beautiful Soup позволяет импортировать его функции и использовать их в режиме онлайн. Поэтому вы даже можете использовать его в своих ноутбуках Jupyter.

3. Selenium

https://www.selenium.dev/selenium/docs/api/py/index.html

Изначально Selenium разрабатывался как автоматизированная среда веб-тестирования. Однако разработчики обнаружили, что его довольно удобно использовать в качестве веб-скребка.

Селен обычно используется, когда вам нужно получить интересующие данные после взаимодействия с веб-страницами. Например, вам может потребоваться зарегистрировать учетную запись, затем войти в систему и получить содержимое после нажатия некоторых кнопок и ссылок, и эти ссылки определяются как функции JavaScript. В этих случаях обычно нелегко использовать Scrapy или Beautiful Soup для реализации, а Selenium может.

Тем не менее, важно отметить, что Selenium будет работать намного медленнее, чем обычные библиотеки. Это потому, что он фактически инициализирует веб-браузер, такой как Chrome, а затем имитирует все действия, определенные в коде.

Поэтому, когда вы имеете дело с шаблонами URL и XPath, используйте Scrapy или Beautiful Soup. Выбирайте Selenium, только если это необходимо.

Очистка и преобразование данных

Я предполагаю, что нет необходимости утверждать, насколько важны очистка и преобразование данных в аналитике данных и науке о данных. Кроме того, есть слишком много выдающихся библиотек Python, которые делают это хорошо. Я подберу некоторые из них, которые вы должны знать как Data Scientist или Analyst.

4. Pandas

https://pandas.pydata.org/

Я почти уверен, что перечислять Панд в этом списке нет необходимости. Пока вы имеете дело с данными, вы должны были использовать Панд.

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

Не нужно слишком много слов. Если вы хотите изучать Python, это библиотека, которую нужно учить.

5. Numpy

https://numpy.org/

Точно так же Numpy — это еще одна обязательная для изучения библиотека для пользователей языка Python, даже не только для ученых и аналитиков данных.

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

Я полагаю, что многие Data Scientist начнут там скрипты Python следующим образом

import numpy as np
import pandas as pd

Итак, несомненно, что эти две библиотеки, вероятно, самые популярные в сообществе Python.

6. Просторность

https://spacy.io/

Spacy, вероятно, не так знаменит, как предыдущие. В то время как Numpy и Pandas являются библиотеками, работающими с числовыми и структурированными данными, Spacy помогает нам преобразовывать свободный текст в структурированные данные.

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

Кроме того, Spacy поддерживает множество различных человеческих языков. На его официальном сайте заявлено, что он поддерживает более 55.

Визуализация данных

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

7. Matplotlib

https://matplotlib.org/

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

Я написал еще одну статью, чтобы представить Matplotlib. Проверьте это, если вы хотите узнать больше об этом.

8. Plotly

https://plotly.com/

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

Независимо от того, хотите ли вы построить трехмерный поверхностный график, точечный график на основе карты или интерактивный анимированный график, Plotly может выполнить требования в короткие сроки.

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

Моделирование данных

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

9. Scikit Learn

https://scikit-learn.org/

Прежде чем погрузиться в «глубокое обучение», Scikit Learn должна стать библиотекой Python, с которой вы начнете свой путь в машинном обучении.

Scikit Learn имеет 6 основных модулей, которые делают

  • Предварительная обработка данных
  • Уменьшение размеров
  • регрессия
  • классификация
  • Кластеризация
  • Выбор модели

Я уверен, что Data Scientist, который прибил Scikit Learn, уже должен считаться хорошим Data Scientist.

10. PyTorch

https://pytorch.org/

PyTorch создан Facebook и имеет открытый исходный код как фреймворк взаимного машинного обучения для Python.

По сравнению с Tensorflow, PyTorch более «питоничен» с точки зрения синтаксиса. что также сделало PyTorch немного легче в освоении и использовании.

Наконец, в качестве библиотеки для углубленного изучения PyTorch имеет очень богатый API и встроенные функции, помогающие ученым быстро обучать своим моделям глубокого обучения.

11. Tensorflow

https://www.tensorflow.org/

Tensorflow — еще одна библиотека машинного обучения для Python, созданная Google.

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

Распознавание аудио и изображений

Машинное обучение не только по цифрам, но также может помочь с аудио и изображениями (видео рассматривается как серия кадров). Поэтому, когда мы имеем дело с этими мультимедийными данными, этих библиотек машинного обучения будет недостаточно. Вот некоторые популярные библиотеки распознавания аудио и изображений для Python.

12. Librosa

https://librosa.github.io/librosa/

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

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

13. OpenCV

https://opencv.org/

OpenCV — наиболее широко используемая библиотека для распознавания изображений и видео. Не будет преувеличением сказать, что OpenCV позволяет Python заменить Matlab с точки зрения распознавания изображений и видео.

Он предоставляет различные API и поддерживает не только Python, но также Java и Matlab, а также выдающуюся производительность, которая заслуживает высокой оценки как в отрасли, так и в научных исследованиях.

Web

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

14. Джанго — Django

https://www.djangoproject.com/

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

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

15. Flask

https://flask.palletsprojects.com/

Flask — это облегченная среда веб-разработки на Python. Наиболее ценной особенностью является то, что он может быть легко настроен с любыми конкретными требованиями очень легко и гибко.

Многие другие известные библиотеки и инструменты Python, которые предоставляют веб-интерфейс, созданы с использованием Flask, например, Plotly Dash и Airflow, благодаря облегченной функции Flask.

Вывод

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

5 2 голоса
Рейтинг статьи
Шамаев Иван
Разработчик аналитических решений QlikView/Qlik Sense/Power BI; Python Data Scientist; Разработчик интеграционных решений на PHP, Python, JavaScript.
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x