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

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

Кривая рабочей характеристики приемника (ROC)

Кривая ROC — это визуальное представление производительности модели по всем порогам. Длинная версия названия, рабочая характеристика приемника, является пережитком радарного обнаружения времен Второй мировой войны.

Кривая ROC строится путем вычисления истинно положительного уровня (TPR) и ложноположительного уровня (FPR) при каждом возможном пороге (на практике, в выбранных интервалах), а затем построения графика TPR по FPR. Идеальная модель, которая при некотором пороге имеет TPR 1,0 и FPR 0,0, может быть представлена ​​либо точкой в ​​(0, 1), если все остальные пороги игнорируются, либо следующим образом:

Рисунок 1. График TPR (ось Y) против FPR (ось X), показывающий производительность идеальной модели: линия от (0,1) до (1,1).
Рисунок 1. ROC и AUC гипотетической идеальной модели.

Площадь под кривой (AUC)

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

Идеальная модель выше, содержащая квадрат со сторонами длиной 1, имеет площадь под кривой (AUC) 1,0. Это означает, что существует 100% вероятность того, что модель правильно ранжирует случайно выбранный положительный пример выше, чем случайно выбранный отрицательный пример. Другими словами, глядя на разброс точек данных ниже, AUC дает вероятность того, что модель поместит случайно выбранный квадрат справа от случайно выбранного круга, независимо от того, где установлен порог.

Строка данных виджета без ползунка

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

Для бинарного классификатора модель, которая работает точно так же хорошо, как случайные догадки или подбрасывания монеты, имеет ROC, представляющую собой диагональную линию от (0,0) до (1,1). AUC составляет 0,5, что представляет собой 50% вероятность правильного ранжирования случайного положительного и отрицательного примера.

В примере со спам-классификатором спам-классификатор с AUC 0,5 присваивает случайному спам-письму более высокую вероятность того, что оно является спамом, чем случайное законное письмо, только в половине случаев.

Рисунок 2. График TPR (ось Y) против FPR (ось X), показывающий производительность случайного угадывателя 50/50: диагональная линия от (0,0) до (1,1).
Рисунок 2. ROC и AUC полностью случайных предположений.

(Необязательно, расширенный) Кривая точности-полноты

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

Пример кривой точности-полноты с нисходящей выпуклой кривой от (0,1) до (1,0)

AUC и ROC для выбора модели и порогового значения

AUC — полезная мера для сравнения производительности двух разных моделей, если набор данных примерно сбалансирован. Модель с большей площадью под кривой, как правило, является лучшей.

Рисунок 3.а. График ROC/AUC модели с AUC=0,65.Рисунок 3.б. График ROC/AUC модели с AUC=0,93.
Рисунок 3. ROC и AUC двух гипотетических моделей. Кривая справа, с большим AUC, представляет лучшую из двух моделей.

Точки на кривой ROC, ближайшие к (0,1), представляют собой диапазон наиболее эффективных пороговых значений для данной модели. Как обсуждалось в разделах Пороговые значения , Матрица путаницы и Выбор метрики и компромиссов , выбранный вами порог зависит от того, какая метрика наиболее важна для конкретного варианта использования. Рассмотрим точки A, B и C на следующей диаграмме, каждая из которых представляет собой пороговое значение:

Рисунок 4. ROC-кривая AUC=0,84, показывающая три точки на выпуклой части кривой, ближайшие к (0,1), обозначенные A, B, C по порядку.
Рисунок 4. Три помеченные точки, представляющие пороговые значения.

Если ложные срабатывания (ложные тревоги) обходятся очень дорого, может иметь смысл выбрать порог, который дает более низкий FPR, как в точке A, даже если TPR уменьшается. И наоборот, если ложные срабатывания дешевы, а ложные отрицательные (пропущенные истинные срабатывания) обходятся очень дорого, порог для точки C, который максимизирует TPR, может быть предпочтительнее. Если затраты примерно равны, точка B может предложить наилучший баланс между TPR и FPR.

