С увеличением объема данных, которые можно найти в Интернете, Python также пережил огромный бум использования в последнее время (с 9% в 2010 году до 25% в 2020 году). Это, в свою очередь, привело к увеличению возможностей трудоустройства для специалистов по обработке данных, инженеров по машинному обучению и аналитиков данных (средняя зарплата тоже неплохая).

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

Чтобы выполнить любую задачу, основанную на науке о данных в Python, необходимо импортировать пакеты, также называемые библиотеками. Эти пакеты помогут вам эффективно достичь желаемого, облегчая вашу работу. Пакеты - это в основном Робин для вашего Бэтмена, за исключением того, что в этом случае слишком много Робинов, некоторые хорошие, некоторые отличные, некоторые…. хорошо они делают свою работу.

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

Библиотеки для математических и научных расчетов

1. NumPy

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

Его можно использовать для

  • арифметические операции
  • обработка комплексных чисел
  • экспоненциальные операции
  • тригонометрические операции

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

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

Следует отметить, что NumPy в основном имеет дело с однородными многомерными массивами.

Последняя версия: 1.19.4.

Подробнее об этой библиотеке здесь и ее функциях здесь.

2. SciPy

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

Пакет SciPy является частью стека SciPy, который состоит из таких библиотек, как NumPy, Matplotlib, Pandas, SymPy, IPython и нос.

Что касается вычислений, в SciPy есть модули, которые помогают выполнять математические процедуры, такие как:

  • линейная алгебра
  • дифференциальные уравнения
  • интеграция
  • обработка сигналов
  • статистический анализ и
  • интерполяция

эффективно.

Последняя версия: 1.5.3.

Подробнее об этой библиотеке здесь и ее функциях здесь.

3. Статистические модели

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

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

Статистические модели можно использовать для

  • модели линейной регрессии
  • многомерные расчеты
  • анализ временных рядов
  • проверка гипотезы
  • смешанная линейная модель, обобщенная линейная модель и байесовская модель

Последняя версия: 0.12.1.

Подробнее об этой библиотеке здесь и ее функциях здесь.

4. Панды

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

Pandas считается самой важной библиотекой для прикладной науки о данных с использованием Python.

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

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

Некоторые из функций, которые вы можете выполнять с помощью Pandas:

  • загрузка данных из плоских файлов (CSV и с разделителями), файлов Excel, баз данных
  • записывать / сохранять данные в вышеупомянутые типы файлов и баз данных
  • срезы на основе меток, причудливое индексирование и разбиение наборов данных на подмножества
  • слияние и объединение наборов данных
  • функциональность временных рядов

Интересный факт: Pandas означает Библиотека анализа данных Python.

Последняя версия: 1.1.4.

Подробнее об этой библиотеке здесь и ее функциях здесь.

Библиотеки для визуализации

1. Матплотлиб

Когда я впервые услышал о Matplotlib, я подумал, что он звучит как Matlab и, следовательно, будет предоставлять аналогичные функции. Что ж, я был не совсем прав. Matplotlib используется для построения графиков и диаграмм, а также является частью стека SciPy. Его также можно использовать для показа изображений.

Matplotlib - это библиотека для Python, которая предоставляет объектно-ориентированный API для встраивания графиков в приложения. Используя Matplotlib, вы можете визуализировать данные, создавать истории и представлять свои выводы в ясной и убедительной форме. Код, используемый для построения этих графиков, синтаксически похож на код в Matlab.

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

Его можно использовать для изготовления,

  • Линейные графики
  • Диаграммы разброса
  • Графики с областями
  • Гистограммы
  • Гистограммы
  • Круговые диаграммы
  • Контурные графики
  • Коробчатые графики

и многое другое !!!

Последняя версия: 3.3.2.

Подробнее об этой библиотеке здесь и ее функциях здесь.

2. Сиборн

Проще говоря, Seaborn - это Matplotlib 2.0. Он предоставляет высокоуровневый интерфейс для рисования привлекательной и информативной статистической графики и основан на Matplotlib.

Итак, в чем разница между ними, вы можете спросить ... ну, я (на самом деле эта статья) вы рассмотрели: Matplotlib в основном используется для построения основных графиков, таких как столбцы, круговые диаграммы, линии, диаграммы разброса и скоро. С другой стороны, Seaborn предоставляет множество сложных шаблонов визуализации при меньшем количестве синтаксиса.

Помимо обычных графиков (столбец, разброс, линия, площадь, круговая диаграмма и так далее), Seaborn можно использовать для создания,

  • Совместные участки распределения
  • Графики плотности
  • Факторные графики
  • Участки роя
  • Сюжеты для скрипки
  • Графики леденца на палочке

и многое другое !!

Последняя версия: 0.11.0.

Подробнее об этой библиотеке здесь и ее функциях здесь.

3. Сюжетно

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

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

Сюжет может быть использован для

  • построение базовых диаграмм (точечные, линейные, столбчатые, круговые, пузырьковые, диаграммы Ганта)
  • создание статистических диаграмм (ящичные диаграммы, гистограммы, диаграммы распределения, планки ошибок, диаграммы решеток, диаграммы скрипки)
  • построение финансовых графиков (подсвечник, водопад, воронка, OHLC)
  • создание визуализаций с использованием карт
  • подсюжеты
  • 3-D диаграммы
  • построение графиков с использованием различных преобразований (агрегирование, группировка, фильтр)
  • Взаимодействие с виджетами Jupyter

Последняя версия: 4.12.0.

Подробнее об этой библиотеке здесь и ее функциях здесь.

4. Боке.

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

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

Его приложения:

  • создание базовых графиков
  • быстро и легко создавать интерактивные графики, информационные панели и приложения для обработки данных
  • он поддерживает HTML, Jupyter Notebook или сервер
  • визуализации могут быть интегрированы в приложения Django и Flask.

Последняя версия: 2.2.3.

Подробнее об этой библиотеке здесь и ее функциях здесь.

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

1. Tensorflow

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

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

Некоторые из самых популярных применений и приложений Tensorflow:

  • Система распознавания речи
  • Обобщение текста
  • Распознавание изображений / видео и теги
  • Анализ настроений
  • Самостоятельное вождение автомобилей
  • Системы рекомендаций.

Используя Tensorflow, было создано несколько действительно крутых приложений, вот некоторые из них:

Последняя версия: 2.3.1.

Подробнее об этой библиотеке здесь и ее функциях здесь.

2. Керас

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

Поскольку Keras работает поверх Tensorflow, возникает вопрос: в чем разница между двумя библиотеками?

Во-первых, Keras не такой сложный, как Tensorflow, что делает его простым и легким в использовании. Keras также представляет собой высокоуровневый API, который работает как оболочка для Tensorflow и Theano. Если вас интересует просто создание и выполнение модели машинного обучения, Keras для вас, но если вы также хотите знать более глубокие тонкости и работу, тогда Tensorflow.

Некоторые приложения Keras:

  • Классификация изображений
  • Извлечение функций
  • Точная настройка и расчет потерь

Последняя версия: 2.4.3.

Подробнее об этой библиотеке здесь и ее функциях здесь.

3. Scikit-Learn

Scipy - это бесплатная библиотека машинного обучения с открытым исходным кодом для Python, созданная с использованием NumPy, SciPy и Matplotlib.

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

Это одна из лучших библиотек для работы с данными.

Scikit-Learn поможет вам:

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

Последняя версия: 0.23.2.

Подробнее об этой библиотеке здесь и ее функциях здесь.

4. НЛТК

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

NLTK, что расшифровывается как Natural Language Toolkit, представляет собой комбинацию множества библиотек, которые помогают анализировать и обрабатывать текст для достижения осмысленного вывода, используя только текст.

Следует отметить, что NLTK используется только для обработки данных. Он не предлагает никаких моделей машинного обучения. Вы можете использовать LSTM или BERT или модель глубокого обучения, постобработку, чтобы обучить модель, которая выводит результаты с текстом в качестве входных данных.

Основные функции и возможности использования NLTK:

  • Стемминг и лемматизация
  • Токенизация
  • Добавление тегов
  • Анализ настроений
  • Тематическое моделирование / Классификация текстов.

Последняя версия: 3.5.

Подробнее об этой библиотеке здесь и ее функциях здесь.

Библиотеки для сбора данных

1. Scrapy

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

Лучшее в Scrapy - это его расширяемость, поскольку его можно использовать для извлечения данных из API, а функции можно подключать, не касаясь ядра.

Вы можете спросить, зачем использовать Scrapy, позвольте мне сказать вам, почему:

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

Следует отметить, что Scrapy можно использовать только в Python 2.7 и более поздних версиях.

Последняя версия: 2.4.0.

Подробнее об этой библиотеке здесь и ее функциях здесь.

2. BeautifulSoup

Это красиво, но точно не суп.

Вы не писали эту ужасную страницу. Вы просто пытаетесь извлечь из него какие-то данные. Beautiful Soup здесь, чтобы помочь.

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

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

BeautifulSoup,

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

Кроме того, в отличие от Scrapy, который является сканером, BeautifulSoup использует синтаксический анализ HTML, что в основном означает, что вы должны предоставить своего рода HTML-адрес для получения информации.

Последняя версия: 4.9.3.

Подробнее об этой библиотеке здесь и ее функциях здесь.

Удачи в вашем путешествии по науке о данных и спасибо за чтение :)