У меня 0.95 AUC!" — и почему это страшно рубрика pro #ml Проверяли… — BigData Team (BDT) — TG.ME

🙀 "У меня 0.95 AUC!" — и почему это страшно
рубрика pro #ml

Проверяли недавно проекты студентов Практического курса по Machine Learning. И снова одни и те же грабли: модель с почти идеальной метрикой, которая в реальности развалится на первом же новом батче. Классика, в которую попадал каждый практик. Причин может быть несколько, сегодня мы разберем data leakage ("протечка" или утечка данных).

Суть до обидного простая: где-то по дороге модель подсмотрела ответы. Причём почти всегда из лучших побуждений. "Давайте отмасштабируем данные перед сплитом", "добавим eval_set, чтобы вовремя остановиться". А потом метрика на тесте красивая ровно потому, что тест уже, по сути, поучаствовал в обучении.

Где ловим это чаще всего:
1️⃣ Scaler или Target Encoding, посчитанные по всему датасету до train/test split
2️⃣ бустинг, которому скормили eval_set=(X_test, y_test), и ранняя остановка тихо подстроилась под тест
3️⃣ блендинг, где веса ансамбля подбирали прямо по тестовым меткам

Лечится одной привычкой: относиться к тесту как к заначке на чёрный день. Достали один раз, в самом конце, посмотрели и убрали. Вся предобработка, что зависит от данных, живёт внутри пайплайна и учится только на train. На кросс-валидации считаем то же самое только внутри фолдов, без исключений.

И если метрика подозрительно хороша, это не повод открывать шампанское, а повод пойти поискать, где вы случайно показали модели правильные ответы. Обычно находится.

Хотите довести весь ML-пайплайн до автоматизма и не наступать на такие грабли? Берите кейсы на заметку, подписывайтесь или заглядывайте к нам на практику:
👉 Практический курс по Machine Learning
🗓 Ближайший поток запланирован на 7 сентября

BigData Team: the way you learn best
BD/ML Engineer | AI Agents Engineer
Py4BDA | Python | Machine Learning | Big Data

#study #ml #MachineLearning #DataScience
🔥6👍4❤3
July 12, 2026 328 1