Data Leakage, или утечка данных, — это ситуация в машинном обучении, при которой информация, которая не должна быть известна модели на этапе обучения, случайно или незаметно попадает в тренировочные данные. Это приводит к искусственно завышенной точности модели на этапе тестирования и резкому снижению эффективности при реальном использовании.
Проще говоря: модель «узнаёт» информацию, которую не должна знать заранее, и тем самым получает нечестное преимущество.
Когда происходит утечка данных:
Это может привести к переобучению (overfitting) — когда модель слишком хорошо запоминает обучающие данные, но плохо справляется с новыми ситуациями.
Представим, что вы строите модель для диагностики рака. В наборе данных есть столбец:
«Проходил ли пациент операцию?»
Если вы включите этот столбец в обучающие признаки, модель поймёт, что операция почти всегда означает наличие болезни. Это приведёт к очень высоким метрикам на тесте — но это будет обман.
1. Перепутаны обучающая и тестовая выборки
Например, один и тот же пользователь попал и в train, и в test.
2. Использование информации из будущего
Когда в обучении участвуют признаки, которые станут известны только после предсказания.
Например: «Заплатил ли клиент кредит?» — нельзя использовать при прогнозировании самого факта оплаты.
3. Ошибки при предобработке данных
Например, нормализация (вычисление среднего и стандартного отклонения) проводится по всему набору данных сразу, а не только по train-части.
Чётко разделяйте данные на train и test.
Не используйте тестовую информацию до этапа оценки модели.
Оценивайте признаки с точки зрения доступности во время предсказания.
Не включайте признаки, которые напрямую зависят от целевой переменной или будут известны только в будущем.
Выполняйте предобработку только на обучающей выборке.
Например, масштабирование, нормализация, заполнение пропусков — всё должно быть рассчитано только по train-данным и применено к test отдельно.
Привлекайте предметных экспертов.
Некоторые признаки могут выглядеть безопасно, но содержат скрытую информацию — только специалисты по предметной области могут это заметить.
Data Leakage — одна из самых коварных ошибок в машинном обучении. Она может полностью исказить оценку модели и сделать её непригодной в реальных условиях. Чтобы избежать утечки данных, необходимо внимательно относиться к этапу подготовки данных, разделению выборок, выбору признаков и процессу обучения.
Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!