В последние годы наблюдается постоянная тенденция использования больших данных для решения сложных задач. Это могут быть какие-то бизнес-задачи, рекомендации или какой-нибудь современный ИИ, который учит, кому играть в судоку. Что является общим в этих задачах? Правильно, это данные, которые являются святым Граалем в нашем сегодняшнем мире.

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

Почему это может быть плохо? Ну, есть пара причин:

  • Допустим, вы тренируете свою модель машинного обучения на входных данных строгого формата. Затем внезапно изменился формат данных, и ваша модель машинного обучения может начать предсказывать неправильные значения, и вы будете принимать неправильные решения на ее основе.
  • Если вы проигнорируете эти аномалии, возможно, что-то в вашем конвейере не работает должным образом: это может быть задержка загрузки в вашу базу данных, некоторые серверы не работают или по многим другим причинам. Если у вас есть правильная настройка качества данных, это поможет вам предотвратить такие ситуации.

В MLbits мы активно используем контроль качества данных для своих проектов и сегодня хотели бы немного рассказать о нашем любимом инструменте — больших ожиданиях (https://github.com/great-expectations/great_expectations).

Почему это так хорошо? Вот основные причины, по которым это помогает создать надежный мониторинг качества данных:

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

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

  • Может создавать правила для проверки данных
  • Упрощение отладки конвейеров данных, если (когда) они ломаются
  • Ускорение ETL и нормализация данных
  • Можно запустить проверку как часть ваших проверок CI
  • Автоматизация проверки доставки новых данных от поставщиков и других команд
  • Автоматически сгенерированные документы пользовательского интерфейса
  • Использование как CLI, так и уровня кода
  • Оповещения из коробки
  • Подключаемый и расширяемый (поддерживает CSV/pandas, s3, redshift, bigquery и т. д.) и может быть интегрирован в существующие DAG Airflow.

Хорошо, выглядит интересно, с чего мне начать?

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

Во-первых, вам нужно установить его через pip install great_expectations и инициализировать проект с помощью great_expectations и получить следующую структуру проекта

great_expectations.yml хранит все данные конфигурации

В папке ожидания хранится список ваших правил.

checkpoints хранит данные о контрольных точках

плагины для пользовательских материалов

незафиксированные — все конфиденциальные данные, которыми вы не хотите делиться, например ключи доступа.

Ключевые понятия, которые необходимо знать перед началом использования:

Ключевые идеи

  • Источник данных — имя вашего источника данных (может быть локальная папка, база данных и т. д.).
  • Актив данных — одна единица данных в источнике (может быть CSV-файл, таблица и т. д.).
  • Набор ожиданий — набор правил, которые можно использовать несколько раз.
  • Контрольная точка — позволяет запускать различные наборы правил.
  • Профилирование — автоматический анализ вашего ресурса данных с 1000 случайных строк и создание отчета пользовательского интерфейса и блокнота с правилами (хорошая отправная точка).

Это было просто краткое введение в great_expectations. Если вы заинтересованы в сотрудничестве с нами или хотите настроить управление качеством данных для своей организации, свяжитесь с нами по адресу http://ml-bits.com/.