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

Введение

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

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

Преамбула. В своей последней статье я объяснил основы показателей производительности, и в этой статье они будут расширены. Если вы еще не читали мою предыдущую статью Основные показатели производительности, я настоятельно рекомендую вам сделать это, прежде чем продолжить.

Диаграмма склонности / кривая ROC

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

Забавный факт: анализ ROC (рабочих характеристик приемника) был впервые разработан во время Второй мировой войны для оценки эффективности обнаружения радиолокационных сигналов. Позже эта концепция была принята в области медицины и других областях для оценки диагностических и прогностических моделей.

Добро пожаловать в волшебный мир кривых ROC!

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

Создайте кривую ROC за шесть простых шагов:

  1. Во-первых, соберите прогнозируемые оценки вашей модели и истинные метки.
  2. Затем отсортируйте прогнозируемые оценки в порядке убывания.
  3. Установите диапазон возможных порогов.
  4. Рассчитайте процент истинных положительных результатов (TPR) и уровень ложных положительных результатов (FPR) для каждого порогового значения.
  5. Постройте полученные точки на графике с TPR на оси y и FPR на оси x. По мере того, как вы двигаетесь слева направо по кривой ROC, пороговое значение уменьшается, указывая на то, что больше наблюдений оцениваются как положительные.
  6. Площадь под кривой (AUC) представляет собой общую производительность вашей модели, где 1,0 означает идеальный классификатор, а 0,5 — случайный классификатор.

Пример прохождения

Давайте возьмем пример и попытаемся понять эти шаги в деталях. В этом примере мы будем использовать модель случайной классификации, чтобы определить, будет ли книга бестселлером или нет. Наблюдения представляют собой вероятности того, будет ли это бестселлер — положительное («1») или не очень — отрицательное («0»). Здесь наша цель — подробно разобраться в критериях оценки, поэтому мы не будем углубляться в выбор модели и предполагать, что для получения результатов будет использоваться любая случайная модель.

Шаг 1. Сначала мы берем набор данных из 30 наблюдений, который предоставляет нам прогнозные оценки или вероятности модели (predicted_scores) и истинные метки (actual_labels).

Шаг 2. Теперь мы отсортируем набор данных на основе столбца predicted_scores в порядке убывания.

Шаг 3. Теперь мы выберем пороговое значение. Для этого примера, если мы выберем порог 0,33 — любые наблюдения с оценками ниже этого порога будут отнесены к категории отрицательного («0») класса, а все наблюдения, превышающие или равные этому порогу, будут отнесены к категории положительного («1») класса. . Это обозначено в столбце «порог» ниже.

Шаг 4. Теперь мы рассчитаем TPR или чувствительность (истинные положительные результаты / общее количество фактических положительных результатов) и FPR или (1-Specificity) (ложные положительные результаты / общее количество фактических отрицательных результатов) для каждого порога. Чем больше порогов вы выберете, тем более четкую кривую вы получите. Для простоты мы будем использовать только 30 равномерно расположенных порогов между [0,1] и вычислять TPR и FPR, варьируя порог, как на предыдущем шаге.

Шаг 5. Теперь, используя этот набор значений TPR и FPR, мы построим кривую ROC с чувствительностью или TPR в качестве оси Y и (1-Specificity) или FPR в качестве оси X. . Мы также включим базовый (наивный) классификатор (обозначен красными пунктирными линиями). Если наша модель близка или ниже этой базовой линии, мы будем считать, что наша модель имеет очень плохие характеристики.

Шаг 6. Наконец, мы рассчитаем площадь под кривой ROC (AUC), используя численные методы, такие как правило трапеций (numpy.trapz или scipy.integrate.trapezoid). Если у нас есть хорошая модель, AUC должен быть близок к 1, а если AUC ниже 0,5, мы будем знать, что производительность нашей модели хуже, чем случайное предположение (базовый уровень). Мы также построим AUC.

Мы можем заметить, что производительность нашей модели была хорошей, поскольку кривая ROC больше направлена ​​к верхнему левому углу графика, что указывает на высокий TPR и низкий FPR. Мы также можем обосновать это тем фактом, что мы получили значение AUC 0,9955, что было бы очень близко к идеальному классификатору (AUC=1,0).

Ключевые идеи кривой ROC-AUC

Вот некоторые из ключевых идей, которые вы можете получить, посмотрев на любую кривую ROC-AUC:

  1. Чем ближе кривая ROC-AUC к верхнему левому углу графика, тем выше производительность модели. Это указывает на то, что модель правильно предсказывает высокий процент истинно положительных результатов, сохраняя при этом низкий уровень ложноположительных результатов.
  2. AUC, равный 0,5, предполагает, что предсказания модели не лучше случайных предположений. С другой стороны, AUC, равная 1,0, указывает на то, что модель идеально подходит для различения положительных и отрицательных примеров.
  3. Кривая ROC-AUC является полезным инструментом для выбора наилучшего порогового значения для классификации. Глядя на кривую, вы можете определить оптимальный компромисс между чувствительностью (истинно положительный показатель) и специфичностью (истинно отрицательный показатель) для вашей конкретной проблемы.
  4. Кривая ROC-AUC может использоваться для сравнения производительности разных моделей при выполнении одной и той же задачи. Модель с более высокой AUC обычно считается более эффективной.
  5. Кривая ROC-AUC также может использоваться для оценки качества вероятностных прогнозов. Модель, которая дает хорошо откалиброванные вероятности, должна иметь AUC, близкую к 1,0.

Сравнение ROC-AUC для разных классификаторов

Здесь мы сравним кривые ROC-AUC для трех типов классификаторов — идеальных, средних и худших классификаторов и посмотрим, чем они отличаются друг от друга.

Идеальный классификатор

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

Умеренный классификатор

Умеренная кривая ROC-AUC обычно имеет TPR меньше 1 и FPR больше 0, но это все же лучше, чем случайный случай. Это означает, что модель получает больше правильных положительных примеров, чем правильных отрицательных, но все еще есть некоторые неправильные классификации. Умеренная кривая ROC-AUC — это кривая, в которой положительные и отрицательные классы перекрываются, что дает классификатору оценку AUC от 0,5 до 1. Это показывает, что модель может в некоторой степени определить разницу между двумя классами, но она все еще может быть лучше.

Худший классификатор

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

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

Некоторые приложения кривой AUC-ROC

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

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

Заключение

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

Ссылка:

  1. Чоу, С.-Ю. (2019) AUC — Insider’s Guide to theory and Applications, Sin. Доступно по адресу: https://sinyi-chou.github.io/classification-auc/ (дата обращения: 20 февраля 2023 г.).

Об авторе

Дебанджан Саха, также известный как «Деб», — энтузиаст данных с опытом работы в области инженерии данных из Северо-восточного университета в Бостоне. Имея более чем 5-летний опыт работы в этой области, он развил глубокое понимание различных концепций и методов, связанных с данными. Страстно увлеченный преобразованием данных в идеи, он помог многим организациям оптимизировать свою деятельность и принимать обоснованные решения. Как Data Scientist он успешно руководил проектами, связанными с анализом данных, визуализацией, статистическим моделированием и развертыванием моделей. Его навыки включают, среди прочего, владение Python, Matlab, PySpark, вычислениями, оптимизацией и Azure Databricks.

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