Разборы, кейсы и практика для инженеров и продактов. Как строить AI-продукты и не терять на этом деньги.

Evidently AI и кастомные метрики: реализация lift

Evidently AI это библиотека, которая помогает анализировать модели машинного обучения во время проверки или мониторинга продакшена.

Evidently AI dashboard overview
Evidently AI

Инструмент генерирует интерактивные визуальные отчеты и профили JSON из файлов pandas DataFrame или csv. На данный момент доступно 6 отчетов:

  • Data Drift — обнаруживает изменения в распределении фичей
  • Numerical Target Drift — обнаруживает изменения числового таргета и поведение фичей
  • Categorical Target Drift — обнаруживает изменения в категориального таргета и поведение фичей
  • Regression Model Performance — анализирует производительность регрессионной модели и ошибки модели
  • Classification Model Performance — анализирует производительность и ошибки модели классификации. Работает как для бинарных, так и для мультиклассовых моделей.
  • Probabilistic Classification Model Performance — анализирует производительность модели вероятностной классификации, качество калибровки модели и ошибки модели. Работает как для бинарных, так и для мультиклассовых моделей.

Метрики

Метрика — это компонент, который оценивает определенный аспект качества данных или модели.

Evidently AI metric list" / "Evidently AI metric output table
Метрики Evidently AI
Evidently AI MetricPreset ClassificationPreset example
Метрики Evidently AI

Пресет метрик

Пресет метрик — это предварительно созданный отчет, который объединяет метрики для конкретного варианта использования (например, DataDriftPreset, ReгрессияPreset и т. д.).

Evidently AI report execution flow diagram
Пресет метрик Evidently AI

Как это работает?

Создайте отчет по эталонным и текущим наборам данных

  • Reference dataset — это базовый набор данных для сравнения. Это может быть набор данных для обучения или предыдущие данные продакшена.
  • Current dataset — второй набор данных, сравниваемый с базовым. Он может содержать самые последние данные продакшена.
Как работает Evidently AI
Как работает Evidently AI

Реализация кастомной метрики

Бывают случае в работе, когда необходимо мониторить метрики, которых нет в Evidently. Например, в телекоме очень любят метрику lift. Бизнес её любит и очень хорошо понимает. Подробнее можно про lift метрику можно почитать тут.

Для добавлении новой метрики необходимо сделать две вещи:

  • Реализовать метрику
  • Добавить визуализацию на plotly — по желанию

Мы пойдем более сложным путем и реализуем метрику сразу в Evidently для того, что бы потом сделать pull request

Куда добавлять:

  • /src/evidently/calculations — добавить метрику в зависимости от задачи (классификация, регрессия и т.д.)
  • /src/evidently/metrics — добавить код расчета метрики в зависимости от задачи
  • /src/evidently/renderers/html_widgets.py — визуализация метрик
  • src/evidently/metrics/init.py — инициализируем метрики
  • src/evidently/metric_results.py — добавить визуализацию

Код метрики и можно посмотреть в уже принятом pull request

Вызов метрики

#probabilistic binary classification
classification_report = Report(metrics=[
    ClassificationLiftCurve(),
    ClassificationLiftTable(),
])

classification_report.run(reference_data=bcancer_ref, current_data=bcancer_cur)
classification_report
Lift metric result table in Evidently AI report
Lift metric table Evidently AI
Lift curve chart generated by custom Evidently metric
Lift metric curve Evidently AI
Share it
Ренат Алимбеков
Ренат Алимбеков — ML-инженер и консультант, 18 лет в IT. Провожу консультации по Data Science и ML и менторинг по Data Science — онлайн и очно в Алматы.
Понравилась заметка? Подписывайтесь на телеграм — @renat_alimbekov.

Интересные записи в этой рубрике: