ROC-кривая и калькулятор AUC — оценка бинарного классификатора

Продвинутые статистические тесты

Введите ниже прогнозные оценки вашей модели и истинные метки, чтобы построить ROC-кривую и вычислить площадь под кривой (AUC).

ROC-кривая и калькулятор AUC — оценка бинарного классификатора
Продвинутые статистические тесты

Введите по одному наблюдению в строке в формате 'score,label'. Метки должны быть 0 или 1. Пример: 0.9,1

О калькуляторе ROC-кривой и AUC

ROC-кривая (Receiver Operating Characteristic) — это графический инструмент для оценки способности бинарной модели классификации различать классы на всех возможных порогах принятия решения. Она отображает долю истинно положительных результатов (TPR, или чувствительность) по оси y и долю ложно положительных результатов (FPR, или 1 − специфичность) по оси x при изменении порога решения от высокого к низкому. Чувствительность (TPR) — это доля правильно идентифицированных истинных положительных случаев: TPR = TP / (TP + FN). Специфичность — это доля правильно идентифицированных истинных отрицательных случаев: Специфичность = TN / (TN + FP). FPR = 1 − Специфичность = FP / (TN + FP). Идеальный классификатор проходил бы через левый верхний угол (FPR = 0, TPR = 1), тогда как ROC-кривая случайного классификатора лежит на диагонали от (0,0) до (1,1). Площадь под ROC-кривой (AUC) сводит общую эффективность классификации к одному числу. AUC 1.0 означает идеальную дискриминацию; 0.5 — отсутствие дискриминации (эквивалент случайного угадывания). По общему правилу: AUC ≥ 0.9 — отличная, 0.8–0.9 — хорошая, 0.7–0.8 — удовлетворительная, а ниже 0.7 — низкая. Этот калькулятор вычисляет AUC по формуле трапеций, интегрируя площадь под ступенчатой ROC-кривой. Он также определяет оптимальный порог решения с помощью статистики J Юдена (J = чувствительность + специфичность − 1), которая максимизирует сумму чувствительности и специфичности и дает сбалансированную рабочую точку. ROC-кривые и AUC — стандартные метрики оценки в медицинской диагностике (когда классификаторы разделяют больных и здоровых), машинном обучении (оценка бинарных моделей) и кредитном скоринге. В отличие от точности, AUC не чувствительна к дисбалансу классов, что делает ее особенно полезной, когда положительных случаев мало. Этот инструмент принимает любой список пар оценка-метка. Оценки могут быть вероятностями, значениями logit или любыми непрерывными ранжирующими значениями. Метки должны быть 0 (отрицательный класс) или 1 (положительный класс). В таблице результатов показаны все рабочие точки ROC, а строка с оптимальным порогом выделена для удобства.

Примеры ROC-кривой

Эти примеры показывают, как значения AUC соответствуют разным уровням качества классификатора.

Пары оценка, меткаAUCИнтерпретация
0.9,1 / 0.8,1 / 0.3,0 / 0.2,0AUC = 1.0Идеальный классификатор
0.9,1 / 0.8,1 / 0.75,1 / 0.6,0 / 0.55,1 / 0.45,0 / 0.4,0 / 0.35,0AUC ≈ 0.9375Отличная дискриминация
0.9,0 / 0.8,1 / 0.7,0 / 0.6,1 / 0.5,0 / 0.4,1AUC ≈ 0.33Обратный порядок — хуже случайного

Как пользоваться этим калькулятором

  1. Введите по одному наблюдению в строке в формате 'score,label', где score — числовой прогноз, а label — 0 или 1.
  2. Убедитесь, что в данных есть и положительные (label=1), и отрицательные (label=0) примеры.
  3. Нажмите 'Вычислить', чтобы посчитать AUC и сгенерировать точки ROC-кривой.
  4. Оцените значение AUC и его качественную интерпретацию (отличная, хорошая, удовлетворительная или низкая).
  5. Найдите строку оптимального порога (выделена в таблице), чтобы получить лучший баланс чувствительности и специфичности.

Часто задаваемые вопросы

Что такое AUC и почему это важно?
AUC (Area Under the ROC Curve) измеряет способность классификатора ранжировать положительные объекты выше отрицательных на всех порогах. Она не зависит от порога и устойчива к дисбалансу классов, поэтому является стандартной метрикой для бинарной классификации в медицине, машинном обучении и финансах.
Что означает AUC 0.5?
AUC 0.5 означает, что классификатор работает не лучше случайного угадывания — он случайным образом ранжирует положительные и отрицательные объекты. Любая AUC ниже 0.5 говорит о систематической ошибке классификатора, и инверсия его предсказаний дала бы результат лучше случайного.
Как выбирается оптимальный порог?
Этот калькулятор использует статистику J Юдена (J = чувствительность + специфичность − 1) для выбора оптимального порога. Она максимизирует сумму чувствительности и специфичности, обеспечивая сбалансированную рабочую точку. Альтернативные критерии, такие как минимизация затрат или максимизация F1-score, могут дать другие оптимальные пороги в зависимости от задачи.
Можно ли использовать AUC для многоклассовой классификации?
Стандартная AUC определена для бинарной классификации. Для многоклассовых задач можно вычислять one-vs-rest AUC для каждого класса отдельно или публиковать макроусреднённую либо взвешенную AUC. Этот калькулятор поддерживает только бинарную классификацию (метки 0 и 1).
В чем разница между чувствительностью и специфичностью?
Чувствительность (recall или TPR) показывает, насколько хорошо классификатор обнаруживает истинно положительные случаи: TP / (TP + FN). Специфичность показывает, насколько хорошо он избегает ложных тревог: TN / (TN + FP). Высокая чувствительность критична, когда пропуск положительного случая дорог (например, скрининг заболеваний). Высокая специфичность важна, когда ложные срабатывания дороги (например, подтверждающие тесты).
Всегда ли AUC — лучшая метрика для оценки модели?
AUC отлично подходит для сравнения моделей на разных порогах и для несбалансированных наборов данных, но не всегда является лучшим выбором. При сильном дисбалансе данных более информативной часто бывает площадь под Precision-Recall кривой (PR-AUC). Для конкретного порога решения более уместны метрики вроде F1-score, accuracy или коэффициента корреляции Мэтьюса.