Метрики спрашивают всегда: от определения precision до «почему ROC-AUC врёт при дисбалансе» и «как выбрать порог». Часто просят посчитать руками, поэтому формулы надо знать наизусть.
Матрица ошибок
| Предсказан 1 | Предсказан 0 | |
|---|---|---|
| Факт 1 | TP | FN |
| Факт 0 | FP | TN |
precision = TP / (TP + FP) насколько верить срабатыванию
recall = TP / (TP + FN) какую долю положительных нашли
FPR = FP / (FP + TN) доля ложных тревог среди отрицательных
accuracy = (TP + TN) / всё
F1 = 2·P·R / (P + R)
Пример: 50 срабатываний, 40 верных, всего положительных 80. Precision 0.8, recall 0.5, F1 ≈ 0.62.
Accuracy бесполезна при дисбалансе: модель «всё честно» при 0.5% мошенников получает 99.5%.
F1 гармоническое среднее, оно близко к меньшему значению: высокий F1 нельзя получить за счёт одной метрики. Fβ при β > 1 сильнее ценит recall.
ROC-AUC
ROC-кривая: двигаем порог и строим точки (FPR, TPR). Площадь под ней:
- вероятность, что случайный положительный объект получит скор выше случайного отрицательного;
- не зависит от порога и монотонных преобразований скоров;
- 0.5 это случайная модель.
Считается через ранги за O(n log n): сумма рангов положительных минус pos·(pos + 1)/2, делённая на pos·neg. Ничьи получают средний ранг.
PR-AUC
При очень редком классе FPR почти не двигается: 1 000 ложных тревог на миллион отрицательных это FPR 0.001, а precision при 100 настоящих положительных около 9%. PR-кривая (precision против recall) это видит. Её площадь (average precision) зависит от доли класса, базовый уровень равен этой доле.
Вероятности
Если по вероятности считают деньги, важна калибровка. Метрики: log loss (наказывает уверенные ошибки), Brier score (средний квадрат p - y), калибровочная кривая.
Порог
Порог это бизнес-решение. Если удержание стоит 500 ₽, а потеря клиента 5 000 ₽, звонить выгодно, когда ожидаемая экономия p·(эффект)·5000 больше 500. При ограниченной ёмкости (колл-центр, аналитики) берут топ-N. Порог подбирают на валидации, не на тесте.
Регрессия
MAE = среднее |y - ŷ|
RMSE = √(среднее (y - ŷ)²)
R² = 1 - SS_res / SS_tot
MAPE = среднее |y - ŷ| / |y|
WAPE = Σ|y - ŷ| / Σ|y|
- RMSE сильнее штрафует большие ошибки, оптимальная константа это среднее. MAE устойчивее к выбросам, оптимальная константа медиана. RMSE ≥ MAE всегда.
- R² на тесте бывает отрицательным: модель хуже константы-среднего.
- MAPE ломается на нулях и малых значениях и несимметричен. В ретейле чаще берут WAPE.
Пример: факт 10, 20, 30, прогноз 12, 18, 36. MAE ≈ 3.33, RMSE ≈ 3.83: одна большая ошибка поднимает RMSE.
Как выбрать метрику
- Что стоит дороже: FP или FN?
- Насколько редок класс?
- Нужны ли честные вероятности?
- Метрика для сравнения моделей и правило выбора порога это разные вещи.
- Рост офлайн-метрики должен давать рост бизнес-метрики в A/B.
Частые ошибки
- Хвалить accuracy на несбалансированных данных.
- Путать precision и recall.
- Говорить, что AUC 0.8 значит «80% верных ответов».
- Использовать MAPE на продажах с нулевыми днями.
- Подбирать порог на тесте.
Что спросят на собесе
- Определения и расчёт precision, recall, F1 по числам.
- Смысл ROC-AUC, когда он вводит в заблуждение, чем PR-AUC лучше.
- RMSE против MAE, отрицательный R², проблемы MAPE.
- Как выбрать порог и метрику под бизнес-задачу.