Вопрос с собеседования · AI и LLM

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

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

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

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

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

Подробно

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

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

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

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

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

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

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

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

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

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

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

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Тестовую выборку используют для подбора гиперпараметров
  • ✓Учатся на обучающей, подбирают на валидации, тест — один раз
  • ✗Валидационная и тестовая выборки — одно и то же
  • ✗Делить данные нужно, только если их больше миллиона строк

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

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования