Выбор ответа Senior Валидация и утечки обновлено

Adversarial validation

Вопрос

Как проверить, что распределение теста отличается от трейна, и найти виноватые признаки?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Обучить классификатор «трейн или тест»: AUC около 0.5 значит похожи, его важные признаки это сдвиг. Метка «из теста или из трейна», любой бустинг, ROC-AUC.

Варианты ответа

  1. Обучить классификатор «трейн или тест»: AUC около 0.5 значит похожи, его важные признаки это сдвигправильный ответ
  2. Сравнить средние значения целевой переменной в трейне и тесте статистическим t-тестом
  3. Посчитать accuracy основной модели на тесте: при сдвиге она заметно упадёт именно по виноватым признакам
  4. Перемешать трейн и тест и заново разбить стратифицированно, тогда сдвиг исчезнет совсем

Разбор

Метка «из теста или из трейна», любой бустинг, ROC-AUC. Если AUC заметно выше 0.5, распределения различаются, а важности показывают, какие признаки виноваты (часто id, даты, счётчики). Из трейна можно выбрать объекты, похожие на тест, для валидации.

  • Целевой переменной на тесте обычно нет.
  • Accuracy основной модели смешивает сдвиг с качеством.
  • Перемешивание скроет проблему, а в проде сдвиг останется.

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

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