Ответ вслух Senior Валидация и утечки обновлено

Как искать утечку

Вопрос

Модель показала на валидации подозрительно высокое качество. Как вы будете искать утечку?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала смотрю на важности признаков: если один признак объясняет почти всё, проверяю его происхождение. Для каждого сильного признака задаю вопрос: в какой момент он известен и есть ли он у нас при реальном прогнозе.

Что должно прозвучать в ответе

  • Важности признаков: один признак с огромной важностью подозрителен

  • Для каждого признака: известен ли он на момент прогноза

  • Проверка разбиения: дубли, группы, время

  • Препроцессинг внутри фолдов (target encoding, отбор признаков)

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

Что могут спросить следом

  • Как утечка через id или порядок строк может выглядеть?
  • Что делать, если утечка нашлась уже после релиза?

Разбор

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

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.