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

Зачем делить данные на обучающую, валидационную и тестовую выборки?

JuniorОсновы машинного обученияscikit-learn
Ещё спрашивают так:
  • Что такое кросс-валидация?
  • Что такое утечка данных (data leakage)?
Коротко

Обучающая — на ней модель учится, валидационная — подбираем параметры и сравниваем модели, тестовая — один раз в конце для честной оценки.

  • Если подбирать параметры по тесту, оценка станет оптимистичной
  • Кросс-валидация — несколько разбиений по очереди, когда данных мало

А ещё Утечка данных: в обучение попала информация, которой не будет при реальном использовании

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

Подробно

Оценка на данных, которые модель видела при обучении, ничего не говорит о работе на новых. Поэтому данные делят:

  • train — обучение модели;
  • validation — выбор модели и гиперпараметров, ранняя остановка;
  • test — финальная оценка, к которой не прикасаются до конца. Если многократно подбирать решения по тестовой выборке, она перестаёт быть независимой.

Типичные пропорции — около 70/15/15 или 80/10/10, зависит от объёма.

Кросс-валидация (k-fold) — данные делят на k частей, по очереди каждая служит валидацией, остальные — обучением; метрики усредняют. Даёт более надёжную оценку на небольших данных.

Особые случаи разбиения:

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

Утечка данных — признаки, которые знают ответ или «будущее»: нормировка по всем данным до разбиения, дубли между выборками, признак, вычисленный после события. Модель показывает отличный результат на тесте и проваливается в работе.

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

  • Роль каждой выборки и почему тест используют один раз.
  • Кросс-валидация.
  • Особые разбиения: время, стратификация, группы.
  • Что такое утечка данных с примером.

Частые ошибки

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

Что спросят дальше

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

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

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

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

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