Площадь под кривой ROC против общей точности

29

Я немного сбиваю с толку насчет площади под кривой (AUC) ROC и общей точности.

  1. Будет ли AUC пропорционален общей точности? Другими словами, когда мы получим большую общую точность, мы определенно увеличим AUC? Или они по определению положительно коррелируют?

  2. Если они положительно коррелируют, зачем нам сообщать о них обоих в некоторых публикациях?

  3. В реальном случае я выполнил некоторую задачу классификации и получил следующие результаты: классификатор A получил точность 85%, а AUC 0,98 и классификатор B получил точность 93% и AUC 0,92. Вопрос в том, какой классификатор лучше? Или возможно получить подобные результаты, подобные этим (я имею в виду, что в моей реализации может быть ошибка)?

Само Джером
источник
1
Я обнаружил, что статья может заинтересовать некоторых из вас. google.co.uk/...
САМО Джером
Разве AUC не должен быть меньше, чем общая точность, так как мы учитываем ложноположительный показатель в измерении AUC, а мы не в точности ???
Али Султан
РПЦ АУК выгодна, когда классы имеют разный размер. Если 99% объектов являются положительными, то точность 99% достигается путем случайной выборки. Тогда значение ROC AUC будет гораздо более значимым.
Anony-Mousse

Ответы:

26

AUC (на основе ROC) и общая точность кажутся не одинаковыми.

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

Винсент
источник
2
Большое спасибо за ваш ответ! Я понимаю, что общая точность получается из определенной точки отсечения (или порогового значения). Тем не менее, есть одна лучшая точка отсечения, то есть ближайшая к верхнему левому углу. Например, моя общая точность рассчитывается с использованием этой наилучшей точки отсечения, а AUC для всех различных точек отсечения. Тогда как интерпретировать эту точность и AUC? Например, производительность двух классификаторов я упоминал выше.
Само Джером
3
А ну понятно. Вы сравниваете лучшую общую точность и AUC. Но они по-прежнему разные концепции. AUC - это P (прогнозируемая ИСТИНА | фактическая ИСТИНА) против P (ЛОЖЬ | ЛОЖЬ), в то время как общая точность равна P = P (ИСТИНА | ИСТИНА) * P (фактическая ИСТИНА) + P (ЛОЖЬ | ЛОЖЬ) * P ( актуально ЛОЖЬ). Так что это очень сильно зависит от пропорции истинного значения в вашем наборе данных. На практике кажется, что наилучшая общая точность обычно достигается, когда точка среза близка к P (фактическое ИСТИНА).
Винсент
Таким образом, AUC и лучшая общая точность могут быть непоследовательными, в зависимости от пропорции истинного значения вашего набора данных. В вашем случае кажется, что один из классификаторов больше ориентирован на чувствительность, а другой на специфику. И на вашем текущем наборе данных, P (ИСТИНА) не 50%. Так что чувствительность и специфичность способствуют общей точности по-разному. На практике РПЦ может дать нам больше информации, и мы хотели бы выбрать более классный случай в каждом конкретном случае. Например, классификатор спама может быть больше сфокусирован на P (не спам | не спам), чтобы не пропустить важные электронные письма.
Винсент
Спасибо за Ваш ответ. Теперь все намного понятнее. Но если кто-то еще хочет обсудить, пожалуйста, напишите здесь.
Само Джером
27

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

AUROC

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

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

Таким образом, классификатор с более высокой статистикой AUROC (при прочих равных условиях), вероятно, также будет иметь более высокую общую точность, поскольку ранжирование шаблонов (которое измеряет AUROC) выгодно как для AUROC, так и для общей точности. Однако, если один классификатор ранжирует шаблоны хорошо, но плохо выбирает порог, он может иметь высокий AUROC, но общую точность плохую.

Практическое использование

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

Для многих задач операционная ошибочная классификация неизвестна или переменна, или частоты рабочего класса отличаются от таковых в обучающей выборке или являются переменными. В этом случае общая точность часто довольно бессмысленна, и AUROC является лучшим индикатором производительности, и в идеале нам нужен классификатор, который выводит хорошо откалиброванные вероятности, чтобы мы могли компенсировать эти проблемы при оперативном использовании. По существу, какой показатель важен, зависит от проблемы, которую мы пытаемся решить.

Дикран Сумчатый
источник
Дикран, у тебя есть ссылка на первый абзац?
Bunder
@ Непосредственно, AUROC - это вероятность того, что случайно выбранный + ve шаблон будет оценен выше, чем случайно выбранный -ve шаблон ( en.wikipedia.org/wiki/… ) и, следовательно, является мерой качества рейтинга , поскольку мы хотим, чтобы эта вероятность была как можно выше.
Дикран Сумчатый
5

Действительно ли AUC очень полезный показатель?

Я бы сказал, ожидаемая стоимость является более подходящей мерой.

Тогда у вас будет стоимость A для всех ложных срабатываний и стоимость B для всех ложных отрицательных. Вполне возможно, что другой класс относительно дороже, чем другие. Конечно, если у вас есть затраты на ложную классификацию в различных подгруппах, это будет еще более мощный показатель.

С помощью графика отсечения по оси X и ожидаемой стоимости по оси Y вы можете увидеть, какая точка отсечения минимизирует ожидаемую стоимость.

Формально у вас есть функция потерь Loss (отсечение | данные, стоимость), которую вы пытаетесь минимизировать.

Аналитик
источник
3
Ожидаемые затраты могут быть оценены только в том случае, если вам известны ложноположительные и ложноотрицательные затраты, которые не нужны для расчета AUC, что является хорошей статистикой для использования, если затраты неизвестны или являются переменными.
Дикран Сумчатый
4

Как и все ответы были опубликованы: ROCи accuracyэто принципиально два разных понятия.

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

Подобный показатель accuracyрассчитывается на основе распределения классов test datasetили cross-validation, но это отношение может измениться, когда вы применяете классификатор к реальным данным, поскольку базовое распределение классов было изменено или неизвестно. С другой стороны, TP rateи то, FP rateчто используется для построения AUC, не будет затронуто смещением распределения классов.

Лин Ма
источник