Эта статья является частью серии:

«Начало работы с машинным обучением: пошаговое руководство»

Что такое кривая рабочих характеристик приемника (ROC) и как она используется?

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

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

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

Пример

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

Предположим, что ваша модель имеет истинно положительный уровень 0,8 (т. е. она правильно идентифицирует 80% пациентов, у которых есть заболевание) и ложноположительный уровень 0,2 (т. е. она неправильно идентифицирует 20% пациентов, у которых нет заболевания). как наличие заболевания). Это приведет к точке на кривой ROC с координатой x 0,2 и координатой y 0,8.

Если бы у вас была другая модель с коэффициентом истинного положительного результата 0,7 и коэффициентом ложного положительного результата 0,1, это привело бы к точке на кривой ROC с координатой x, равной 0,1, и координатой y, равной 0,7. Эта модель будет иметь более высокую кривую ROC, чем первая модель, потому что она ближе к верхнему левому углу графика, который представляет классификатор с идеальной истинной положительной долей и ложноположительной долей, равной 0.

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

Как рассчитывается и интерпретируется площадь под кривой (AUC)?

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

Истинный положительный показатель рассчитывается как количество истинных положительных результатов, деленное на сумму истинных положительных и ложноотрицательных результатов, а показатель ложных положительных результатов рассчитывается как количество ложных положительных результатов, деленное на сумму ложных положительных и истинных отрицательных результатов. . Классификатор с более высоким уровнем истинных положительных результатов и более низким уровнем ложных положительных результатов будет иметь более высокую кривую ROC и ближе к 1 AUC. Классификатор с более низким уровнем истинных положительных результатов и более высоким уровнем ложных положительных результатов будет иметь более низкую кривую ROC и более близкую к 0 AUC.

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

AUC можно интерпретировать как вероятность того, что классификатор ранжирует случайно выбранный положительный экземпляр выше, чем случайно выбранный отрицательный экземпляр. Классификатор с AUC, равным 1, имеет совершенный процент истинных положительных результатов и уровень ложных срабатываний, равный 0, а классификатор с AUC, равный 0, имеет процент истинно положительных результатов, равный 0, и уровень ложных срабатываний, равный 1.

Пример расчета AUC показан ниже. Предположим, у вас есть классификатор со следующими показателями истинных положительных и ложных положительных результатов:

Чтобы рассчитать AUC, сначала нужно рассчитать ширину прямоугольников. Это равно разнице между показателями ложных срабатываний соседних прямоугольников. Для первого прямоугольника ширина 0,2–0,1 = 0,1. Для второго прямоугольника ширина 0,3–0,2 = 0,1. Для третьего прямоугольника ширина 0,4–0,3 = 0,1. Для четвертого прямоугольника ширина 0,5–0,4 = 0,1.

Далее нужно вычислить площадь каждого прямоугольника. Высота каждого прямоугольника равна истинной положительной скорости. Площадь первого прямоугольника 0,1 * 0,1 = 0,01. Площадь второго прямоугольника 0,1 * 0,2 = 0,02. Площадь третьего прямоугольника 0,1 * 0,3 = 0,03. Площадь четвертого прямоугольника равна 0,1 * 0,4 = 0,04.

Наконец, вам нужно суммировать площади всех прямоугольников и умножить на ширину прямоугольников, чтобы получить AUC. AUC (0,01 + 0,02 + 0,03 + 0,04) * 0,1 = 0,1. Это означает, что классификатор имеет AUC 0,1, что является относительно низким показателем. Это может указывать на то, что классификатор не имеет хорошего баланса между истинно положительными показателями и ложноположительными показателями.

Каковы некоторые преимущества и недостатки использования кривых ROC и AUC?

Кривая рабочей характеристики приемника (ROC) и площадь под кривой (AUC) являются полезными инструментами для оценки производительности систем бинарного классификатора. Есть несколько преимуществ использования кривых ROC и AUC:

  1. Независимость от распределения классов: кривые ROC не зависят от распределения классов, что означает, что их можно использовать для сравнения классификаторов, даже если классы несбалансированы (например, отрицательных экземпляров больше, чем положительных). Это важное преимущество, поскольку распределение классов может существенно повлиять на производительность классификатора.
  2. Возможность сравнивать несколько классификаторов: кривые ROC можно использовать для сравнения производительности нескольких классификаторов, что полезно при попытке выбрать лучший классификатор для конкретной задачи.
  3. Полезность в несбалансированных наборах данных: кривые ROC особенно полезны в несбалансированных наборах данных, где один класс встречается гораздо чаще, чем другой. Это связано с тем, что они позволяют визуализировать компромисс между истинно положительными показателями и ложноположительными показателями, что важно в несбалансированных наборах данных, где может быть важнее минимизировать ложноотрицательные или ложноположительные результаты.
  4. Интерпретируемость: AUC — это одно число, которое представляет общую производительность классификатора, что упрощает его интерпретацию и сравнение с другими классификаторами.

Однако у использования ROC-кривых и AUC есть и некоторые недостатки:

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

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

Как кривые ROC и AUC можно использовать в задачах машинного обучения и классификации данных?

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

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

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

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

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

Эта статья является частью серии:

«Начало работы с машинным обучением: пошаговое руководство»