ROC-кривая и AUC-метрика

Что такое ROC-кривая?

ROC-кривая (Receiver Operating Characteristic) — это мощный инструмент для оценки качества бинарных классификаторов. Она показывает, как меняется соотношение между двумя важными метриками при варьировании порога классификации.

Представьте, что ваш модель предсказывает вероятность принадлежности к классу 1 (например, "болен" или "клиент купит"). Но чтобы получить окончательный ответ — "да" или "нет" — нужно выбрать порог. Обычно это 0.5, но не всегда это оптимально! ROC-кривая помогает найти лучший баланс.

🎯 Ключевая идея: ROC-кривая позволяет оценить модель независимо от конкретного порога классификации

Основные понятия: TPR и FPR

Для понимания кривой нужно разобрать две фундаментальные метрики:

Метрика Расшифровка Формула Интерпретация
TPR (True Positive Rate) Полнота (Recall) TPR = TP / (TP + FN) Какую долю реальных положительных случаев мы нашли
FPR (False Positive Rate) Ложная тревога FPR = FP / (FP + TN) Какую долю реальных отрицательных случаев мы ошибочно назвали положительными

💡 Запомните: идеальный классификатор имеет TPR = 1 и FPR = 0 — он находит все нужные случаи без ложных срабатываний

Как строится ROC-кривая

  1. Мы получаем от модели вероятности для каждого объекта
  2. Сортируем объекты по убыванию вероятности
  3. Последовательно перебираем пороги от 0 до 1
  4. Для каждого порога считаем TPR и FPR
  5. Строим график: FPR по оси X, TPR по оси Y

Что такое AUC и как его интерпретировать

AUC (Area Under Curve) — это площадь под ROC-кривой. Эта метрика показывает общее качество модели одним числом от 0 до 1.

Значение AUC Интерпретация
0.5 Модель не лучше случайного угадывания
0.7 - 0.8 Хорошее качество
0.8 - 0.9 Отличное качество
> 0.9 Превосходное качество
1.0 Идеальная модель

📘 Важно: AUC показывает способность модели ранжировать объекты — насколько вероятности положительного класса выше для реально положительных объектов


Практическая задача

У нас есть модель, предсказавшая вероятности для 10 объектов. Реальные метки и вероятности:

Объект Реальный класс Вероятность класса 1
1 1 0.9
2 0 0.8
3 1 0.7
4 0 0.6
5 1 0.5
6 0 0.4
7 1 0.3
8 0 0.2
9 0 0.1
10 1 0.05

Пошаговое решение

Шаг 1: Сортируем объекты по убыванию вероятности

Вероятность Реальный класс
0.9 1
0.8 0
0.7 1
0.6 0
0.5 1
0.4 0
0.3 1
0.2 0
0.1 0
0.05 1

Шаг 2: Рассчитываем TPR и FPR для разных порогов

Всего положительных классов: 5 (объекты 1, 3, 5, 7, 10)
Всего отрицательных классов: 5 (объекты 2, 4, 6, 8, 9)

Для порога 0.9 (предсказываем 1 если вероятность ≥ 0.9):

  • TP = 1 (только объект 1)
  • FP = 0
  • TPR = 1/5 = 0.2
  • FPR = 0/5 = 0

Для порога 0.7 (предсказываем 1 если вероятность ≥ 0.7):

  • TP = 2 (объекты 1 и 3)
  • FP = 1 (объект 2)
  • TPR = 2/5 = 0.4
  • FPR = 1/5 = 0.2
Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео