Как искать утечку
Вопрос
Модель показала на валидации подозрительно высокое качество. Как вы будете искать утечку?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Важности признаков: один признак с огромной важностью подозрителен
Для каждого признака: известен ли он на момент прогноза
Проверка разбиения: дубли, группы, время
Препроцессинг внутри фолдов (target encoding, отбор признаков)
Сравнение с простыми бейзлайнами и проверка на свежих данных из прода
Что могут спросить следом
- Как утечка через id или порядок строк может выглядеть?
- Что делать, если утечка нашлась уже после релиза?
Разбор
Сначала смотрю на важности признаков: если один признак объясняет почти всё, проверяю его происхождение. Для каждого сильного признака задаю вопрос: в какой момент он известен и есть ли он у нас при реальном прогнозе. Затем проверяю разбиение: нет ли точных или почти дублей между трейном и валидацией, не разрезаны ли группы (пользователь, пациент), не перемешано ли время. Смотрю препроцессинг: target encoding, отбор признаков, заполнение пропусков и нормализация должны обучаться только на трейне фолда. Бывают тонкие утечки: id или порядок строк коррелирует с целью, файлы разметили в отсортированном порядке, дата создания записи выдаёт класс. Финальная проверка: прогнать модель на свежем срезе данных, собранных так же, как в проде; если качество там резко ниже, утечка или сдвиг почти наверняка.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.