Вот кривая ROC для данных, которые мы видели ранее:

Упражнение: проверьте свое понимание

На практике кривые ROC гораздо менее регулярны, чем иллюстрации, приведенные выше. Какая из следующих моделей, представленных их кривой ROC и AUC, имеет наилучшую производительность?
ROC-кривая, которая идет вверх, а затем вправо от (0,0) до (1,1). Кривая имеет AUC 0,77.
Данная модель имеет самый высокий показатель AUC, что соответствует наилучшей производительности.
ROC-кривая, которая представляет собой приблизительно прямую линию от (0,0) до (1,1), с несколькими зигзагами. Кривая имеет AUC 0,508.
ROC-кривая, которая зигзагом поднимается и вправо от (0,0) до (1,1). Кривая имеет AUC 0,623.
ROC-кривая, которая изгибается вправо, а затем вверх от (0,0) до (1,1). Кривая имеет AUC 0,31.
Какая из следующих моделей работает хуже, чем случайность?
ROC-кривая, которая изгибается вправо, а затем вверх от (0,0) до (1,1). Кривая имеет AUC 0,32.
Значение AUC этой модели ниже 0,5, что означает, что ее эффективность хуже случайной.
ROC-кривая, которая представляет собой приблизительно прямую линию от (0,0) до (1,1), с несколькими зигзагами. Кривая имеет AUC 0,508.
Эта модель работает немного лучше, чем случайность.
ROC-кривая, которая представляет собой диагональную прямую линию от (0,0) до (1,1). Кривая имеет AUC 0,5.
Эта модель работает так же, как и случайность.
ROC-кривая, состоящая из двух перпендикулярных линий: вертикальной линии от (0,0) до (0,1) и горизонтальной линии от (0,1) до (1,1). Эта кривая имеет AUC 1,0.
Это гипотетический идеальный классификатор.

(Необязательно, продвинутый) Бонусный вопрос

Какие из следующих изменений можно внести в модель «хуже, чем случайность» из предыдущего вопроса, чтобы она работала лучше, чем случайность?
Поменяйте местами предсказания так, чтобы предсказания 1 стали 0 , а предсказания 0 стали 1 .
Если бинарный классификатор надежно помещает примеры в неправильные классы чаще, чем случайно, то переключение метки класса немедленно делает его предсказания лучше, чем случайно, без необходимости переобучения модели.
Пусть он всегда предсказывает отрицательный класс.
Это может улучшить производительность выше случайности, а может и нет. Кроме того, как обсуждалось в разделе «Точность» , это не полезная модель.
Пусть он всегда предсказывает положительный класс.
Это может улучшить производительность выше случайности, а может и нет. Кроме того, как обсуждалось в разделе «Точность» , это не полезная модель.

Представьте себе ситуацию, когда лучше позволить спаму попасть в папку «Входящие», чем отправить критически важное для бизнеса письмо в папку «Спам». Вы обучили классификатор спама для этой ситуации, где положительный класс — спам, а отрицательный — не спам. Какая из следующих точек на кривой ROC для вашего классификатора предпочтительнее?

ROC-кривая AUC=0,84, показывающая три точки на выпуклой части кривой, которые близки к (0,1). Точка A находится примерно в точке (0,25, 0,75). Точка B находится примерно в точке (0,30, 0,90) и является точкой, которая максимизирует TPR, минимизируя FPR. Точка C находится примерно в точке (0,4, 0,95).
Точка А
В этом случае лучше минимизировать количество ложных срабатываний, даже если количество истинно положительных срабатываний также уменьшится.
Точка Б
Этот порог уравновешивает истинные и ложные положительные результаты.
Точка С
Этот порог максимизирует количество истинно положительных срабатываний (больше помеченных как спам) за счет большего количества ложноположительных срабатываний (больше легитимных писем помечены как спам).