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

В Provectus мы понимаем важность качественных данных. В нашей структуре качества данных мы используем комбинацию Pandas Profiling (PP) для сбора статистической информации о данных и Большие ожидания (GX) для ее проверки. Способность Pandas Profiling генерировать ожидания на основе результатов профилирования на лету стала приятным сюрпризом для нашей команды контроля качества данных. Вам нужно всего лишь добавить одну строку кода, чтобы волшебство произошло.

Как инженер по качеству данных, я уже давно использую эту комбинацию. Однако с появлением GX V3 API стало очевидно, что пришло время обновить GX. Последняя подсказка для нас была, когда мы решили обновить PP и обнаружили, что Pandas Profiling больше не существует — теперь он называется Ydata-Profiling (YP). Вместе со сменой названия появились различные новые функции, такие как сравнительные отчеты о профилировании и поддержка Spark. По иронии судьбы, были также введены некоторые ограничения, наиболее важным из которых была невозможность формировать ожидания.

В этом посте я объясню, как обойти и устранить эти ограничения.

Примечание. Предыдущие версии, которые мы использовали, были довольно старыми: great-expectations==0.14.1 и pandas-profiling==3.1.0.

Создайте свой собственный класс

Для начала давайте проверим, используете ли вы последнюю версию пакетов GX и Ydata. На момент написания использовались большие ожидания==0.16.14 и ydata-profiling==4.2.0.

Проверьте, выполнив следующие действия:

  • Начните с создания нового класса для Expectation_report_new из ydata_profiling/expectations_report.py.
  • Добавьте свободный источник данных и создайте пакетный запрос:
  • Измените инициализацию набора со старой на новую:
  • Инициировать набор данных в памяти
  • Изменить пакет на валидатор
  • Запустите проверку (для этого импортируйте SimpleCheckpoint)
  • Сохранить набор
  • Возвращаться

И Полный сценарий:

Используйте созданный класс

Когда новый класс для генерации ожиданий реализован, нам нужно его инициализировать. Этот процесс не сильно изменился по сравнению с инициализацией PP, но он использует источник данных GX Fluent.

Вот как это делается:

Заключение

Прежде чем я начал писать эту статью, я видел множество вопросов, появляющихся на канале Great Expectations Slack об использовании PP с GX и о том, поддерживают ли они друг друга. Большой привет всем в сообществе за идею для этой части!

Provectus также имеет собственную реализацию Data Quality Framework на основе GX и YP, которую можно развернуть в вашей среде AWS простым действием «в один щелчок».

Все необходимые функции уже включены в эту реализацию: DQG

Если у вас есть какие-либо вопросы или предложения, пожалуйста, не стесняйтесь обращаться ко мне в комментариях ниже или напрямую на LinkedIn!