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

Мы все были там. Модель классификации показывает кучу статистики. Мы быстро смотрим на Точность и принимаем решения. Что-то в глубине нашего сознания подсказывает нам, что мы не обязательно поступаем правильно, но на самом деле мы не знаем ничего лучшего. Там много всего вроде ROC и AUC, но термины кажутся пугающими и думаешь: «Как я объясню это начальству?».

Что ж, мой друг, я сочувствую вашим колебаниям. Я сам там был, а потом решил, что должен разобраться. В отличие от некоторых других концепций науки о данных, на удивление мало легко доступных материалов, которые действительно объясняют, что происходит, и большинство блогов сосредоточено на том, как их использовать. Отсюда и этот блог, в котором я сначала расскажу об основах оценки классификации, а затем перейду к изучению ROC и AUC.

Начнем с самого начала…

1. Как оценить точность прогнозов, сделанных алгоритмами классификации

Как оценить точность сделанных прогнозов? В отличие от множественной регрессии, мы не используем MSE или Rsq, вместо этого мы используем матрицу путаницы, которая показывает 4-стороннюю классификацию результатов. Он показывает результаты модели — предсказание по сравнению с фактическими метками и показывает, как запуталась модель!

Большинство классификаторов оценивают вероятность того, что экземпляр будет отнесен к разным классам. В случае бинарного классификатора классификация находится между категорией 1 и 0. Классификатор предоставит оценочную вероятность, например, 0,65. Затем мы должны решить, присвоить ли это классу 1 или нулю. По сути, это процесс присвоения предсказанных меток. На изображении ниже показан процесс.

Матрица путаницы

Матрица путаницы определяется для определенного порогового уровня. Предсказанные классифицированные метки сравниваются с фактическими метками и назначаются разным квадратам сетки.

Например, в матрице выше мы наносим фактические метки на вертикальную ось, а прогнозируемые метки — на горизонтальную.

У нас есть следующие категории:

Истинно положительный (TP)Если у человека действительно рак (фактический класс = да), и мы правильно прогнозируем (прогнозируемый класс = да)

Ложноотрицательный результат:если у человека действительно рак (фактический класс = да), и мы прогнозируем нет (прогнозируемый класс = нет)

c. Ложноположительный результат: если у человека нет рака (фактический класс = нет), и мы прогнозируем как да (прогнозируемый класс = да)

d. Истинно отрицательный результат:если у человека нет рака (фактический класс = нет) и мы правильно прогнозируем нет(прогнозируемый класс = нет )

Матрица путаницы предназначена для заданного уровня пороговой вероятности, например. .5. Если мы изменим порог, результаты изменятся, и матрица путаницы также изменится. Матрица путаницы образует фундаментальную основу, из которой мы можем вывести большое количество различных показателей, чтобы определить, как работает наша модель.

Первым из них является Точность:

Точность — это в основном то, насколько точна наша модель в правильности прогнозов. Это простая и удобная метрика, и ею часто злоупотребляют при оценке модели.

Проблемы с точностью

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

Не мошенничество: 9990, мошенничество: 10

Сейчас мошенничество — очень редкое и аномальное явление. Предположим, что классификатор не предсказывает мошенничества, т. е. значение равно 0 для всех примеров. Даже тогда точность равна 99,9%, когда мы не смогли предсказать даже 1 случай мошенничества в базе данных!

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

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

класс как 0 и класс меньшинства как 1. В центре внимания алгоритмов классификации находится предсказание класса меньшинства.

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

Банковская ссуда: Отказ в ссуде хорошему клиенту (FP, поскольку мы пытаемся обнаружить случаи невыполнения обязательств) не так плох, как предоставление ссуды плохому клиенту, который может никогда не возвращайте его (FN)

Диагностика рака:в целом лучше иметь FP (диагностировать рак у здорового пациента и провести дополнительные медицинские тесты), чем иметь FN (дать пациент здоровый детка, когда у него рак)

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

Чтобы получить более детальное представление о производительности классификации, есть несколько других показателей, которые обычно используются:

1. Точность

2. Вспомнить

3. F1Счет

Точность

