Метрики качества модели на собеседовании Data Scientist
Зачем DS спрашивают про метрики
Метрика — это компас в работе DS. Неправильная метрика приведёт к неправильным моделям, которые формально «улучшаются», но реально не помогают бизнесу.
На собесе Data Scientist метрики проверяют в трёх форматах: (а) определения — что такое AUC, F1; (б) выбор — какую метрику выбрать для задачи; (в) интерпретация — что значит AUC 0.85 для бизнеса.
Метрики регрессии
MAE (Mean Absolute Error). Среднее абсолютное отклонение. Устойчив к выбросам. Линейный отклик: ошибка 100 в 2 раза хуже ошибки 50.
MSE / RMSE. Среднеквадратичная ошибка / её корень. Наказывает большие ошибки сильнее. Используется как функция потерь чаще, чем для оценки.
R² (коэффициент детерминации). Доля variance, объяснённая моделью. От 0 до 1 (может быть и отрицательным для очень плохой модели). Интуиция: «насколько модель лучше, чем предсказание средним».
MAPE / WAPE. Относительная ошибка. Удобно сравнивать модели на разных шкалах. WAPE = sum(|true - pred|) / sum(true) — более стабильная версия для нулевых значений.
Когда что использовать:
- Прогноз продаж — MAPE или WAPE
- Прогноз цены недвижимости — MAE (выбросы)
- Production-loss для нейросети — MSE (гладкая производная)
Метрики бинарной классификации
Confusion matrix
| Predicted Positive | Predicted Negative | |
|---|---|---|
| Actual Positive | TP | FN |
| Actual Negative | FP | TN |
Все остальные метрики выводятся отсюда.
Accuracy
Accuracy = (TP + TN) / Total. Доля правильных предсказаний.
Когда работает: сбалансированные классы.
Когда обманывает: несбалансированные. Если 99% не fraud, всегда предсказывая «не fraud», получишь 99% accuracy — но модель бесполезна.
Precision и Recall
- Precision = TP / (TP + FP) — из тех, кого назвали positive, сколько действительно positive
- Recall = TP / (TP + FN) — из всех реальных positive, сколько модель нашла
Обратный trade-off:
- Хочешь высокий precision → консервативный порог → ниже recall
- Хочешь высокий recall → агрессивный порог → ниже precision
Когда что важнее:
- Fraud detection — precision (мало false alarms клиентам)
- Скрининг рака — recall (не пропустить больных)
- Email spam — precision (не блокировать важное)
F1-score
F1 = 2 × Precision × Recall / (Precision + Recall). Гармоническое среднее.
Используется когда оба важны примерно одинаково. F-beta — обобщение, можно акцентировать precision (beta < 1) или recall (beta > 1).
Подробнее — accuracy vs F1.
AUC-ROC
ROC-кривая — TPR (= Recall) vs FPR при разных порогах классификатора. AUC — площадь под кривой.
Интерпретация:
- AUC 0.5 — модель случайна
- AUC 0.7 — приемлемая
- AUC 0.8 — хорошая
- AUC 0.9+ — отличная
Преимущества AUC:
- Threshold-independent (не зависит от выбора порога)
- Хорошо работает на сбалансированных задачах
Недостатки:
- На сильно несбалансированных задачах AUC даёт слишком оптимистичную картину
- Не учитывает калибровку
Подробнее — AUC-ROC и метрики классификации.
AUC-PR (Precision-Recall AUC)
Альтернатива AUC-ROC для несбалансированных задач (fraud, rare diseases).
PR-кривая чувствительнее к плохим решениям на positive классе.
Калибровка
Калибровка — соответствие между предсказанной вероятностью и реальной частотой.
«Если модель сказала P(fraud)=0.7, должны ли 70% таких случаев быть реальным фрод?»
Метод проверки: bin предсказаний, сравнить mean prediction с реальной частотой в каждом bin. Brier score — численная мера калибровки.
Калибровка важна, когда predictions используются для бизнес-решений (порог, экспект-калькуляции).
Метрики ранжирования
Когда мы ранжируем (поиск, рекомендации), порядок важнее самой вероятности.
Precision@k / Recall@k. Учитывают только топ-k результатов.
MAP (Mean Average Precision). Усреднённый precision на разных позициях.
MRR (Mean Reciprocal Rank). 1 / позиция первого релевантного результата. Усреднено по запросам.
NDCG (Normalized Discounted Cumulative Gain). Учитывает позицию (выше — важнее) и градацию релевантности. SOTA-метрика для рекомендаций и поиска.
Hit rate / Coverage / Diversity / Novelty. Дополнительные метрики, специфичные для рекомендательных систем.
Метрики многоклассовой классификации
Macro F1. Среднее F1 по классам. Каждый класс равен.
Micro F1 / Weighted F1. Учитывают размер класса.
Top-k accuracy. Доля случаев, когда правильный класс попал в топ-k предсказаний.
Confusion matrix. Для понимания, какие классы путаются.
Метрики LLM и NLP
BLEU, ROUGE. Перекрытие n-грамм с reference. Для машинного перевода и суммаризации.
Perplexity. Уверенность модели в предсказании. Меньше = лучше.
Human eval. Главная метрика для генеративных задач. Дорого, но необходимо.
LLM-as-a-judge. Использовать другую LLM для оценки. Дёшево, но bias.
Как выбрать метрику на собесе
Шаблон ответа:
- Цель бизнеса. Что вообще оптимизируем?
- Сбалансированность. Какое распределение классов?
- Стоимость ошибок. Что хуже — FP или FN?
- Использование предсказаний. Используется как ранжирование, как фильтр, как калиброванная вероятность?
Пример: «Для fraud в платежах: класс несбалансирован (<1%), false positives дорого (блокируем клиента), false negatives тоже дорого (теряем деньги). Использую: precision при заданном recall (например 0.9), AUC-PR как дополнительная метрика».
Типичные вопросы
«AUC 0.85 — хорошо или плохо?» Зависит от: baseline (что было раньше), сложности задачи, бизнес-impact. AUC 0.85 для fraud — отлично. Для скоринга — нормально. Для повторных покупок — нужно сравнивать с baseline и calibration.
«Когда не использовать accuracy?» На несбалансированных задачах. Дополнительно — когда стоимость ошибок асимметрична.
«Что такое калибровка и зачем?» Если используешь предсказания как probability в бизнес-логике, нужна калибровка. Без неё «0.7» не означает 70%.
«Чем AUC-ROC отличается от AUC-PR?» ROC — TPR vs FPR. PR — Precision vs Recall. PR чувствительнее к положительному классу, предпочтительнее для несбалансированных задач.
«Почему F1 чаще precision/recall отдельно?» F1 — одно число, удобно сравнивать. Минус — скрывает trade-off. На собесе лучше упомянуть оба варианта.
Частые ошибки
- Зубрить формулы без интуиции. Формула F1 — знать. «Когда F1 не подходит» — отдельный вопрос
- Игнорировать класс баланс. На имбалансе нужны другие метрики
- Не связывать с бизнесом. AUC 0.9 — это про сколько RUB / клиентов?
- Зубрить только бинарные. Регрессия, multi-class, ranking — всё проверяется
- Не учитывать калибровку. Для бизнес-применения часто важнее, чем «голый» score
FAQ
Какие метрики обязательно знать?
Минимум: Accuracy, Precision, Recall, F1, AUC-ROC, MAE/RMSE, R², NDCG. На senior — AUC-PR, MAP, MRR, Brier score, perplexity, BLEU/ROUGE.
Можно ли сравнивать модели по разным метрикам?
Нет. Один dataset — одна-две главные метрики. Иначе компании каждой модели «лучше» по своей метрике.
Что важнее — offline или online метрики?
Online (A/B-результат) — главный критерий. Offline — индикатор. Хорошая offline-метрика не гарантирует рост online.
Спрашивают ли про метрики моделей generative?
В NLP-командах — да. BLEU, ROUGE, perplexity, human eval. В classical ML — нет.
Как готовиться к этой части собеса?
Прорешать 20+ задач на выбор метрики (Kaggle / pet-projects). Знать формулы. Тренировать ответы «какая метрика для задачи X».