Самая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.
Ключевые тезисы
- Классика: агрегаты по всей выборке, признаки из будущего, дубликаты между сплитами.
- Проверяйте временную доступность каждого признака.
- Подозрительно высокая метрика — сигнал провести аудит признаков.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Аудит на утечку
Практическая процедура на полчаса.
- Отсортировать признаки по важности и внимательно прочитать топ-5.
- Для каждого ответить: когда физически появляется это значение?
- Проверить пересечение идентификаторов между train и test.
- Проверить, что все статистики (скейлеры, кодировщики, отбор) считались внутри фолда.
- Сравнить офлайн-метрику с любой доступной оценкой из прода — расхождение в разы означает утечку.
Утечка почти всегда выглядит как хорошая новость. Это её главная опасность: её не ищут, пока модель не выйдет в прод и не провалится.
2Разбор реальных случаев
Четыре истории, которые повторяются из проекта в проект.
- Медицина: снимки больных с одного аппарата, здоровых — с другого. Модель различает аппараты.
- Скоринг: признак «число обращений в поддержку» заполняется после решения по заявке.
- Ритейл: агрегаты по товару посчитаны по всему периоду, включая тестовый.
- Рекомендации: в обучающие пары попали события, произошедшие после целевого клика.
Общий знаменатель: признак или его статистика получены с использованием информации, недоступной в момент предсказания. Проверяйте каждый признак этим одним вопросом.
Связанные темы
Надёжность данных · Утечки и честная валидация
Data leakage98%
Утечка данных · ДанныеСитуация, когда в обучении присутствует информация, недоступная в момент реального предсказания. Главная причина «слишком хороших» метрик.
Data Quality85%
Качество данных · Инженерия данныхАвтоматические проверки, которые ловят поломку источника раньше, чем она попадёт в модель.
Data Contracts85%
Контракты данных · Инженерия данныхЯвная договорённость между источником и потребителем: какие поля, каких типов и с какими гарантиями.
Idempotency & Exactly-once85%
Идемпотентность и гарантии доставки · Инженерия данныхЧто происходит при повторной обработке события и как не задвоить данные.
Change Data Capture85%
Захват изменений (CDC) · Инженерия данныхЧтение журнала изменений базы вместо периодических полных выгрузок.
Feature Stores85%
Хранилища признаков · MLOpsЦентрализованное хранилище признаков, единое для обучения и онлайн-инференса.
Data preprocessing85%
Предобработка данных · ДанныеПриведение сырых данных к виду, пригодному для обучения: типы, форматы, дубликаты, согласованность единиц измерения.
Train / Validation / Test split85%
Разбиение выборки · ДанныеTrain учит, validation настраивает гиперпараметры, test даёт единственную честную оценку — и используется один раз.
Cross-validation85%
Кросс-валидация · Оценка моделейМногократное разбиение выборки, дающее оценку качества вместе с её разбросом.
K-Fold85%
K-Fold · Оценка моделейДанные делятся на K частей; каждая по очереди становится валидационной.
Stratified K-Fold85%
Стратифицированный K-Fold · Оценка моделейK-Fold с сохранением пропорции классов в каждом фолде.
Leave-One-Out85%
Leave-One-Out · Оценка моделейПредельный случай: валидация состоит ровно из одного объекта, и так N раз.
Bootstrap85%
Бутстрэп · Оценка моделейМногократная выборка с возвращением: даёт распределение метрики и доверительные интервалы без предположений о нормальности.
Normalization & Standardization85%
Нормализация и стандартизация · ДанныеПриведение признаков к сопоставимым масштабам, без которого расстояния, градиенты и регуляризация работают некорректно.