Многократное , дающее оценку качества вместе с её разбросом.
Ключевые тезисы
- Использует все данные и для обучения, и для оценки.
- Весь препроцессинг должен быть внутри фолда, иначе будет утечка.
- Разброс по фолдам важнее среднего: он показывает устойчивость модели.
Какую задачу решает
Оценка на одной отложенной выборке шумна: разница в 1–2% между моделями может целиком объясняться тем, какие именно строки попали в тест. На небольших данных это делает сравнение бессмысленным, а решения — случайными.
решает проблему, прогоняя обучение несколько раз на разных разбиениях: каждая строка ровно один раз оказывается в проверочной части. В итоге получается не одно число, а распределение — со средним и разбросом, по которому видно, значима разница между моделями или это шум.
Модель A: 0.812 ± 0.021 по 5 фолдам. Модель B: 0.825 ± 0.019. Разница средних 0.013 при разбросе около 0.02 — то есть внутри шума, и утверждать превосходство B нельзя. Что делать: увеличить число фолдов или повторить с разными сидами (repeated ), а лучше провести парный тест на одних и тех же фолдах — он учитывает, что модели проверялись на одинаковых данных, и заметно чувствительнее.
Подробный разбор
Оценка на одной отложенной выборке сильно зависит от того, какие объекты в неё попали. усредняет несколько таких оценок и заодно показывает их разброс.
- номер или количество: индекс шага, число соседей, кластеров или позиций
- суммирование по всем перечисленным элементам
Разброс важнее среднего. Модель с CV надёжнее, чем : вторая может в проде показать и 0.78.
# Неправильно: скейлер видит валидационные объекты
X = StandardScaler().fit_transform(X)
cross_val_score(model, X, y, cv=5)
# Правильно: всё внутри пайплайна
pipe = Pipeline([("sc", StandardScaler()), ("clf", model)])
cross_val_score(pipe, X, y, cv=5)То же касается , , борьбы с дисбалансом (SMOTE) и заполнения пропусков. Если хоть один из этих шагов увидит валидационные объекты, оценка станет завышенной.
Каждая конфигурация проверяется на одном и том же разбиении. Перебрав сотни вариантов, вы почти наверняка найдёте конфигурацию, которой просто повезло на этих фолдах: её CV-оценка выше не потому, что модель лучше, а потому что случайный шум лёг удачно. Это и называется CV overfitting — на процедуре отбора.
- Отдельный hold-out, который вообще не участвует в отборе, — единственная честная финальная оценка.
- Вложенная кросс-валидация: внутренний цикл подбирает , внешний оценивает качество процедуры целиком.
- Меньше перебора: случайный поиск по разумному пространству вместо сетки из тысяч точек.
- Смотреть на разброс: разница в 0.001 при стандартном отклонении по фолдам 0.01 — это не разница.
Тот же эффект объясняет разрыв между публичным и приватным лидербордом в соревнованиях: сотни сабмитов подбирают шум публичной части. Правило одно — метрика, по которой выбирали, всегда завышена.
Где применяется
- Малые выборкиДо нескольких тысяч строк одна слишком шумна.
- Сравнение моделейРазброс по фолдам показывает, реальна ли разница.
- Подбор Стандартный способ оценки внутри перебора.
- Число деревьев подбирается на валидационной части каждого фолда.
Плюсы, минусы и альтернативы
Плюсы
- Использует все данные и для обучения, и для проверки.
- Даёт оценку разброса, а не только среднее.
- Резко снижает риск случайно выбрать худшую модель.
- Позволяет строить out-of-fold предсказания для .
Минусы
- Обучение повторяется раз — дорого для тяжёлых моделей.
- Легко построить неправильно и получить утечку.
- Не подходит для временных рядов в обычном виде.
- Для данных с группами требует специальной схемы.
Брать, если
- Данных немного, а решения нужно принимать по метрике.
- Сравниваются близкие модели и важно понять, значима ли разница.
Не брать, если
- Обучение занимает дни — одной отложенной выборки придётся хватить.
- Данных миллионы: разброс и так мал, а стоимость велика.
Чем заменяют
Связанные темы
Ансамблирование · Утечки и честная валидация · Подбор гиперпараметров · Перебор конфигураций
Hyperparameter tuning96%
Настройка гиперпараметров · Практика MLПоиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.
Random Search96%
Случайный поиск · Практика MLСлучайная выборка конфигураций из заданных распределений.
Bayesian Optimization96%
Байесовская оптимизация · Практика MLСтроит модель зависимости метрики от гиперпараметров и выбирает следующую точку осознанно.
Stacking and Blending85%
Стекинг и блендинг · Классическое машинное обучениеАнсамбль из разнородных моделей, поверх которых обучается мета-модель. Стандартный приём соревнований и способ выжать последние проценты.
Random Forest85%
Случайный лес · Классическое машинное обучениеБэггинг деревьев со случайными подвыборками объектов и признаков: усреднение резко снижает дисперсию.
Gradient Boosting85%
Градиентный бустинг · Классическое машинное обучениеПоследовательное построение деревьев, каждое из которых исправляет ошибки предыдущего ансамбля.
Variance85%
Дисперсия · Математический справочникМера разброса значений вокруг среднего.
Data leakage85%
Утечка данных · ДанныеСитуация, когда в обучении присутствует информация, недоступная в момент реального предсказания. Главная причина «слишком хороших» метрик.
Train / Validation / Test split85%
Разбиение выборки · ДанныеTrain учит, validation настраивает гиперпараметры, test даёт единственную честную оценку — и используется один раз.
Data leakage85%
Утечка данных · Практика MLСамая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.
K-Fold85%
K-Fold · Оценка моделейДанные делятся на K частей; каждая по очереди становится валидационной.
Stratified K-Fold85%
Стратифицированный K-Fold · Оценка моделейK-Fold с сохранением пропорции классов в каждом фолде.
Leave-One-Out85%
Leave-One-Out · Оценка моделейПредельный случай: валидация состоит ровно из одного объекта, и так N раз.
Bootstrap85%
Бутстрэп · Оценка моделейМногократная выборка с возвращением: даёт распределение метрики и доверительные интервалы без предположений о нормальности.
Normalization & Standardization85%
Нормализация и стандартизация · ДанныеПриведение признаков к сопоставимым масштабам, без которого расстояния, градиенты и регуляризация работают некорректно.
Grid Search80%
Поиск по сетке · Практика MLПолный перебор всех комбинаций заданных значений гиперпараметров.
Learning Rate Scheduling80%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Distributed Hyperparameter Search80%
Распределённый подбор гиперпараметров · Вычислительная инфраструктураДесятки обучений на кластере вместо одного: пространство поиска, параллельные trials, ранняя остановка безнадёжных.
Experiment Tracking80%
Трекинг экспериментов · MLOpsФиксация параметров, метрик, артефактов и версии кода для каждого запуска.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Фолд
Одна из частей выборки. По каждая служит проверочной, остальные — обучающими.
Разбор ниже: Зачем нужна кросс-валидацияРазброс между фолдами
Стандартное отклонение метрики: если разница между моделями меньше него, её нет.
Разбор ниже: Зачем нужна кросс-валидацияПайплайн внутри фолда
Вся предобработка обучается на обучающей части фолда. Иначе — утечка и завышенная оценка.
Разбор ниже: Весь препроцессинг — внутри фолдаВложенная кросс-валидация
Внешний цикл для оценки, внутренний для подбора : единственный честный способ совместить их.
Разбор ниже: Весь препроцессинг — внутри фолдаПрофильная компетенция для ролей: Data Scientist, ML Engineer, Исследователь.
Усиливает профиль: Аналитик данных, Data Engineer, MLOps-инженер, NLP-инженер, CV-инженер.
Спрашивают на собеседовании: Яндекс — Classic ML, Сбер — Скоринг и риски, Ozon — Спрос и логистика, Альфа-Банк — Скоринг и кредитные риски, ВТБ — Риск-модели, Газпромбанк — Корпоративные риски, X5 Tech — Спрос и пополнение, Магнит — Ассортимент и спрос, Самокат — Спрос и ассортимент даркстора, Dodo Brands — Прогноз заказов и планирование смен, Спортмастер — Закупка и ассортимент, Циан — Оценка недвижимости, Авиасейлс — Прогноз цен и подсказки, Лаборатория Касперского — Детектирование вредоносного ПО, Т1 — Корпоративный ML, Газпром нефть — Геология и добыча.
Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.
Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.
Глава «Оценка моделей» последний раз правилась . Нашли ошибку — напишите.