Ситуация, когда в обучении присутствует информация, недоступная в реального предсказания. Главная причина «слишком хороших» метрик.
Ключевые тезисы
- Типичные источники: масштабирование до сплита, из будущего, дубликаты между train и test.
- В временных рядах любое перемешивание — почти гарантированная утечка.
- Симптом: офлайн-метрика заметно лучше, чем всё, что вы видите в проде.
Какую задачу решает
Утечка — это попадание в обучающие информации, недоступной в реального предсказания. Модель находит её мгновенно (это самый сильный сигнал в данных), метрики на валидации взлетают, и команда празднует. В проде модель работает на уровне случайной.
Опасность утечки не в том, что её трудно исправить, а в том, что она маскируется под успех. Все обычные механизмы контроля — , , сравнение с базовой линией — при утечке дают зелёный свет, потому что заражены той же информацией. Поэтому единственная надёжная защита — не диагностика по метрикам, а дисциплина при построении данных.
1) Посмотрите топ-10 : если один даёт почти всё качество, выясните его происхождение и заполнения. 2) Для каждого признака из топа спросите: «это значение существует в момент предсказания?» — по журналу источника, а не по интуиции. 3) Проверьте схему разбиения: есть ли время (нужен временной сплит), есть ли повторяющиеся сущности (нужен групповой сплит). Эти три шага ловят подавляющее большинство утечек и стоят несравнимо меньше, чем разбирательство после провала в проде.
Подробный разбор
- Предобработка до разбиения:
StandardScaler, или SMOTE, применённые ко всей выборке. - Признаки из будущего: «дата закрытия договора» в задаче предсказания оттока.
- Прокси целевой переменной:
сумма_страховой_выплатыпри предсказании факта страхового случая. - Дубликаты между train и test: один и тот же клиент или почти одинаковые изображения.
- Групповая утечка: несколько записей одного пациента разъехались по разным частям выборки.
на 0.98, в проде — 0.62. Разбор показывает: последний_платёж_дата заполняется только после того, как клиент ушёл.
- Для каждого ответьте: был бы он известен в момент предсказания?
- Подозрительно высокая метрика — повод искать ошибку, а не радоваться.
- Посмотрите на важности: один с важностью 0.9 почти всегда означает утечку.
- Проверяйте пересечение групп между train и test явным кодом, а не на глаз.
- Валидация по времени: обучаемся на прошлом, проверяемся на будущем — так же, как будет в проде.
Где применяется
- Проверка перед продомОбязательный аудит до вывода модели в эксплуатацию.
- Разбор аномально высокой метрикиПервая гипотеза при неправдоподобно хорошем результате.
- Задачи со временемЛюбой прогноз требует разбиения по времени, а не случайного.
- Медицина и клиентыРазбиение по пациенту или клиенту, а не по строке.
Плюсы, минусы и альтернативы
Плюсы
- Обнаружение утечки экономит месяцы работы и репутацию проекта.
- Проверки дешёвые: время разбиения, , здравый смысл.
Минусы
- Утечка не проявляется в метриках — все стандартные проверки её пропускают.
- Часто прячется в исходных данных, а не в вашем коде.
- Полностью исключить невозможно: нужна постоянная дисциплина.
Брать, если
- Всегда перед выводом модели в прод.
- Немедленно, если метрика выглядит слишком хорошо.
- При любой работе с данными, где есть время или повторяющиеся сущности.
Не брать, если
- Не отбрасывайте сильный только за то, что он сильный: сначала проверьте его доступность на предсказания.
Чем заменяют
Видеолекции
Тайм-кода именно на эту тему в записях нет. Но глава «Данные» разобрана в курсах целиком — с той оговоркой, что место в записи придётся искать самому.
Связанные темы
Надёжность данных · Утечки и честная валидация · Приватность и утечки
Data leakage98%
Утечка данных · Практика MLСамая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.
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%
Нормализация и стандартизация · ДанныеПриведение признаков к сопоставимым масштабам, без которого расстояния, градиенты и регуляризация работают некорректно.
Model Privacy Attacks85%
Атаки на приватность модели · Безопасность ИИМодель — сжатая копия обучающих данных: по её ответам можно узнать, кто в них был, и восстановить сами данные.
Differential Privacy85%
Дифференциальная приватность · Безопасность ИИМатематическая гарантия: по результату обучения нельзя определить, был ли в выборке конкретный человек.
Federated Learning85%
Федеративное обучение · Безопасность ИИОбучение на данных, которые нельзя собрать в одном месте: на сервер уезжают обновления весов, а не сами данные.
Privacy and Security85%
Приватность и безопасность · Системный дизайн ML-сервисовПерсональные данные, доступы и специфические для ML риски.
Synthetic Data85%
Синтетические данные · ДанныеГенерация обучающих данных: аугментации, симуляторы и генеративные модели. Способ обойти дефицит разметки и ограничения приватности.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Утечка из будущего
использует данные, появившиеся после предсказания. Самый частый вид в задачах со временем.
Разбор ниже: Откуда берётся утечкаУтечка через целевую
прямо или косвенно содержит ответ: агрегат по цели, поле, заполняемое после события.
Разбор ниже: Откуда берётся утечкаУтечка через предобработку
Статистики (среднее, масштаб, кодирование) посчитаны на всей выборке до разбиения.
Разбор ниже: Откуда берётся утечкаГрупповая утечка
Строки одного клиента или пациента попали и в обучение, и в тест — модель узнаёт объект, а не закономерность.
Разбор ниже: Как проверять себяСлишком хорошая метрика
0.99 на реальной бизнес-задаче — не достижение, а первый утечки.
Разбор ниже: Как проверять себяПрофильная компетенция для ролей: Data Scientist, ML Engineer.
Усиливает профиль: Аналитик данных, Data Engineer.
Спрашивают на собеседовании: Яндекс — RecSys, Яндекс — Classic ML, Сбер — Скоринг и риски, Сбер — Рекомендации и персонализация, Т-Банк — Антифрод и риски, МТС — Отток и персональные предложения, Альфа-Банк — Скоринг и кредитные риски, ВТБ — Риск-модели, Газпромбанк — Корпоративные риски, Совкомбанк — Скоринг и взыскание, ЮMoney — Антифрод платежей, X5 Tech — Цены и промо, Самокат — Спрос и ассортимент даркстора, Спортмастер — Рекомендации и омниканальность, Циан — Оценка недвижимости, Авиасейлс — Ранжирование предложений, МегаФон — Отток и предложения, Ростелеком — Качество сети и отток, СКБ Контур — Проверка контрагентов, Т1 — Корпоративный ML.
Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.
Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.
Глава «Данные» последний раз правилась . Нашли ошибку — напишите.