Точность задает вопрос: из всех моих предсказаний, насколько точно я предсказал положительный класс? Мы используем точность, когда нам нужно проверить точность нашего прогноза и когда прогноз используется для действия. Таким образом, например, если мы классифицируем посетителей веб-сайта на основе их поведения при просмотре страниц, типов страниц, которые они посещают, и времени, которое они проводят на веб-сайте, а также других факторов и т. д. Предположим, мы хотим определить, являются ли посетители мужчинами. или женский например. Если это мужчины, то мы можем сделать им специальные предложения. Точно так же, если женщина, мы можем направить их в новый раздел веб-сайта, специально предназначенный для женщин. В этом сценарии было бы хорошо использовать метрику Precision, так как это сообщит нам, насколько точно мы можем предсказать мужчин и женщин.

Отзыв

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

Оценка F1

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

Из приведенных выше примеров видно, что прогнозирование положительных случаев как отрицательного более вредно, дороже или хуже, чем ложноположительный результат. Ложноположительный результат обычно означает, что могут быть понесены некоторые дополнительные расходы на последующие проверки и т. д.

2. Использование ROC-AUC для более надежной оценки точности классификации

До сих пор все меры, о которых мы говорили — матрица путаницы, точность, прецизионность, полнота — все были определены для заданного порога классификации. Теперь используемое значение обычно является субъективным или дается по соглашению. По соглашению, например, мы используем значение 0,5. С точки зрения суждения мы можем использовать, например, 0,75, потому что мы думаем, что хотим быть более строгими. Однако это просто дает снимок модели на определенном уровне. Что является гораздо более надежной оценкой, так это иметь меру показателей классификации по нескольким пороговым значениям. Вот тут-то и появляется ROC-AUC. Основное преимущество ROC заключается в том, что он не зависит от внешнего и специально заданного порогового значения. Таким образом, ROC можно использовать для сравнения результатов тестов (K., 2013).

ROC: кривая работы приемника. Этот метод был первоначально разработан для операторов приемников военных радаров, начиная с 1941 года, что и привело к его названию. Одно из первых приложений было в радаре, чтобы отделить изменчивость наблюдателя от врожденной различимости сигнала. ROC широко используется в диагностической радиологии и медицинских тестах.

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

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

Кривая ROC по существу сравнивает модели TPR и FPR со случайным назначением. Частоты TP и FP меняются по мере изменения порогового критерия. Кривая ROC, соответствующая более избирательному тесту, расположена ближе к верхней левой части пространства ROC, как показано на рисунке ниже.

AUC означает площадь под ROC. Общая площадь равна 1. Когда ROC представляет собой диагональ прямой линии, AUC = 0,0,5. Это указывает на то, что модель не лучше, чем случайное назначение для целей прогнозирования при любом пороге. Очень хорошая AUC — это значение, близкое к 1.

3. Как попасть под колпак РПЦ

Теперь, когда у нас есть общее представление о том, что такое ROC и AUC, давайте попробуем более подробно понять, что происходит на самом деле.

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

Разберем это лучше на примере. Предположим, нам нужно различать пациентов с определенным заболеванием и тех, у кого нет заболевания. Популяция пациентов для обоих этих состояний образует два перекрывающихся нормальных распределения, как показано ниже. Распределение справа представляет пациентов в болезненном состоянии, а слева - в здоровом состоянии (соответственно 1 и 0 с точки зрения нашей целевой двоичной переменной). Как видите, кривые перекрываются, как это почти всегда и происходит в реальной жизни. Некоторые люди с заболеванием имеют результаты тестов или другие характеристики, которые аналогичны тем, у кого нет заболевания. Это означает, что независимо от того, какой порог мы выберем в качестве значения точки отсечки, мы будем делать некоторые ошибки.

Штрайнер (2007) исследует ROC с проблемой классификации пациентов на фобических (категория положительного состояния болезни) и нефобных (категория отрицательного состояния болезни) с использованием 10-балльной тестовой оценки. В таблице 1 показаны баллы теста от 1 до 10 и таблица частоты результатов теста, классифицированных по категориям меток:

