Получить доступ

Что такое утечка данных (data leakage) в машинном обучении?

MiddleОсновы машинного обучения
Ещё спрашивают так:
  • Почему модель отлично работает на тесте и плохо в продакшене?
Коротко

Утечка — в обучении используется информация, недоступная в момент реального прогноза. Метрики на валидации получаются завышенными, а в продакшене модель проваливается. Виды: утечка целевой переменной (признак — следствие ответа), утечка из будущего (перемешанные временные данные), утечка через предобработку (масштабирование на всём наборе).

  • Признак «подозрительно хорош» — первый сигнал
  • Проверка: доступен ли этот признак в момент прогноза в реальной системе
  • Дубликаты одного объекта в обучении и тесте — тоже утечка

А ещё Защита: разбиение по времени и группам, Pipeline, ревью признаков с владельцами данных

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Примеры:

  • модель оттока использует признак «дата расторжения договора» — он известен только после ухода клиента;
  • модель одобрения кредита обучена на признаке «сумма просрочки», который появляется уже после выдачи;
  • прогноз продаж с перемешанными днями: модель видит соседние дни из будущего;
  • target encoding категорий посчитан по всей выборке, включая тест;
  • снимки одного пациента и в обучении, и в тесте — модель узнаёт пациента, а не болезнь.

Как ловить:

  • важность признаков: один признак объясняет почти всё — проверить его происхождение;
  • метрика неправдоподобно высокая для задачи;
  • разрыв между офлайн-метрикой и онлайн-результатом.

Как предотвращать:

  • для каждого признака фиксировать момент, когда он становится известен, и строить выборку «на момент прогноза» (point-in-time);
  • вся предобработка — внутри Pipeline и кросс-валидации;
  • разбиение по времени и группам.

Что хотят услышать

  • Определение через «доступно в момент прогноза».
  • Несколько видов утечки с примерами.
  • Как обнаружить и предотвратить.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем