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

Алгоритмы классификации

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

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

Оценка

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

  • Точность: показатель, который подсчитывает количество правильных прогнозов, сделанных моделью. Рассмотрим таблицу на рис. 2 (также называемую матрицей путаницы). Правильные прогнозы находятся в зеленых и фиолетовых блоках. Неверные прогнозы отмечены синими блоками. Модель смогла правильно предсказать 500 истинных положительных результатов (TP) + 300 истинных отрицательных результатов (TN), что в сумме дает 800 правильных прогнозов из 500 + 125 + 145 + 300 = 1070 прогнозов, что означает, что модель была права в 74,76% своих прогнозов. предсказания. Это точность модели. На рис. 2 ложноположительные (FP) и ложноотрицательные (FN) представлены синими блоками и представляют собой, соответственно, положительный класс, предсказанный, когда фактический класс является отрицательным, и отрицательный класс, предсказанный, когда фактический класс Положительный.

Математическая формула точности, как вы, возможно, уже догадались, определяется по формуле:

это означает, что мы суммируем TP (зеленый блок) с TN (фиолетовый блок), предсказанный моделью, и делим на общее количество прогнозов (TP + TN + FP + FN — зеленый, фиолетовый и синий блоки). Чем выше точность, тем лучше модель* (* некоторые критические замечания по поводу этого утверждениябудут обсуждаться в следующем разделе).

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

В нашей таблице отзыв определяется как 500 TP поверх 500+125 = 625 фактических положительных значений, что возвращает значение 0,8. Мы можем заметить, что наилучшее значение Recall равно 1, когда модель может правильно предсказать класс Positive и нет FN.

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

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

В нашей таблице точность определяется 500 TP по сравнению с 500 + 145 = 645 прогнозируемых положительных результатов, что возвращает значение ~ 0,78. Мы можем заметить, что наилучшее значение Precision равно 1, что означает, что модель может правильно предсказать класс Positive и нет FP.

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

  • Оценка F1: это мера, определяемая как функция точности и полноты, математическая формула, заданная

Таким образом, мы можем сказать, что оценка F1 будет полезна при поиске баланса между точностью и отзывом. Например, если прогнозы FN и FP стоят одинаково.

  • AUC ROC: ROC (рабочая характеристика приемника) представляет собой кривую на графике, где ось y – это частота истинных положительных результатов, также известная как отзыв, а ось x – частота ложных срабатываний (FPR). , который определяется количеством ложных срабатываний над общим фактическим отрицательным результатом. Математическая формула для FPR:

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

AUC — это площадь под кривой (ROC). Это интеграл по всему диапазону значений TP и FP; следовательно, это совокупное измерение производительности модели для всех пороговых значений. Как видно из рис. 8, максимальное значение AUC равно 1 (площадь квадрата со стороной 1) для наилучшей кривой, когда модель правильно делает все положительные прогнозы. AOC, равный 0,5 (площадь треугольника со стороной 1), соответствует случайной производительности, а нулевое значение соответствует наихудшей кривой (отсутствие площади под этой кривой).

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

Сбалансированные и несбалансированные наборы данных

Теперь вернемся к * в описании Точности. Было сказано: Чем выше точность, тем лучше модель, но это справедливо только в том случае, если ваш набор данных сбалансирован, а это означает, что количество наблюдений в классах более или менее одинаково, что не всегда верно. случай. Поэтому, если мы рассмотрим, например, обнаружение спама и прогнозирование заболеваний, весьма вероятно, что мы обнаружим сильно несбалансированный набор данных. Для этих случаев точность не является хорошей метрикой. Например, рассмотрим этот Набор данных о сердечных заболеваниях, где у нас есть 319795 строк, представляющих опрошенных взрослых. Если мы построим круговую диаграмму этого набора данных, только 8,6% людей подтвердили, что у них есть сердечные заболевания. Поэтому, если модель предсказывает, что 90% не имеют сердечных заболеваний, точность будет высокой, но это не означает, что у вас хорошая модель.

Поэтому при работе с несбалансированным набором данных мы должны полагаться на такие показатели, как отзыв, точность, оценка F1 или AUC ROC. Например, в случае набора данных о сердечных заболеваниях мы хотим, чтобы наша модель хорошо предсказывала TP и избегала FN, чтобы пациент мог получить адекватное лечение, если у него есть заболевание сердца. Затем мы могли бы выбрать Recall и ROC AUC для анализа производительности модели.

Выводы

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