Дрейф данных

Сквозное машинное обучение

Joshua Stapleton

Machine Learning Engineer

Зачем обнаруживать дрейф данных

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

Сквозное машинное обучение

Критерий Колмогорова–Смирнова

  • Широко применяется для обнаружения дрейфа данных
  • Сравнивает выборки из наборов данных для оценки сходства распределений

Два графика, показывающие разницу между распределением исходной обучающей выборки и новой выборки для вывода, в которой произошёл дрейф данных

Сквозное машинное обучение

Использование функции `ks_2samp()`

  • Функция ks_2samp() возвращает два значения: статистику теста и p-значение.
  • P-значение используется для принятия или отклонения нулевой гипотезы о сходстве распределений.
from scipy.stats import ks_2samp
# load the 1D data distribution samples for comparison
sample_1, sample_2 = training_dataset_sample, current_inference_sample
# perform the KS-test - ensure input samples are numpy arrays
test_statistic, p_value = ks_2samp(sample_1, sample_2)
if p_value < 0.05:
    print("Reject null hypothesis - data drift might be occuring")
else:
    print("Samples are likely to be from the same dataset")
Сквозное машинное обучение

Устранение дрейфа данных

Обновите модель с учётом новых данных

  • Переобучите модель
  • Скорректируйте параметры модели

Недостаточно новых данных?

  • Переобучите модель на смешанном наборе данных
  • Увеличьте долю новых данных

Схема процесса переобучения и повторного развёртывания модели при возникновении дрейфа данных

Диаграмма, показывающая периодическое переобучение модели на возрастающих объёмах новых данных по мере их поступления

Сквозное машинное обучение

Дополнительные ресурсы по обнаружению и устранению дрейфа данных

  • Population Stability Index (PSI)

    • Сравнивает отдельные категориальные переменные / столбцы
  • Evidently

    • Библиотека Python с открытым исходным кодом
    • Надёжное обнаружение и устранение дрейфа данных
  • NannyML

    • Мониторинг производительности развёрнутой модели
Сквозное машинное обучение

Давайте потренируемся!

Сквозное машинное обучение

Preparing Video For Download...