MISC · 19 июля 2018, 16:42 · Отдел информации dev.by
5 ключевых библиотек и пакетов для анализа данных на Python

Не все знают, что Python не задумывался создателями как язык для анализа данных. Однако сегодня это один из самых лучших языков для статистики, машинного обучения, прогнозной аналитики, а также стандартных задач по обработке данных. Python — язык с открытым кодом, и специалисты по data science стали создавать инструменты, чтобы более эффективно выполнять свои задачи. Ресурс Data36 описал пять сторонних библиотек и пакетов, не встроенных в Python 3, которые должен знать каждый аналитик.

Иллюстрация: Datafloq

NumPy

NumPy позволяет очень эффективно обрабатывать многомерные массивы. Многие другие библиотеки построены на NumPy, и без неё было бы невозможно использовать pandas, Matplotlib, SciPy или scikit-learn — именно поэтому она занимает первое место в списке.

Трёхмерный массив в NumPy. Источник: Data36

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

Прогнозирование с использованием функции polyfit. Источник: Data36

pandas

Аналитики данных обычно используют плоские таблицы, такие, как в SQL и Excel. Изначально в Python такой возможности не было. Библиотека pandas позволяет работать с двухмерными таблицами на Python.

Таблица в pandas. Источник: Data36

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

Matplotlib

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

Пример визуализации данных в Matplotlib. Источник: Data36

scikit-learn

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

Простая классификация с использованием модели «случайный лес» в scikit-learn. Источник: Data36

Машинное обучение в scikit-learn заключается в том, чтобы импортировать правильные модули и запустить метод подбора модели. Сложнее вычистить, отформатировать и подготовить данные, а также подобрать оптимальные входные значения и модели. Поэтому прежде чем взяться за scikit-learn, нужно, во-первых, отработать навыки работы с Python и pandas, чтобы научиться качественно подготавливать данные, а во-вторых, освоить теорию и математическую основу различных моделей прогнозирования и классификации, чтобы понимать, что происходит с данными при их применении.

SciPy

Существует библиотека SciPy и стек SciPy. Большинство описанных в этой статье библиотек и пакетов входят в стек SciPy, предназначенный для научных расчётов на Python. Библиотека SciPy — один из его компонентов, который включает средства для обработки числовых последовательностей, лежащих в основе моделей машинного обучения: интеграции, экстраполяции, оптимизации и других.

Как и в случае с NumPy, чаще всего используется не сама SciPy, а упомянутая выше библиотека scikit-learn, которая во многом опирается на неё. SciPy полезно знать потому, что она содержит ключевые математические методы для выполнения сложных процессов машинного обучения в scikit-learn.

Другие библиотеки и пакеты для обработки и анализа данных

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

Как начать пользоваться библиотеками pandas, NumPy, Matplotlib, scikit-learn и SciPy

В первую очередь нужно настроить сервер базы данных. Далее нужно дополнительно установить все инструменты:

  1. Подключиться к серверу
     
  2. Установить NumPy, используя команду
    sudo -H pip3 install numpy
     
  3. Установить pandas, используя команду
    sudo apt-get install python3-pandas
     
  4. Обновить дополнительные инструменты pandas с помощью двух команд:
    sudo -H pip3 install --upgrade beautifulsoup4 и
    sudo -H pip3 install --upgrade html5lib
     
  5. Установить scikit-learn, используя команду
    sudo -H pip3 install scikit-learn

После завершения установки, необходимо импортировать библиотеки (или их отдельные модули) в Jupyter, используя корректные операторы импорта, например:

import numpy as np
import pandas as pd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.linear_model import LinearRegression

После этого можно протестировать pandas и Matplotlib вместе, запустив вот эти строки:

df = pd.DataFrame({'a':[1,2,3,4,5,6,7],
'b':[1,4,9,16,25,36,49]})
df.plot()

Источник: Data36

Пошаговое руководство по настройке можно найти в этом видеокурсе.

Источник: dev.by
Нашли в тексте ошибку — выделите её и нажмите Ctrl+Enter.

Обсуждение

Missing

1. У адекватного онолитега должна стоять Anaconda, которая включает в себя все эти пакеты.

2. "В первую очередь нужно настроить сервер базы данных." - ???

3. matplotlib, наверное, только в БГУИР учат. Модные хлопцы используют seaborn.

1851c5faf7c397dd6523cf6a77cc44e7?1533213662

Через sudo не желательно устанавливаешь пакеты.

Можно воспользоваться: python3 -m pip install --user package_name

Missing

или использовать всякие venv


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси