Автор этого материала — программист и ML-инженер — собрала Open Source библиотеки Python, которые помогут вам сделать данные лучше, чтобы избежать траты времени и упростить анализ данных. Подборкой делимся к старту курса по анализу данных.


Профилирование и оценка

Разведочный анализ данных

1. Pandas Profiling

Pandas Profiling генерирует отчёт о профилировании фреймов данных Pandas.

Основные функции:

  • Профилирование данных: недостающие и уникальные значения и т. д.

  • Распределения данных и гистограммы.

  • Квантильная и описательная статистика: среднее значение, стандартное отклонение, Q1 и т. д.

  • Выведение типа данных.

  • Взаимодействия и корреляции данных.

  • Создание отчёта в HTML.

2. Great Expectations

Great Exception основана на ассертах данных из библиотеки Expectation. Это общедоступный, открытый стандарт качества данных, помогающий командам Data Science устранять недоработки конвейера данных, выполняя их тестирование, документирование и профилирование.

Основные функции:

Декларативные тесты данных на: 

  • ожидаемое количество строк в таблице — от x до y;

  • ожидаемое число недостающих значений не превысит 20%;

  • ожидаемый формат даты в столбцах — MM-DD-YYYY;

  • дополнительные конструкции «из коробки»: уникальность, отклоняющиеся значения и другие характеристики данных;

  • пользовательские ожидания.

Другие функции:

  • Автоматическое профилирование данных.

  • Визуализация тестов в удобных для человека формах и документах.

  • Интеграция со многими инструментами и системами: Pandas, Jupyter Notebook, Spark, mysql, databricks и т. д.;

3. SodaSQL

SodaSQL — это инструмент командной строки, выполняющий SQL-запросы на основе входных данных. Вот что он делает:

  • Запускает тесты на разных наборах данных в разных источниках данных: Snowflake, PostgreSQL, Athena, и т. д., ищет недопустимые или недостающие данные.

  • Собирает метрики: минимальные, максимальные и средние значения, стандартное отклонение и многие другие метрики.

Основные функции:

  • Пользовательские тесты на SQL.

  • Определение тестов для каждой таблицы в формате yml.

  • Интеграция с инструментом оркестрации данных.

  • Подключение и сканирование наборов данных.

  • Определение формата столбцов: электронная почта, дата, номера телефонов и т. д.

  • Сохранение результатов сканирования в JSON.

Прогнозная аналитика

4. Ydata

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

  • недостающих значений;

  • дублирования данных;

  • отклоняющихся значений и дрейфа данных;

  • отношений данных и корреляции данных.

Библиотека интегрируется с Great Expectations, в которой запускаются ассерты данных, позволяющие проверять, профилировать данные и автоматически генерировать отчёты:

5. DeepChecks

DeepChecks — это пакет Python, позволяющий легко проверять модели ML и связанные с различными задачами данные, например производительность модели; также DeepChecks обнаруживает:

  • значения null;

  • дублирование данных;

  • изменения частотности;

  • специальные символы и т. д.;

Библиотека сравнивает строки, обнаруживает их несоответствия. Она видит следующие характеристики данных:

  • смещения в распределении;

  • важность признаков.

Целостность данных и обнаружение смещения пригодятся при тестировании данных.

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

В DeepChecks можно писать свои тесты и их наборы, красиво отображая результаты в таблице или на графике Plotly:

6. Evidently AI

Evidently AI — это инструмент для анализа и наблюдения за моделями ML.

Библиотека видит:

  • Распределение данных.

  • Дрейф данных.

  • Производительность модели.

  • Работоспособность модели.

Evidently AI интегрируется с Grafana и Prometheus, можно создать пользовательский дашборд.

7. Alibi Detect

Alibi Detect — специализированная библиотека ML для обнаружения отклоняющихся значений (выбросов), состязательности и дрейфа данных.

Основные функции:

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

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

  • Поддержка бэкендов TensorFlow и PyTorch для обнаружения дрейфа.

Очистка и форматирование данных

1. Scrabadub

Scrabadub — это инструмент выявляет и удаляет из любого текста личную информацию: имена, номера телефонов, адреса, номера кредитных карт и т. д. Можно реализовать собственные средства обнаружения данных:

text = "My cat can be contacted on example@example.com, or 1800 555-5555" scrubadub.clean(text) 
>>'My cat can be contacted on {{EMAIL}}, or {{PHONE}}'

2. Arrow

В Arrow реализован разумный, удобный подход к созданию, обработке, форматированию и преобразованию дат, времени и временных меток:

utc = arrow.utcnow() 
time= utc.to('US/Pacific') 
past = time.dehumanize("2 days ago") 
print(past) 
>> 2022-01-09T10:11:11.939887+00:00
print(past.humanize(locale="ar"))  
>> 'منذ يومين'

3. Beautifier

Beautifier — библиотека для очистки шаблонов URL и адресов электронной почты. Она позволяет:

  • Проверить корректность электронного адреса.

  • Анализировать электронные письма по домену и имени пользователя.

  • Анализировать URL по доменам и параметрам.

  • Очистить URL от символов Unicode, специальных символов и ненужных шаблонов перенаправления.

4. Ftfy

Ftfy расшифровывается как Fixes text for you («Исправляет текст для вас»). Вот её функции:

  • Исправление текста с неподходящими для языков разметки символами Unicode.

  • Удаление разрывов строк.

  • Преобразование HTML-сущностей в обычный текст.

  • Выявление текста с вероятностью искажения из-за неверной кодировки.

  • Объяснения того, что произошло с текстом.

ftfy.fix_text('The Mona Lisa doesn’t have eyebrows.') 
>>"The Mona Lisa doesn't have eyebrows."

5. Dora

Dora — это инструментарий разведочного анализа данных для Python.

Основные функции:

  • Очистка данных от "null", преобразование из категориальных данных в порядковые данные, преобразование данных в столбцах и удаление столбцов.

  • Выделение и извлечение признаков.

  • Отображение признаков на графике.

  • Разделение данных для валидации модели.

  • Преобразования данных с их версионированием.

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

6. DataCleaner

Data Cleaner автоматически очищает наборы данных и подготавливает их к анализу.

Основные функции:

  • Удаление строк с пропущенными значениями.

  • Замена отсутствующих значений.

  • Кодирование нечисловых переменных.

  • Работа с фреймами данных Pandas.

  • Работа в скриптах и в командной строке.

Предварительный просмотр таблиц

1. Tabulate

Вызов одной функции Tabulate выводит небольшие, красивые таблицы.

Основные функции:

  • Удобные для восприятия таблицы.

  • Форматирование таблиц в HTML и других форматах.

2. PrettyPandas

PrettyPandas — инструмент с простым API, генерирующий достойные табличные отчёты. Они хорошо воспринимаются благодаря:

  • добавлению итоговых строк и столбцов;

  • форматированию чисел валют и процентов.

На сегодня всё. Попробовать все эти инструменты в деле вы сможете на наших курсах. А мы поможем вам прокачать навыки или с самого начала освоить профессию в IT, востребованную в любое время:

Выбрать другую востребованную профессию.

Краткий каталог курсов и профессий

Комментарии (0)