рубрика pro #ml
В отчёте студента стоит F1 = 0.91. Ноутбук воспроизводится, в тест нигде не подсматривали, придраться вроде не к чему. И всё равно в проде такая модель будет тихо ошибаться ровно там, где это дороже всего. Никакой утечки здесь нет, цифра настоящая. Просто это не та цифра.
F1 посчитан с
weighted-усреднением, а классы перекошены, скажем, 1 к 20. Тогда красивая метрика собрана в основном по большому классу, а редкий позитив, ради которого всё и затевалось, в ней почти не виден. Это средняя температура по больнице: одно число усреднило и здоровых, и того единственного, кто по-настоящему болен. А боятся обычно именно его: пропущенный мошенник, несработавший алерт по оттоку, незамеченный дефект.Где метрика говорит не то, что вы думаете:
1️⃣ F1 с weighted/macro на дисбалансе
Бинарная задача, а F1 считается с
average='weighted' или 'macro' — и доля пропущенных позитивов (False Negative) растворяется в среднем. Берите binary F1 по положительному классу: average='binary', label=1.2️⃣ ROC-AUC через multiclass ovr в бинарной задаче
Таргет остался четырёхклассовым, а решаете вы бинарную. AUC по
multiclass ovr искажён и несравним с честным бинарным. Пример: схлопнули 4 класса в "дефолт / не дефолт", но AUC считаете по всем четырём через ovr — выходит 0.94; честный бинарный AUC по вероятности дефолта — 0.78. Бизнесу обещали 0.94, он увидит 0.78. Приведите таргет к бинарному и считайте AUC по вероятности положительного класса.🚭 Полезные привычки
Сначала решите, что для вас значит "ошибиться", и только потом выбирайте метрику под это. На дисбалансе считайте отдельно по классу, который вам дорог, и печатайте число явно, а не прячьте под усреднением. Одна строчка в шапке отчёта не должна усреднять тех, кого усреднять нельзя.
Высокий F1 — это ещё не хорошая модель. Иногда это просто удобный способ не заметить, что редкий класс вы стабильно теряете.
Хотите научиться выбирать метрику под задачу, а не подгонять задачу под красивую цифру? Берите на заметку и заглядывайте к нам на практику:
👉 Практический курс по 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


