Практика ML

Data leakage

Утечка данных

актуальноТекущий рабочий стандарт

Самая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.

Ключевые тезисы

  • Классика: агрегаты по всей выборке, признаки из будущего, дубликаты между сплитами.
  • Проверяйте временную доступность каждого признака.
  • Подозрительно высокая метрика — сигнал провести аудит признаков.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Аудит на утечку

Практическая процедура на полчаса.

  1. Отсортировать признаки по важности и внимательно прочитать топ-5.
  2. Для каждого ответить: когда физически появляется это значение?
  3. Проверить пересечение идентификаторов между train и test.
  4. Проверить, что все статистики (скейлеры, кодировщики, отбор) считались внутри фолда.
  5. Сравнить офлайн-метрику с любой доступной оценкой из прода — расхождение в разы означает утечку.
На практике

Утечка почти всегда выглядит как хорошая новость. Это её главная опасность: её не ищут, пока модель не выйдет в прод и не провалится.

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%

Нормализация и стандартизация · Данные

Приведение признаков к сопоставимым масштабам, без которого расстояния, градиенты и регуляризация работают некорректно.