среда, 29 августа 2018 г.

Классификация: ROC и AUC

ROC кривая

ROC кривая (кривая рабочей характеристики приемника (receiver operating characteristic curve)) - это граф, показывающий производительность модели классификации при всех возможных значениях классификационных порогов. Эта кривая - график двух параметров:

  • Истинно положительная скорость (True Positive Rate)
  • Ложно положительная скорость (False Positive Rate)

Истинно положительная скорость (TPR) - это синоним отзыва и поэтому, определяется следующим образом:

TPR = TP / (TP + FN)

Ложно положительная скорость (FPR) определяется следующим образом:

FPR = FP / (FP + TN)

Кривая ROC является графиком TPR и FPR при разных значениях порогов классификации. Снижение порога классификации классифицирует больше примеров как позитивные, при этом увеличиваются и Ложно положительные и Истинно положительные. Следующий график показывает типичную ROC кривую.

TP и FP скорость при разных классификационных порогах.

Чтобы вычислить точки на ROC кривой мы можем оценить модель логистической регрессии много раз с разными классификационными порогами, но это будет неэффективно. К счастью, существует эффективный, основанный на сортировке, алгоритм, который может предоставить нам эту информацию, называемый AUC.

AUC: область под ROC кривой

AUC обозначает "область под ROC кривой" ("Area under the ROC Curve"). AUC измеряет всю двухмерную область под всей ROC привой (то есть вычисляет интеграл) от (0,0) до (1,1).

AUC (область под ROC кривой)

AUC предоставляет совокупное измерение производительности при всех возможных значениях классификационного порога. Один из путей интерпретировать AUC - рассматривать ее как вероятность, что модель ранжирует случайный позитивный пример выше, чем случайный негативный пример. Например, даны следующие примеры, которые распределены слева направо в восходящем порядке прогнозов логистической регрессии:

Прогнозы ранжированные в восходящем порядке счета логистической регрессии.

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

AUC выдает результаты в периоде от 0 до 1. Модель, чьи прогнозы 100% ошибочны, имеет AUC равную 0.0, а модель со 100% верными прогнозами имеет AUC равную 1.0.

AUC привлекательна по следующим двум причинам:

  • AUC не обращает внимание на масштаб. Она измеряет насколько хорошо прогнозы ранжированы, а не их абсолютные значения.
  • AUC не обращает внимание на классификационный порог. Она измеряет качество прогнозов модели вне зависимости от того какой классификационный порог выбран.

Однако, обе эти причины имеют ограничения, которые могут ограничить полезность AUC в определенных случаях:

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