Практическое руководство

Оптимальный порог для несбалансированной классификации

Как выбрать оптимальный порог с помощью кривой ROC и кривой Precision-Recall

Несбалансированная классификация

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

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

Обзор матрицы неточностей

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

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

  • Истинно положительный или TP
  • Ложноположительный или FP (известный как ошибка типа I)
  • True Negative или TN
  • Ложноотрицательный или FN (известный как ошибка типа II)

Подробнее об ошибке типа I и ошибке типа II ЗДЕСЬ

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

  • Точность
  • Напоминание или Чувствительность
  • Специфика
  • Точность
  • F1-Score

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

Сбалансированная классификация
Предположим, мы - специалист по данным в технологической компании и попросили разработать модель машинного обучения, чтобы предсказать, будет ли наш клиент оттоком или нет. У нас 165 клиентов, из которых 105 классифицируются как не отталкиваемые, а остальные как отталкивающие. Модель дает следующий результат.

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

Несбалансированная классификация
Аналогично предыдущему случаю, но мы изменили количество клиентов для построения несбалансированной классификации. Сейчас в общей сложности 450 клиентов, из которых 15 относятся к категории оттока, а остальные 435 клиентов не отталкиваются. Модель дает следующий результат.

Глядя на точность приведенной выше матрицы неточностей, вывод может быть неверным из-за несбалансированного распределения классов. Что происходит с алгоритмом, когда он дает точность 0,98? В этом случае точность будет искажена. Это также не отражает производительность модели. Точность достаточно высокая, но отзывчивость очень плохая. Кроме того, специфичность и точность равны 1,0, поскольку модель или алгоритм не выдает ложноположительного результата. Это одно из последствий несбалансированной классификации. Тем не менее, оценка F1 будет реальным представлением производительности модели, потому что она учитывает отзыв и точность при расчетах.

Примечание. Чтобы классифицировать данные на положительные и отрицательные, по-прежнему нет жесткой политики.

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

  • Рейтинг ложноположительных результатов
  • Ложноотрицательная оценка

Порог по умолчанию для классификации

Для сравнения использования показателей оценки и определения порога вероятности несбалансированной классификации предлагается моделирование реальных данных. Моделирование генерирует 10 000 выборок с двумя переменными, зависимой и независимой, с соотношением между основным и второстепенным классами примерно 99: 1. Несомненно, это относится к несбалансированной классификации.

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

Кривая ROC для поиска оптимального порога

X -axis или независимая переменная - это частота ложных срабатываний для прогностического теста. Y -ось или зависимая переменная - это истинно положительный результат для прогностического теста. Идеальным результатом будет точка (0, 1), указывающая на 0% ложных срабатываний и 100% истинных срабатываний.

Среднее значение

Среднее геометрическое или известное как G-среднее - это среднее геометрическое значение чувствительности (известное как отзыв) и специфичности. Таким образом, это будет один из показателей объективной оценки несбалансированной классификации.

Используя G-среднее в качестве показателей объективной оценки и основной упор при перемещении порога, он дает оптимальный порог для двоичной классификации в 0,0131. Теоретически наблюдение будет отнесено к второстепенному классу, если его вероятность ниже 0,0131, и наоборот.

Статистика Юдена J

Одной из обсуждаемых метрик является J-статистика Юдена. Оптимизация J-статистики Юдена определит лучший порог для классификации.

Индекс J Юдена дает результат, равный пороговому значению при использовании G-среднего. Он дает оптимальный порог для двоичной классификации в 0,0131.

Кривая точности-отзыва для поиска оптимального порога

Кривая точности-отзыва - это график, который представляет взаимосвязь между точностью и отзывом.

Есть несколько оценочных метрик, которые можно использовать в качестве основного объекта для расчета. Это G-среднее, F1-оценка и т. Д. Если они являются объективными показателями для несбалансированной классификации, их можно применять в расчетах.

Используя кривую Precision-Recall и F1-score, он дает порог 0,3503 для определения того, принадлежит ли данное наблюдение к основному или второстепенному классу. Он слишком сильно отличается от предыдущей техники с использованием кривой ROC из-за подходов.

Дополнительный метод - настройка порога

Настройка порога - это распространенный метод определения оптимального порога для несбалансированной классификации. Последовательность пороговых значений создается исследователем, в то время как предыдущие методы с использованием ROC и Precision & Recall создают последовательность этих пороговых значений. Преимущества заключаются в настройке пороговой последовательности по мере необходимости, но при этом потребуется более высокая стоимость вычислений.

Синтаксис np.arrange(0.0, 1.0, 0.0001) означает, что существует 10 000 кандидатов на порог. Используя механизм цикла, он пытается найти оптимальный порог с субъектом, чтобы максимизировать F1-оценку как объективную метрику. Наконец, механизм зацикливания был остановлен и распечатал оптимальный порог 0,3227.

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

Заключение

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

использованная литература

[1] Дж. Браунли. Мягкое введение в изменение пороговых значений для несбалансированной классификации (2020). Https://machinelearningmaster.com/.