JET School

Что такое Data Leakage?

Data Leakage, или утечка данных, — это ситуация в машинном обучении, при которой информация, которая не должна быть известна модели на этапе обучения, случайно или незаметно попадает в тренировочные данные. Это приводит к искусственно завышенной точности модели на этапе тестирования и резкому снижению эффективности при реальном использовании.

Проще говоря: модель «узнаёт» информацию, которую не должна знать заранее, и тем самым получает нечестное преимущество.

Почему это опасно?

Когда происходит утечка данных:

  • Модель показывает высокие результаты на тестовых данных, потому что уже «знает» правильные ответы;
  • Но при применении к новым, реальным данным она проваливается, потому что не способна обобщать.

Это может привести к переобучению (overfitting) — когда модель слишком хорошо запоминает обучающие данные, но плохо справляется с новыми ситуациями.

Пример:

Представим, что вы строите модель для диагностики рака. В наборе данных есть столбец:

«Проходил ли пациент операцию?»

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

Как возникает утечка данных?

1. Перепутаны обучающая и тестовая выборки

Например, один и тот же пользователь попал и в train, и в test.

2. Использование информации из будущего

Когда в обучении участвуют признаки, которые станут известны только после предсказания.

Например: «Заплатил ли клиент кредит?» — нельзя использовать при прогнозировании самого факта оплаты.

3. Ошибки при предобработке данных

Например, нормализация (вычисление среднего и стандартного отклонения) проводится по всему набору данных сразу, а не только по train-части.

Как избежать утечки данных?

Чётко разделяйте данные на train и test.

Не используйте тестовую информацию до этапа оценки модели.

Оценивайте признаки с точки зрения доступности во время предсказания.

Не включайте признаки, которые напрямую зависят от целевой переменной или будут известны только в будущем.

Выполняйте предобработку только на обучающей выборке.

Например, масштабирование, нормализация, заполнение пропусков — всё должно быть рассчитано только по train-данным и применено к test отдельно.

Привлекайте предметных экспертов.

Некоторые признаки могут выглядеть безопасно, но содержат скрытую информацию — только специалисты по предметной области могут это заметить.

Вывод:

Data Leakage — одна из самых коварных ошибок в машинном обучении. Она может полностью исказить оценку модели и сделать её непригодной в реальных условиях. Чтобы избежать утечки данных, необходимо внимательно относиться к этапу подготовки данных, разделению выборок, выбору признаков и процессу обучения.

Теги:

Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!