Утечка данных (Data Leakage) возникает, когда модель при обучении получает доступ к информации, недоступной в реальных условиях эксплуатации. Это приводит к завышенным показателям метрик, даже если программный код работает корректно и не содержит ошибок.
В ходе эксперимента на 6000 объектах с 20 признаками дерево решений с глубиной 1 показало результат лучше, чем случайный лес из 300 деревьев. Успех первой модели объясняется использованием «утечки» — признака, который совпадал с целевой переменной в 96,3% случаев.
Стандартное разделение данных через train_test_split не гарантирует отсутствие утечек. Например, применение StandardScaler ко всему набору данных до разделения позволяет информации о распределении тестовой выборки влиять на процесс обучения.
Проблемы возникают и при некорректном разделении данных пользователей или временных рядов. Случайное перемешивание строк может привести к тому, что информация из будущего или данные одного пользователя попадут в обе выборки, что искажает реальный сценарий работы модели.
Для предотвращения утечек рекомендуется использовать специализированные инструменты, такие как GroupShuffleSplit для группировки данных или хронологическое разделение для временных рядов. Использование пайплайнов позволяет рассчитывать параметры предобработки только на обучающих фолдах.






