AUC-PR (Area Under the Precision-Recall Curve) — это метрика, которая оценивает качество бинарного классификатора путем вычисления площади под кривой “Precision-Recall”. Это особенно полезная метрика в условиях несбалансированных данных.
Давайте разберем ее подробно.
Сначала разберем PR-кривую
PR-кривая (Precision-Recall curve) — это график, который показывает компромисс между Precision и Recall при различных порогах классификации.
Оси PR-кривой:
- Ось X: Recall (Полнота)
Recall = TP / (TP + FN)- “Какую долю реально положительных объектов мы нашли?”
- Ось Y: Precision (Точность)
Precision = TP / (TP + FP)- “Какая доля предсказанных положительных объектов действительно положительная?”
Как строится PR-кривая?
- Модель выдает вероятности принадлежности к положительному классу для каждого объекта.
- Мы перебираем все возможные пороги классификации от 0 до 1.
- Для каждого порога:
- Считаем Precision и Recall.
- Ставим точку на графике с координатами (Recall, Precision).
- Соединяем все точки — получаем PR-кривую.
Что такое AUC-PR?
AUC-PR — это площадь под PR-кривой.
Эта площадь всегда находится в диапазоне от 0 до 1, и ее интерпретация аналогична AUC-ROC, но с важными отличиями.
Ключевые отличия AUC-PR от AUC-ROC
| Аспект | AUC-ROC | AUC-PR |
|---|---|---|
| Оси | TPR (Recall) vs FPR | Precision vs Recall |
| Базовый уровень (случайная модель) | Всегда 0.5 | Равен доле положительного класса в данных |
| Чувствительность к дисбалансу | Низкая | Высокая |
| Фокус | Качество разделения классов | Качество предсказания положительного класса |
Почему это отличие так важно?
Представьте задачу обнаружения мошенничества, где только 1% транзакций — мошеннические.
- Для AUC-ROC: Случайный угадыватель будет иметь AUC-ROC = 0.5.
- Для AUC-PR: Случайный угадыватель будет иметь AUC-PR ≈ 0.01 (равный доле положительного класса).
Это делает AUC-PR гораздо более строгой и информативной метрикой для несбалансированных данных.
Интерпретация AUC-PR
- AUC-PR = 1.0: Идеальная модель. На всех порогах достигается Precision = 1 и Recall = 1.
- AUC-PR > 0.7: Очень хорошая модель (для несбалансированных данных).
- AUC-PR ≈ доля положительного класса: Качество модели сопоставимо со случайным угадыванием.
- AUC-PR < доли положительного класса: Модель работает хуже случайного угадывания.
Визуализация PR-кривых
TBD
Практический пример
Задача: Обнаружение мошеннических транзакций (1% мошеннических, 99% легальных).
Модель A:
- Находит 80% мошеннических операций (Recall = 0.8)
- Но при этом 50% ее предсказаний “мошенничество” — ложные (Precision = 0.5)
Модель B:
- Находит только 40% мошеннических операций (Recall = 0.4)
- Но когда она говорит “мошенничество”, она почти не ошибается (Precision = 0.95)
Какая модель лучше?
- Для бизнеса может быть важнее Model B с высоким Precision (меньше ложных обвинений легальных клиентов).
- AUC-PR поможет количественно сравнить эти модели, учитывая компромисс между Precision и Recall на всех порогах.
Когда использовать AUC-PR?
AUC-PR предпочтительнее AUC-ROC в следующих случаях:
- Сильно несбалансированные данные — когда положительный класс редкий (менее 10-20%).
- Когда важнее качество предсказания положительного класса — например, в задачах обнаружения заболеваний, мошенничества, спама.
- Когда стоимость False Positive высока — и вам важно минимизировать ложные срабатывания.
Примеры задач, где AUC-PR важна:
- Медицинская диагностика редких заболеваний
- Обнаружение мошенничества в транзакциях
- Поиск аномалий в промышленных системах
- Информационный поиск (поиск релевантных документов)
- Компьютерное зрение для обнаружения редких объектов
Как вычисляется AUC-PR?
Алгоритм вычисления аналогичен AUC-ROC, но с использованием Precision и Recall:
from sklearn.metrics import precision_recall_curve, auc
# y_true - истинные метки, y_scores - вероятности от модели
precision, recall, thresholds = precision_recall_curve(y_true, y_scores)
auc_pr = auc(recall, precision)Краткий итог
- AUC-PR — это площадь под кривой Precision-Recall.
- Это предпочтительная метрика для несбалансированных данных.
- В отличие от AUC-ROC, ее базовый уровень зависит от распределения классов.
- Она лучше отражает качество предсказания положительного класса, особенно когда он редкий.
- Используйте AUC-PR, когда работаете с задачами обнаружения редких событий, аномалий или когда ложные срабатывания особенно дороги.
Правило выбора: Если ваши данные сбалансированы — используйте обе метрики. Если несбалансированы — в первую очередь смотрите на AUC-PR.