Действительно отличный вопрос, который, как мне кажется, большинство людей не понимают на интуитивном уровне. AUC
на самом деле часто предпочтительнее, чем точность для двоичной классификации по ряду различных причин. Во-первых, давайте поговорим о том, что именно AUC
. Честно говоря, для того, чтобы быть одним из наиболее широко используемых показателей эффективности, на удивление тупо выяснить, как именно AUC
работает.
AUC
обозначает Area Under the Curve
, какую кривую вы спрашиваете? Ну, это было бы ROC
кривой. ROC
расшифровывается как эксплуатационная характеристика приемника , которая на самом деле немного неинтуитивна. Неявная цель AUC
состоит в том, чтобы иметь дело с ситуациями, когда у вас очень искаженный пример распределения, и вы не хотите соответствовать одному классу.
Отличным примером является обнаружение спама. Как правило, наборы данных о спаме сильно смещены в сторону ветчины или не спама. Если ваш набор данных составляет 90%, вы можете получить чертовски хорошую точность, просто сказав, что каждое электронное письмо является ветчиной, что, очевидно, указывает на неидеальный классификатор. Давайте начнем с пары показателей, которые немного более полезны для нас, в частности, с истинно положительной оценкой ( TPR
) и ложноположительной оценкой ( FPR
):
Теперь на этом графике TPR
конкретно указано соотношение истинных положительных результатов ко всем положительным, а FPR
также отношение ложных положительных результатов ко всем отрицательным. (Имейте в виду, что это только для двоичной классификации.) На графике, подобном этому, должно быть довольно просто выяснить, что предсказание всех 0 или всех 1 приведет к точкам (0,0)
и (1,1)
соответственно. Если вы проведете линию через эти линии, вы получите что-то вроде этого:
Который выглядит в основном как диагональная линия (так оно и есть), и с помощью некоторой простой геометрии вы можете видеть, что AUC
такой модели будет 0.5
(высота и основание равны 1). Аналогично, если вы прогнозируете случайный ассортимент из 0 и 1, скажем, 90% 1, вы можете получить точку (0.9, 0.9)
, которая снова падает вдоль этой диагональной линии.
Теперь начинается интересная часть. Что если бы мы не только предсказывали 0 и 1? Что если вместо этого мы хотим сказать, что теоретически мы собираемся установить отсечение, выше которого каждый результат равен 1, а ниже которого каждый результат равен 0. Это будет означать, что в крайних случаях вы получите исходную ситуацию, когда вы иметь все 0 и все 1 (с отсечением 0 и 1 соответственно), но также и ряд промежуточных состояний, которые попадают в 1x1
граф, который содержит ваш ROC
. На практике вы получаете что-то вроде этого:
Таким образом, в основном то, что вы на самом деле получаете, когда вы делаете AUC
сверхточность, это то, что сильно отговорит людей, выбирающих модели, которые являются репрезентативными, но не дискриминационными, поскольку это будет фактически выбирать только для моделей, которые достигают ложноположительных и истинно положительных показателей, которые значительно выше случайного шанса, что не гарантируется для точности.