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

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

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

Ниже приводится интерпретация матрицы путаницы:

Точность определяется как общее количество правильных прогнозов / общее количество прогнозов
, т. е. (TP+TN)/(TP+TN+FP+FN).

Приведенная выше матрица дает точность 84%. Звучит здорово, верно?

Но если мы посмотрим на матрицу дальше, мы сможем правильно определить только 29% случаев мошенничества, а 71% клиентов будут ошибочно предсказаны как не мошенники.

Давайте посмотрим, какие другие метрики оценки будут работать лучше.

Точность. Сколько из всех сделанных положительных прогнозов оказались правдой. Это очень полезно для бизнеса, когда фокусируется на точности модели при классификации образцов как положительных, т. е. «клиентов-мошенников» в приведенном выше примере.

Точность = TP / (прогнозируемые положительные результаты) = TP / (TP + FP)

Приведенная выше матрица путаницы дает точность 40%, что указывает на то, что 40% всех предполагаемых клиентов-мошенников на самом деле были клиентами-мошенниками, а 60% на самом деле не были мошенниками.

Напомнить: сколько из всех положительных образцов было предсказано правильно.

Отзыв = TP / (фактические положительные результаты) = TP / (TP + FN)

Отзыв 29% указывает на то, что модель способна правильно предсказать только 29% всех клиентов-мошенников. Модель не смогла обнаружить оставшиеся 71% фактического мошенничества.

Теперь давайте рассмотрим два сценария:

Сценарий 1:
Что делать, если я не хочу разрабатывать модель и вместо этого назначаю все прогнозы клиентам, не являющимся мошенниками, для вышеуказанного набора данных, т. е. Y = 0? Матрица будет выглядеть так-

Сценарий 2.
Что делать, если я не хочу разрабатывать модель и вместо этого назначаю все прогнозы мошенническим клиентам для вышеуказанного набора данных, т. е. Y = 1? Матрица будет выглядеть так-

Оптимизация порога.
Эффективная модель должна иметь значения точности и полноты где-то между двумя приведенными выше сценариями, которые могут превзойти Y=0 , Y=1 и случайный шанс.

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

Как видите, Точность осталась прежней, однако есть улучшения в Точности и Отзыве. Приведенная выше матрица дает нам точность 42%, что указывает на то, что 42% всех предсказанных клиентов-мошенников были правы. Также модель теперь способна правильно прогнозировать 36% всех клиентов-мошенников. Однозначно улучшение!

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

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

Я надеюсь, что эта статья была полезна для вас.