Чтобы предсказать фобические и нефобические случаи, нам нужно определить пороговую оценку. Пример вставлен ниже, где отсечение 6+ используется для фобии, а 5 или меньше — для отсутствия фобии.

Буквы в ячейке используются для определения различных показателей. Например

Построение кривой ROC и пространства ROC

TPR и FPR рассчитываются для каждого уровня отсечки (оценка в таблице 1) и представляются в виде ROC-кривой.

Разберемся с пространством РПЦ. Пространство ROC нарисовано с осью справа и сверху. Сумма ставок TP и FN равна 1; когда скорость TP увеличивается, скорость FN уменьшается. Точно так же скорости TN и FP добавляются к 1 и имеют такое же взаимное отношение друг к другу.

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

Нижний левый угол кривой показывает начало процесса классификации. Первоначально никакой классификации не определено.

Итак, давайте посмотрим, что конкретно происходит с точки зрения нашего порога подсчета очков. Первоначально отсечка составляет 9/10 (отсечка 10+ представляет собой фобию, а меньше или равное 9 — отсутствие фобии) — см. Таблицу 1. В этом случае критерии классификации очень строгие, и классифицируются только сильные случаи TP. Но в выборке всего несколько экземпляров, отвечающих этому критерию (21 экземпляр на 10 баллов). Классификация очень точна, и TPR растет быстрее, чем FPR. Как только мы сделаем отсечку немного более расслабленной, например, 8/9, мы также сможем увидеть некоторые FP. Отсечка 7/8 — это точка, расположенная ближе всего к верхнему левому углу, и, следовательно, она минимизирует общую ошибку классификации. В этот момент TPR = 0,8 и FPR = 0,1 примерно. Дальнейшее снижение балла приводит к меньшей скорости увеличения TPR, однако FPR или ошибка неправильной классификации начинают расти гораздо быстрее.

Знакомство с AUC

Основной статистикой, которую мы получаем от ROC, является AUC. В данном случае это 0,89. Это можно сравнить с нулевой гипотезой, то есть с бесполезностью теста, которая имеет AUC 0,50. AUC можно интерпретировать следующим образом. Это вероятность того, что тест даст более высокое значение для случайно выбранного человека с заболеванием, чем для случайно выбранного человека, у которого нет заболевания. В этом примере с AUC 0,899, если мы случайным образом возьмем двух человек — одного с заболеванием и одного без него — вероятность почти 90% того, что человек с заболеванием будет иметь более высокий балл, чем тот, у кого нет заболевания.

Грубое эмпирическое правило заключается в том, что точность тестов с AUC от 0,50 до 0,70 низкая; между 0,70 и 0,90 точность умеренная; и он высок для AUC более 0,90.

4. Некоторые сценарии степени перекрытия положительных и отрицательных распределений

  1. Нет перекрытий, т. е. идеальный результат классификации!

Красная кривая распределения относится к положительному классу (пациенты с заболеванием), а зеленая кривая распределения относится к отрицательному классу (пациенты без заболевания).

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

2. Некоторое совпадение — нормальный сценарий

Это нормальный сценарий. Здесь у нас есть некоторое совпадение. В зависимости от порогового значения происходит некоторая неправильная классификация. Мы получаем обычный ROC и значение AUC, которое больше 0,5 и меньше 1.

3. Полное совпадение — невозможно классифицировать!

Здесь идеальное перекрытие, и модель никак не сможет отличить положительный результат от отрицательного на любом пороге. В этом случае ROC — это прямая диагональ, а AUC — 0,5.

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

Если вам понравилась эта история, пожалуйста, подпишитесь на меня на Medium, чтобы узнать больше подобных историй. Ссылка на мой профиль: shaileydash.medium.com

Ссылки

  1. Дэвид Л. Стрейнер, JC (2007). Что под РПЦ? Введение в кривые рабочих характеристик приемника. Канадский журнал психиатрии, том 52, № 2.

2. К., Х.-Т. (2013). Анализ кривой рабочих характеристик приемника (ROC) для оценки медицинских диагностических тестов. . Caspian J Intern Med.

3. https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5

4. https://towardsdatascience.com/demystifying-roc-curves-df809474529a

5. https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc