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

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

  • Точность
  • Точность
  • Отзывать
  • Специфичность
  • Оценка F1
  • AUC

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

Матрица путаницы

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

Истинные положительные результаты: в верхнем левом углу показано количество правильных положительных прогнозов, сделанных моделью. В этом примере модель точно предсказала, что 3253 студента закончат колледж в течение шести лет после зачисления.

Истинно положительная ставка: TP / (TP + FN)

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

Ложноотрицательная ставка: FN / (FN + TP)

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

Частота ложных срабатываний: FP / (FP + TN)

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

Истинно отрицательная ставка: TN / (TN + FP)

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

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

Точность

Сколько из всех сделанных положительных и отрицательных предсказаний было правильным?

(TP + TN) / (TP + FP + TN + FN)

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

Точность

Сколько из всех положительных предсказаний оказалось правильным?

TP/(TP + FP)

Точность может быть полезным показателем для понимания того, насколько хорошо модель может предсказать положительный класс. Однако о том, о чем мы не можем сказать, является то, сколько положительных результатов было упущено. Если бы модель предсказывала, что 700 студентов закончат колледж за шесть лет и 500 из этих предсказанных студентов действительно окончат обучение, модель покажет оценку точности примерно 70 процентов. Однако из этого мы не можем видеть, что 1000 студентов действительно закончили колледж за шесть лет, и модель исключила этих студентов из оценки. Чтобы лучше понять, насколько хорошо модель определяет реальные результаты, мы обратимся к следующей метрике.

Отзывать

Сколько из всех реальных положительных результатов, по прогнозам модели, будут положительными?

TP / (TP + FP)

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

Специфичность

Сколько из всех реальных негативных событий, по прогнозам модели, будут негативными?

TN / (TN + FP)

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

F1-Score

Гармоническое среднее точности и отзыва.

2 * [(Вызов * Точность) / (Вызов + Точность)]

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

ROC (рабочие характеристики приемника) / AUC (площадь под кривой)

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

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

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

Выбор наилучшего оценочного показателя

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