{"id":13582,"url":"\/distributions\/13582\/click?bit=1&hash=08f63613201fa572e9d042f45442e065ac99a64011290465240c71f90fc00f1a","title":"\u0418\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440 \u0438 \u0430\u043a\u0441\u0435\u043b\u0435\u0440\u0430\u0442\u043e\u0440 \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438, \u0430 \u0441\u0442\u0430\u0440\u0442\u0430\u043f-\u0441\u0442\u0443\u0434\u0438\u044f \u2014 \u044d\u0442\u043e \u0447\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"acb6f58f-ce2f-51d0-96cb-c256b9565a70","isPaidAndBannersEnabled":false}
Machine learning
NTA

Как ускорить анализ данных c помощью pandas profiling?

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

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

0. Установка.

Библиотека устанавливается стандартными способами pip и conda:

pip install pandas-profiling conda install -c conda-forge pandas-profiling

Можно произвести установку и в оффлайн режиме. Для этого нужно скопировать репозиторий проекта, указать к нему путь и выполнить:

python setup.py install

Требования к необходимым библиотекам указаны здесь.

1. Использование.

Пользоваться библиотекой очень просто — надо всего лишь указать объект DataFrame для которого нужно выполнить исследование. Это осуществляется методом:

df.profile_report(), где df - исследуемый DataFrame.

Методу можно передать следующие параметры:

title - название отчёта pool_size (int) - количество потоков для выполнения (по умолчанию = 0 - используются все потоки) progress_bar (bool) - если True, то показывается прогресс бар explorative (bool) - если True, то выполняется более глубокий анализ (для текстов и файлов) minimal (bool) - если True, то ресурсоёмкие вычисления не выполняются. Рекомендуется при работе с большими датасетами.

Для работы с конфиденциальной информацией можно задать параметры duplicates=None и samples=None — тогда в отчёте не будут отображаться дубликаты и фрагменты данных.

Полный список параметров приведён здесь.

В результате для каждого столбца массива в зависимости от его типа выводится следующая статистика:

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

Кроме этого, pandas profiling может работать с текстами, файлами и картинками

Оценим работу этой библиотеки, выполнив анализ популярного датасета adult.data.

# импорт библиотек import pandas as pd import pandas_profiling # загружаем датасет df = pd.read_csv('adult.data.csv') # создаём отчёт profile = df.profile_report(title='Pandas Profiling Report', progress_bar=False) # смотрим отчёт в HTML формате profile

Первая часть отчёта (Overview) содержит основные сведения о датасете.

Вторая часть (Variables) показывает развёрнутую статистику по каждой переменной. Toggle details позволяет получить более расширенную статистику.

После этого приведена графическая информация о взаимодействии (Interactions) и корреляции признаков (Correlations), выводится статистика по пропущенным значениям (Missing values), дубликатам (Duplicate rows), а также показаны первые и последние 10 строк датасета (Sample).

Можно оформить отчёт в виде виджета следующим способом:

profile.to_widgets()

2. Сохранение отчёта.

Для дальнейшего использования отчёт можно сохранить в HTML и JSON форматах:

profile.to_file("your_report.html") json_data = profile.to_json(), или profile.to_file("your_report.json")

Заключение.

Pandas profiling — мощный инструмент data science, позволяющий значительно ускорить предварительный анализ данных. Его использование особо эффективно при работе с большими датасетами, когда исследовать каждый признак вручную не представляется возможным.

В качестве бонуса приведены несколько примеров использования этой библиотеки:

0
1 комментарий
Синди Катсс

как бы да заполирвоать первичку искозить достоверность
и потмо писать про ИИшака

Ответить
Развернуть ветку
Читать все 1 комментарий
null