Я немного сбиваю с толку насчет площади под кривой (AUC) ROC и общей точности.
Будет ли AUC пропорционален общей точности? Другими словами, когда мы получим большую общую точность, мы определенно увеличим AUC? Или они по определению положительно коррелируют?
Если они положительно коррелируют, зачем нам сообщать о них обоих в некоторых публикациях?
В реальном случае я выполнил некоторую задачу классификации и получил следующие результаты: классификатор A получил точность 85%, а AUC 0,98 и классификатор B получил точность 93% и AUC 0,92. Вопрос в том, какой классификатор лучше? Или возможно получить подобные результаты, подобные этим (я имею в виду, что в моей реализации может быть ошибка)?
classification
roc
Само Джером
источник
источник
Ответы:
AUC (на основе ROC) и общая точность кажутся не одинаковыми.
Общая точность основана на одной конкретной точке среза, в то время как ROC пробует все точки среза и отображает чувствительность и специфичность. Поэтому, когда мы сравниваем общую точность, мы сравниваем точность, основанную на некоторой точке отсечения. Общая точность зависит от точки отсечения.
источник
Хотя эти два статистических показателя, вероятно, будут коррелировать, они измеряют различные качества классификатора.
AUROC
Площадь под кривой (AUC) равна вероятности того, что классификатор оценит случайно выбранный положительный экземпляр выше, чем случайно выбранный отрицательный пример. Он измеряет умение классификаторов ранжировать набор шаблонов в соответствии со степенью их принадлежности к положительному классу, но без фактического присвоения шаблонов классам.
Общая точность также зависит от способности классификатора ранжировать шаблоны, а также от его способности выбирать пороговое значение в ранжировании, используемом для назначения шаблонов положительному классу, если он выше порога, и отрицательному классу, если он ниже.
Таким образом, классификатор с более высокой статистикой AUROC (при прочих равных условиях), вероятно, также будет иметь более высокую общую точность, поскольку ранжирование шаблонов (которое измеряет AUROC) выгодно как для AUROC, так и для общей точности. Однако, если один классификатор ранжирует шаблоны хорошо, но плохо выбирает порог, он может иметь высокий AUROC, но общую точность плохую.
Практическое использование
На практике мне нравится собирать общую точность, AUROC и, если классификатор оценивает вероятность членства в классе, перекрестную энтропию или прогнозную информацию. Затем у меня есть метрика, которая измеряет ее грубую способность выполнять жесткую классификацию (при условии, что ложноположительные и ложноотрицательные затраты на ошибочную классификацию равны, а частоты классов в выборке такие же, как и при оперативном использовании - большое предположение!), метрика, которая измеряет способность ранжировать шаблоны, и метрика, которая измеряет, насколько хорошо ранжирование откалибровано как вероятность.
Для многих задач операционная ошибочная классификация неизвестна или переменна, или частоты рабочего класса отличаются от таковых в обучающей выборке или являются переменными. В этом случае общая точность часто довольно бессмысленна, и AUROC является лучшим индикатором производительности, и в идеале нам нужен классификатор, который выводит хорошо откалиброванные вероятности, чтобы мы могли компенсировать эти проблемы при оперативном использовании. По существу, какой показатель важен, зависит от проблемы, которую мы пытаемся решить.
источник
Действительно ли AUC очень полезный показатель?
Я бы сказал, ожидаемая стоимость является более подходящей мерой.
Тогда у вас будет стоимость A для всех ложных срабатываний и стоимость B для всех ложных отрицательных. Вполне возможно, что другой класс относительно дороже, чем другие. Конечно, если у вас есть затраты на ложную классификацию в различных подгруппах, это будет еще более мощный показатель.
С помощью графика отсечения по оси X и ожидаемой стоимости по оси Y вы можете увидеть, какая точка отсечения минимизирует ожидаемую стоимость.
Формально у вас есть функция потерь Loss (отсечение | данные, стоимость), которую вы пытаетесь минимизировать.
источник
Как и все ответы были опубликованы:
ROC
иaccuracy
это принципиально два разных понятия.Вообще говоря,
ROC
описывает дискриминационную силу классификатора, независимую от распределения классов и неравных затрат на ошибки прогнозирования (ложноположительные и ложноотрицательные затраты).Подобный показатель
accuracy
рассчитывается на основе распределения классовtest dataset
илиcross-validation
, но это отношение может измениться, когда вы применяете классификатор к реальным данным, поскольку базовое распределение классов было изменено или неизвестно. С другой стороны,TP rate
и то,FP rate
что используется для построенияAUC
, не будет затронуто смещением распределения классов.источник