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

Где они родились?

Кривые ROC (рабочая характеристика приемника) возникли в области теории сигналов и впервые использовались во время Второй мировой войны для анализа радиолокационных сигналов. Затем они были применены к диагностическим тестам в медицине, чтобы сравнить способность обнаруживать заболевание или клиническое состояние. Сегодня кривые ROC широко используются в науке о данных для измерения качества модели, которая должна различать два класса, такие как спам или не спам, больные или здоровые, положительные или отрицательные.

Определение модели бинарной классификации.

Модель бинарной классификации – это алгоритм, присваивающий элементу метку на основе функций, которые его описывают. Метка может принимать только два возможных значения, которые мы обычно называем положительным и отрицательным. Например, модель бинарной классификации может предсказать, является ли электронное письмо спамом или нет, на основе его содержания, или есть ли у пациента заболевание, на основе результатов медицинского обследования. Модель бинарной классификации можно рассматривать как функцию, которая отображает характеристики объекта в метку:

f : X → Y

где X – пространство признаков, а Y – пространство меток. В общем случае X может быть многомерным пространством, а Y — дискретным пространством, состоящим только из двух элементов: {0,1} или {−1,+1} или { отрицательный Положительный}. Для простоты мы будем использовать обозначение {0,1} для меток в этой статье.

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

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

Методы оценки моделей бинарной классификации.

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

  • Истинно положительный (TP): модель правильно предсказывает, что объект является положительным.
  • Истинно отрицательный (TN): модель правильно предсказывает, что объект является отрицательным.
  • Ложное срабатывание (FP): модель неверно предсказывает, что объект положительный, хотя на самом деле он отрицательный. Это также называется ошибкой первого рода.
  • Ложноотрицательный (FN): модель неправильно предсказывает, что объект отрицательный, хотя на самом деле он положительный. Это также называется ошибкой типа II.

Матрица путаницы позволяет нам рассчитать некоторые показатели, которые измеряют различные аспекты производительности модели. Наиболее распространенные показатели:

  • Точность: доля правильных прогнозов от общего числа прогнозов.
  • Точность : доля скорректированных положительных прогнозов от общего числа положительных прогнозов.
  • Отзыв : доля правильно обнаруженных положительных объектов в общем количестве положительных объектов.
  • Оценка F1: среднее гармоническое между точностью и полнотой.

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

Пороговое значение – это параметр, определяющий уровень достоверности, необходимый для присвоения положительной метки объекту. Другими словами, пороговое значение является точкой отсечки между двумя классами. Например, если модель возвращает вероятность (вероятность) того, что объект является положительным, мы можем выбрать пороговое значение 0,5 и сказать, что если вероятность больше или равна 0,5, то объект положительный, в противном случае он отрицательный. Это равносильно утверждению, что модель классифицирует как положительные только те объекты, в отношении которых она уверена не менее чем на 50 %.

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

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

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

Определение и свойства кривой ROC

Кривая ROC – это график, отображающий взаимосвязь между чувствительностью и специфичностью модели бинарной классификации при изменении порогового значения. Чувствительность — это еще одно название отзыва, то есть доля истинно положительных результатов от общего числа положительных результатов. Специфичность — это доля истинно отрицательных результатов от общего числа отрицательных. Рассчитывается как: специфичность=TN / (TN + FP)

Случаи кривых ROC по автору

Кривая ROC получается путем нанесения на декартовой плоскости чувствительности как функции 1 — специфичности для каждого возможного порогового значения. Чувствительность отложена по оси ординат, а 1 — специфичность по оси абсцисс. Нижняя левая точка соответствует максимально возможному пороговому значению, которое классифицирует все объекты как отрицательные. Верхняя правая точка соответствует наименьшему возможному пороговому значению, которое классифицирует все объекты как положительные. Верхняя левая точка соответствует пороговому значению, идеально классифицирующему все объекты. На следующем рисунке показан пример кривой ROC:

Я ПОЛАГАЮ

Кривая ROC имеет несколько интересных свойств:

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

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

На практике существуют программные библиотеки, позволяющие легко рассчитать AUC по данным и вероятностям, предсказанным моделью.

Кривая ROC и AUC имеют некоторые недостатки, в том числе:

Основными недостатками кривых ROC и AUC являются:

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

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

Это все для этой статьи. Надеюсь, вам было полезно и интересно