Демистификация ROC и AUC

Не паникуйте из-за этих устрашающих концепций, если вы приближаетесь к ним впервые; Я почти уверен, что вы оцените себя выше в этих концепциях, если вы поладите.

ЗАМЕТКА :

Прежде чем двигаться дальше, я настоятельно рекомендую вам посмотреть мою статью о Матрице путаницы, чтобы лучше понять эти концепции.

ROC = Рабочие характеристики приемника

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

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

В этой статье я затрону следующие темы:

  1. Что такое ROC и AUC?
  2. Графики для разных значений ROC-AUC
  3. ROC-AUC для двоичной классификации с реальным вариантом использования
  4. ROC-AUC для мультиклассовой классификации

Что такое ROC-AUC?

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

TPR = Напоминание = Чувствительность

FPR = 1 - Специфичность

AUC - это площадь под кривой ROC. Он показывает силу / интенсивность, с которой наша модель способна правильно классифицировать выходные классы. Чем выше эта область, тем выше будет способность нашей модели правильно классифицировать выходные данные.

ЗАМЕТКА:

ROC - это кривая, а AUC - это площадь под этой кривой.

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

Графики для разных значений ROC-AUC

Чтобы связать вышеупомянутую теорию с вашими визуальными эффектами, ниже приведены некоторые графики с разными значениями ROC и AUC:

1. AUC = 1

  • Получение 1 балла AUC аналогично достижению 100% точности.
  • Производительность нашей модели просто не может быть лучше этой.
  • В этой ситуации применение порога классификации 0,5 даст нам идеальную модель, которая сможет сопоставить все нули и все единицы - 1 с.

2. AUC = 0,7

  • Классификатор с показателем AUC 0,7 утверждает, что он может правильно классифицировать 70% всех записей, но не смог доставить остальные 30% записей.
  • Обратите внимание на рисунок справа, что некоторые значения ниже порога классификации 0,5, которые соответствуют классу -ve, прогнозируются как + ve. Аналогичное явление и для класса + ve.
  • Показатель AUC 0,7 по-прежнему является отличным достижением.

3. AUC = 0,5

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

4. AUC = 0

  • Один из способов представить себе показатель AUC = 0 - это то, что наша модель работает хуже всего, поскольку она отображает все нули в единицы и все единицы в нули; с другой стороны, наша модель может делать идеальные обратные прогнозы.
  • Вместо тонкой настройки и переобучения модели мы могли бы просто присвоить 0 классу + ve и 1 классу -ve класс.

ROC-AUC для двоичной классификации с реальным вариантом использования

Рассмотрим реальный вариант использования, когда нам нужно предсказать, поражен ли человек раком или нет. В этом случае у нас есть 2 выходных класса: 0 (-ve класс) и 1 (+ ve класс).

После обучения классификатора на наборе данных мы получаем оценку AUC 0,7. График ROC-AUC для этого классификатора можно проиллюстрировать на рисунке ниже:

Как правило, порог для классификации выходных классов составляет 0,5, т. Е.

Если y ‹= 0,5, то y соответствует классу 0, а

Если y> 0,5, то y соответствует классу 1.

Где, y = вывод двоичного классификатора

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

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

ДЕЛО 1:

Рассмотрим ситуацию, когда нам нужно сообщить пациенту, что он / она страдает Раком, только в том случае, если мы достаточно уверены; поскольку сообщение кому-либо о том, что он / она болен Раком, может нарушить его психическое состояние.

Для этого нам нужно увеличить порог классификации с 0,5 до 0,7, т. Е.

Если y ‹= 0,7, то пациент не страдает Раком, и

Если y> 0,7, то у пациента рак.

График ROC-AUC, связанный с этой ситуацией, можно визуализировать на рисунке ниже:

Увеличение порога классификации с 0,5 до 0,7 снизит наш TPR, поскольку мы классифицируем некоторых пациентов, которые, вероятно, были затронуты раком (в пределах диапазон 0,5–0,7) как не влияет. Другими словами, мы классифицируем некоторые из + ve записей как -ve,, и это повлияет на истинно положительный коэффициент (TPR). потому что мы увеличиваем число. значений FN; и согласно формуле для расчета TPR, увеличивая № значений FN уменьшит TPR.

Частота ложных срабатываний (FPR) не изменится, поскольку для всех фактических -ve записей мы все равно будем их прогнозировать, а также раньше, когда порог классификации был 0,5, потому что на самом деле записи -ve лежат ниже 0,5, а наш текущий порог классификации равен 0,7.

Кроме того, формула для расчета FPR не зависит от значений FN; следовательно, на FPR не повлияет какое-либо изменение количества значений FN.

В этом случае нам нужно пойти на компромисс с TPR для увеличения порога классификации.

СЛУЧАЙ 2:

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

Для этого нам нужно снизить порог классификации с 0,5 до 0,3, т. Е.

Если y ‹= 0,3, то пациент не страдает Раком и,

Если y> 0,3, то у пациента рак.

График ROC-AUC, соответствующий этой ситуации, можно визуализировать на рисунке ниже:

Снижение порога классификации с 0,5 до 0,3 увеличит наш уровень ложных срабатываний (FPR), поскольку мы классифицируем некоторых пациентов с низким риском, которые могут не иметь рака (т. Е. пациенты, которые находятся в диапазоне от 0,3 до 0,5), как пациенты с раком. Другими словами, мы классифицируем некоторые из -ve записей как + ve, , и это повлияет на частоту ложных срабатываний. (FPR), потому что мы увеличиваем нет. значений FP; и согласно формуле для расчета FPR, увеличивая число. значений FP увеличит FPR.

На истинно положительный коэффициент (TPR) не повлияет, так как для всех фактических + ve записей мы по-прежнему будем прогнозировать их, а также раньше, когда порог классификации был 0,5, потому что на самом деле + ve записи лежат за 0,5, а наш текущий порог классификации равен 0,3.

Кроме того, формула для расчета TPR не зависит от значений FP; следовательно, на TPR не повлияет какое-либо изменение количества значений FP.

В этом случае нам нужно пойти на компромисс с FPR, чтобы снизить порог классификации.

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

Теперь, в зависимости от нашего компромиссного фактора, то есть от того, хотим ли мы пойти на компромисс в отношении TPR или FPR, нам нужно выбрать оптимальное пороговое значение для нашей постановки проблемы.

ROC-AUC для мультиклассовой классификации

Да, это правда, что ROC-AUC может быть получен только для двоичных классов, но его также можно вычислить для мультиклассового классификатора. Это можно сделать с помощью метода «Один против всех».

Этот метод аналогичен методу, используемому для решения задач классификации нескольких классов с использованием логистической регрессии.

Предположим, нам нужно решить задачу классификации нескольких классов с 4 выходными классами: A, B, C и D

ROC-AUC будет сначала рассчитываться, рассматривая класс A как один класс , а остальные - все классы: B, C & D будут объединены вместе и рассматриваться как единый другой класс.

На следующей итерации класс B будет рассматриваться как один класс, а остальные - все классы: A, C & D будет объединен вместе и рассматриваться как единый другой класс.

Та же процедура будет повторена для классов C и D.

Я надеюсь, что это объяснение решит для вас загадку ROC-AUC! Если эта статья была для вас полезна, дайте мне знать. Также, если есть какие-либо вопросы или сомнения, я тоже хочу их решить.

Удачного обучения!

Вы можете связаться со мной здесь:

Электронная почта: [email protected]

LinkedIn: https://www.linkedin.com/in/gaurav-kamble-data-science-101

GitHub: https://github.com/GauravK1997