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

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

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

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

  • Истинно положительный: если экземпляр положительный и классифицируется как положительный;
  • Ложно-отрицательный: если экземпляр положительный и классифицируется как отрицательный;
  • True Negative: если экземпляр отрицательный и классифицируется как отрицательный;
  • Ложно-положительный: экземпляр отрицательный и классифицируется как положительный.

Точность

Точность определяет долю правильно классифицированных экземпляров. Это наиболее простой показатель качества классификаторов.

Имейте в виду, что у метрики точности есть некоторые недостатки: она не работает с искаженными классами, которые могут иметь много элементов одного и того же класса и несколько элементов другого класса.

Допустим, у нас есть 5 экземпляров класса 1 и 95 экземпляров класса 0 в нашем наборе поездов. Мы обучили классификатор, проверили его на тестовой выборке и обнаружили, что делаем правильные прогнозы на 99%. Похоже, действительно впечатляющий результат. Мы правы в 99% случаев. В этом случае модель просто предсказывает 0 независимо от входных данных.

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

Отзывать

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

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

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

Точность

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

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

Мы рассмотрим другой пример, в котором минимизация ложных срабатываний - это то, как мы хотим, чтобы наш алгоритм классификации вел себя: допустим, мы хотим провести классификацию спама, а не спама. Данные помечены следующим образом: 1 относится к «спаму», а 0 относится к «не спаму». Предположим, что алгоритм обучения классифицировал важное электронное письмо как «спам», считая его ложным положительным результатом. Тогда в этом случае минимизация ложных положительных результатов более важна, чем ложное срабатывание. Минус-слова.

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

Компромисс между точностью и отзывчивостью

Например, используя логистическую регрессию для классификации пациентов как больных раком y = 1 или не y = 0, мы можем в конечном итоге предсказать y = 1, когда выходная вероятность больше некоторого порога. И поэтому в целом для большинства классификаторов будет происходить компромисс между точностью и отзывом, поскольку мы меняем значение этого порога, к которому мы здесь присоединяемся, вы фактически можете построить некоторую кривую, которая жертвует точностью и отзывом. Если порог низкий, мы можем увеличить шанс поймать пациента, больного раком, что приведет к высокому отзыву. Однако низкий порог также приводит к множеству ложных срабатываний, что приводит к низкой точности. Если порог очень высокий, ситуация обратная: точность хорошая, а отзыв - низкий. Кривые точности / отзыва используются для визуализации этого компромисса путем построения графика зависимости точности от отзыва для различных пороговых уровней.

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

Оценка F1

На основе запоминания и точности выводится еще один показатель - оценка F1. Он достигает своего наилучшего значения при 1 и худшего при 0.

Поэтому вместо того, чтобы рассчитывать на точность и отзыв по двум показателям, мы используем только одну метрику, чтобы гораздо быстрее решить, какой алгоритм лучше. Один из естественных способов, который вы можете попробовать, - это посмотреть на среднюю точность и вспомнить и посмотреть, какой классификатор имеет наивысшее среднее значение. Но это оказалось не таким хорошим решением, потому что, как и в предыдущем примере, оказывается, что если у нас есть классификатор, который все время предсказывает y = 1, то, если мы это сделаем, мы получим очень высокий отзыв, но мы получаем очень низкое значение точности, см. алгоритм 3, мы получили хорошее среднее значение.

Напротив, есть другой способ сочетать точность и отзывчивость. Это называется счетом F1, и в нем используется эта формула. Итак, в этом примере мы получили результаты F1.

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

Дополнительные ссылки о показателях производительности для задач классификации:





Спасибо за чтение.