Что такое утечка данных (data leakage) в машинном обучении?
- Почему модель отлично работает на тесте и плохо в продакшене?
Утечка — в обучении используется информация, недоступная в момент реального прогноза. Метрики на валидации получаются завышенными, а в продакшене модель проваливается. Виды: утечка целевой переменной (признак — следствие ответа), утечка из будущего (перемешанные временные данные), утечка через предобработку (масштабирование на всём наборе).
- Признак «подозрительно хорош» — первый сигнал
- Проверка: доступен ли этот признак в момент прогноза в реальной системе
- Дубликаты одного объекта в обучении и тесте — тоже утечка
А ещё Защита: разбиение по времени и группам, Pipeline, ревью признаков с владельцами данных
Подробно
Примеры:
- модель оттока использует признак «дата расторжения договора» — он известен только после ухода клиента;
- модель одобрения кредита обучена на признаке «сумма просрочки», который появляется уже после выдачи;
- прогноз продаж с перемешанными днями: модель видит соседние дни из будущего;
- target encoding категорий посчитан по всей выборке, включая тест;
- снимки одного пациента и в обучении, и в тесте — модель узнаёт пациента, а не болезнь.
Как ловить:
- важность признаков: один признак объясняет почти всё — проверить его происхождение;
- метрика неправдоподобно высокая для задачи;
- разрыв между офлайн-метрикой и онлайн-результатом.
Как предотвращать:
- для каждого признака фиксировать момент, когда он становится известен, и строить выборку «на момент прогноза» (point-in-time);
- вся предобработка — внутри Pipeline и кросс-валидации;
- разбиение по времени и группам.
Что хотят услышать
- Определение через «доступно в момент прогноза».
- Несколько видов утечки с примерами.
- Как обнаружить и предотвратить.
Проверьте себя
Несколько верных вариантов. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Признак, который является следствием целевой переменной
- ✗Подбор гиперпараметров по качеству на отдельной валидационной выборке
- ✓Перемешивание временных данных перед разбиением
- ✓Масштабирование, посчитанное на всём наборе вместе с тестом
Разбор темы
- Признаки, утечки и честная валидация
Как строить признаки, находить утечку данных, выбирать схему кросс-валидации и читать кривые обучения.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.