Sobes.tech
Back to questions
Middle
9

Что такое метрика ROC AUC?

Companies where asked
СБЕРСБЕР
ДомкликДомклик
SoftInterMob
ГазпромбанкГазпромбанк

Answer from AI

sobes.tech AI

Что хотят услышать интервьюеры:

ROC AUC — это метрика качества бинарного классификатора, которая показывает, насколько хорошо модель разделяет положительный и отрицательный классы. Она удобна, когда важен не только один порог, а общее качество ранжирования. Чем ближе значение к 1, тем лучше модель; значение около 0.5 обычно означает уровень случайного угадывания.

Определение:

ROC AUC — это площадь под ROC-кривой. ROC-кривая строится по значениям TPR и FPR при разных порогах классификации:

  • TPR (True Positive Rate) — доля правильно найденных положительных объектов;
  • FPR (False Positive Rate) — доля отрицательных объектов, ошибочно отнесённых к положительным.

AUC интерпретируется как вероятность того, что модель присвоит случайному положительному объекту больший score, чем случайному отрицательному.

Пример использования:

Метрику часто используют в задачах, где классы несбалансированы и важно качество ранжирования, например в антифроде, скоринге клиентов или диагностике заболеваний.

from sklearn.metrics import roc_auc_score

y_true = [0, 0, 1, 1]
y_score = [0.1, 0.4, 0.35, 0.8]

auc = roc_auc_score(y_true, y_score)
print(auc)  # 0.75

В этом примере модель выдаёт не метки классов, а вероятности/скор. ROC AUC оценивает, насколько хорошо эти scores упорядочивают объекты: положительные должны получать более высокие значения, чем отрицательные.

Пояснение кода:

  • y_true — истинные метки классов.
  • y_score — предсказанные моделью вероятности или scores для положительного класса.
  • roc_auc_score вычисляет площадь под ROC-кривой по этим значениям.
  • Результат 0.75 означает, что модель в среднем неплохо различает классы, но не идеально.

Ключевые моменты:

  • ROC AUC оценивает качество ранжирования, а не только классификации по одному порогу.
  • Значение 0.5 — примерно случайный уровень, 1.0 — идеальное разделение классов.
  • Метрика особенно полезна при несбалансированных классах.
  • ROC AUC обычно считают по вероятностям или score, а не по жёстким меткам классов.
  • Высокий ROC AUC не гарантирует хорошую калибровку вероятностей и не всегда отражает качество в нужном рабочем пороге.