Как понять, насколько модель хорошая или плохая? Какие метрики существуют и что они означают?
Что проверяют
Умеете ли вы выбрать метрику под задачу и цену ошибки, а не перечислить формулы. Почти всегда следом дают кейс: 95% объектов одного класса, accuracy 95%, это хорошо? Ждут, что вы сразу увидите подвох.
Как отвечать
«Хорошая модель» определяется сравнением: с бейзлайном (константа, логистическая регрессия, текущее правило в продукте) и с тем, что метрика значит для бизнеса. Дальше метрики по типу задачи.
Классификация строится на матрице ошибок (TP, FP, FN, TN):
- accuracy: доля верных ответов. При дисбалансе бесполезна: константа «всегда нет» даёт 95% на данных с 5% положительных;
- precision: TP / (TP + FP), сколько из предсказанных положительных действительно такие. Важна, когда дорога ложная тревога, например блокировка честного платежа;
- recall: TP / (TP + FN), какую долю положительных нашли. Важна, когда дорог пропуск: мошенничество, диагностика;
- F1: гармоническое среднее precision и recall. Считается при конкретном пороге и не учитывает TN;
- ROC-AUC: вероятность, что случайный положительный объект получит скор выше случайного отрицательного. Не зависит от порога, но при сильном дисбалансе выглядит оптимистично;
- PR-AUC: при редком положительном классе честнее ROC-AUC;
- log loss и Brier score: оценивают качество вероятностей, если скор используется как вероятность.
Регрессия: MAE понятна в единицах таргета и устойчивее к выбросам, RMSE сильнее штрафует большие ошибки, MAPE ломается на значениях около нуля, R² сравнивает модель с предсказанием средним.
Порог 0.5 не священный: его выбирают по кривой precision-recall под нужный компромисс.
Где спотыкаются
Называют высокую accuracy на несбалансированных данных успехом. Первым делом смотрят на долю классов и матрицу ошибок.
Путают русские названия: accuracy и precision оба переводят как «точность». Надёжнее говорить английские термины или «доля верных ответов» для accuracy.
Меряют качество на трейне или на валидации, по которой подбирали гиперпараметры, и выдают это за итог. Финальную оценку дают на отложенной выборке, для временных рядов с разбиением по времени.