глоссарий

Data leakage

Data leakage

Утечка данных в машинном обучении — это ситуация, когда информация, которая в реальности станет доступна лишь после момента прогноза, попадает в обучающую выборку. Проще говоря, модель «подглядывает» в будущее. Она показывает высокую точность на тестовых данных (например, 95%), но в реальной работе оказывается бесполезной. Это одна из самых коварных ошибок, потому что на этапе проверки её трудно заметить.

Почему это важно? Цель модели — предсказывать будущее на основе прошлого. Если в обучении используются будущие данные, модель запоминает не закономерности, а конкретные совпадения. Это похоже на студента, который списал ответы на экзамене: он получил пятёрку, но ничего не знает. В реальной жизни, где ответов нет, он терпит крах. Поэтому специалисты тратят много времени, чтобы ни одна частица из тестовой выборки или из будущего не просочилась в обучающую.

Утечку можно представить как путешествие во времени. Допустим, вы строите модель, которая предсказывает, уйдёт ли клиент из банка в следующем месяце. Если включить в признаки поле «количество обращений в службу поддержки за последние 30 дней», но посчитать его за период, который ещё не наступил на момент прогноза, — это утечка. Модель узнаёт о будущем заранее, и её точность на исторических данных взлетает.

Прикладной пример: ритейлер предсказывает спрос на товар. Если в обучение случайно попала информация о продажах после рекламной кампании, а прогноз делается до её запуска, модель систематически переоценит спрос. Компания закупит лишний товар и понесёт убытки, а результаты модели окажутся иллюзией.

Вывод: необходимо строго контролировать, чтобы на вход алгоритму подавались только те данные, которые реально доступны в момент принятия решения. Только тогда прогноз будет честным и полезным.