Area Under the Curve (AUC)
Узнай, как площадь под кривой (AUC) измеряет производительность модели. Исследуй ее роль в классификации, здравоохранении и финансах с использованием Ultralytics YOLO26.
Area Under the Curve (AUC) — это комплексная метрика производительности, используемая в machine learning (ML) для оценки разделительной способности модели классификации. В частности, она измеряет двумерную площадь под Receiver Operating Characteristic (ROC) curve, выдавая одно скалярное значение в диапазоне от 0 до 1. Значение AUC, равное 1.0, указывает на идеальный классификатор, в то время как AUC 0.5 предполагает, что модель работает не лучше случайного угадывания. Поскольку эта метрика объединяет показатели для всех возможных порогов классификации, AUC особенно эффективна для оценки возможностей predictive modeling в сценариях, где оптимальная граница принятия решений неизвестна или меняется.
Связь между ROC и AUC#
Чтобы полностью понять AUC, необходимо разобраться в лежащей в ее основе ROC-кривой. Этот график отображает зависимость True Positive Rate (Recall) от False Positive Rate при различных пороговых значениях. AUC по сути количественно определяет вероятность того, что модель оценит случайно выбранный положительный объект выше, чем случайно выбранный отрицательный.
- Разделимость: AUC измеряет, насколько хорошо модель различает классы (например, «собака» против «кошки»). Более высокая разделимость означает более точные прогнозы.
- Инвариантность к порогу: В отличие от F1-score, который зависит от конкретной точки отсечения, AUC дает широкое представление о качестве модели.
- Инвариантность к масштабу: Она измеряет, насколько правильно ранжируются прогнозы, а не их абсолютные значения вероятности.
Реальные приложения#
AUC является предпочтительной метрикой в отраслях, связанных с критически важными решениями и imbalanced datasets, где один класс встречается значительно реже другого.
-
Медицинская диагностика: В области AI in healthcare модели обучаются распознавать патологии по данным medical image analysis. Например, модель, обнаруживающая редкие опухоли, должна отдавать приоритет sensitivity. Высокое значение AUC гарантирует, что система надежно присваивает более высокие баллы риска реальным пациентам по сравнению со здоровыми людьми, сокращая количество опасных ложноотрицательных результатов.
-
Обнаружение финансового мошенничества: Финансовые организации используют AI in finance для выявления мошеннических транзакций. Поскольку легитимные транзакции значительно превосходят по количеству мошеннические, модель может достичь 99% точности, просто называя все транзакции «легитимными». AUC предотвращает это, оценивая, насколько хорошо модель отделяет реальные попытки мошенничества от нормального поведения, независимо от распределения классов.
Отличие AUC от связанных метрик#
Крайне важно отличать AUC от других model evaluation insights, чтобы выбрать правильный инструмент для своего проекта.
- AUC против Accuracy: Accuracy — это просто отношение правильных предсказаний к общему числу предсказаний. На сильно несбалансированных наборах данных точность может быть обманчиво высокой. AUC устойчива к дисбалансу классов, обеспечивая более честную оценку производительности классификатора.
- AUC против Precision-Recall: В то время как ROC-AUC является стандартом для сбалансированных результатов, площадь под кривой Precision-Recall (AUPRC) часто предпочтительнее, когда «положительный» класс встречается крайне редко, а ложноположительные результаты вызывают серьезное беспокойство.
- AUC против mAP: В задачах object detection с использованием таких моделей, как YOLO26, стандартной метрикой является Mean Average Precision (mAP). Хотя mAP концептуально похожа — она вычисляет площадь под кривой Precision-Recall при различных пороговых значениях Intersection over Union (IoU) — AUC строго относится к ROC-кривой в бинарной классификации или классификации с несколькими классами.
Пример кода#
Следующий пример демонстрирует, как загрузить предобученную модель классификации YOLO26 и запустить валидацию. Хотя модели YOLO в основном сообщают о точности top-1 и top-5, процесс валидации генерирует данные предсказаний, необходимые для анализа метрик на основе кривых.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Validate the model on a standard dataset (e.g., imagenet10)
# This generates precision, recall, and accuracy metrics
results = model.val(data="imagenet10")
# Access top-1 accuracy, a key point on the ROC curve
print(f"Top-1 Accuracy: {results.top1:.4f}")
print(f"Top-5 Accuracy: {results.top5:.4f}")Для комплексного управления жизненным циклом, включая разметку наборов данных и обучение в облаке, где эти метрики визуализируются автоматически, разработчики могут использовать Ultralytics Platform. Это упрощает процесс интерпретации сложных метрик, таких как AUC, без ручных расчетов.






