Зачем делить данные на обучающую, валидационную и тестовую выборки?
- Что такое кросс-валидация?
- Что такое утечка данных (data leakage)?
Обучающая — на ней модель учится, валидационная — подбираем параметры и сравниваем модели, тестовая — один раз в конце для честной оценки.
- Если подбирать параметры по тесту, оценка станет оптимистичной
- Кросс-валидация — несколько разбиений по очереди, когда данных мало
А ещё Утечка данных: в обучение попала информация, которой не будет при реальном использовании
Подробно
Оценка на данных, которые модель видела при обучении, ничего не говорит о работе на новых. Поэтому данные делят:
- train — обучение модели;
- validation — выбор модели и гиперпараметров, ранняя остановка;
- test — финальная оценка, к которой не прикасаются до конца. Если многократно подбирать решения по тестовой выборке, она перестаёт быть независимой.
Типичные пропорции — около 70/15/15 или 80/10/10, зависит от объёма.
Кросс-валидация (k-fold) — данные делят на k частей, по очереди каждая служит валидацией, остальные — обучением; метрики усредняют. Даёт более надёжную оценку на небольших данных.
Особые случаи разбиения:
- временные ряды — делить по времени: обучаться на прошлом, проверять на будущем;
- несбалансированные классы — стратифицированное разбиение с сохранением долей классов;
- группы — записи одного пользователя целиком в одной выборке.
Утечка данных — признаки, которые знают ответ или «будущее»: нормировка по всем данным до разбиения, дубли между выборками, признак, вычисленный после события. Модель показывает отличный результат на тесте и проваливается в работе.
Что хотят услышать
- Роль каждой выборки и почему тест используют один раз.
- Кросс-валидация.
- Особые разбиения: время, стратификация, группы.
- Что такое утечка данных с примером.
Частые ошибки
- Подбирать гиперпараметры по тестовой выборке.
- Случайно перемешивать временной ряд.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Тестовую выборку используют для подбора гиперпараметров
- ✓Учатся на обучающей, подбирают на валидации, тест — один раз
- ✗Валидационная и тестовая выборки — одно и то же
- ✗Делить данные нужно, только если их больше миллиона строк
Что спросят дальше
Разбор темы
- Основы машинного обучения — задачи, выборки и первые модели
Какие бывают задачи ML, зачем делить данные на выборки, что такое переобучение и как обучаются линейная и логистическая регрессия.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.