🚨 ROC-AUC 0.95 — а модель опять плохая…

Итак, я обещала разбор, так что продолжаем на том же примере 👀

Есть модель, которая ищет мошеннические банковские операции 🔎 Всего у нас 1000 транзакций 💸

Из них: ⛔️50 реально мошеннические950 нормальные

Теперь уже модель не просто говорит «мошенник / не мошенник», а выдаёт вероятность мошенничества.

Например: 0.92, 0.85, 0.77, 0.65…

Что дальше? 🤔 Дальше мы выбираем порог, по которому будем делить операции на два класса ⏩️ Но если этот порог двигать, метрики тоже будут меняться 📊 И именно на этом строятся ROC-AUC и PR-AUC

🤵 ROC-AUC

ROC-кривая показывает при разных порогах: TPR = TP/(TP+FN) — сколько мошенников нашли из всех имеющихся aka Recall 🔍 FPR = FP/(TN+FP) — сколько нормальных операций ошибочно назвали мошенническими 😢

📈Оси: X → FPR Y → TPR ROC-AUC — площадь под этой кривой.

🔸Интуитивно: AUC (area under curve) — вероятность того, что модель поставит более высокий скор мошеннику, чем обычной операции

Например: ROC-AUC = 0.9, то есть 90% кейсов модель правильно ранжирует.

Звучит хорошо, но нет. 🤷‍♂️ Когда нормальных операций сильно больше, FPR остаётся маленьким даже при большом количестве ошибок.

[Ничего не напоминает?] Accuracy, ты ли это?

💼PR-AUC

PR-кривая строится по уже знакомым с прошлого поста Precision и Recall

📈Оси: X → Recall Y → Precision PR-AUC — площадь под этой кривой.

🧑‍🍳 Как вы понимаете, здесь уже не похалтуришь!

🟩 Короткий лайфхак Если задача звучит как: «найти редкие плохие события» (фрод, болезни, дефекты) → PR-AUC обычно важнее ROC-AUC

А какие метрики встречались у вас на собесах?

Реакции: 😱 — AUCи были, да 🥂 — F1, precision, recall 😅 — обычные продуктовые…

#харды #собесы #собеседования #найм