Результаты моделей машинного обучения
В этой статье рассматриваются матрицы ошибок, проблемы классификации и точность в моделях машинного обучения (ML). Целью является улучшение понимания точности в результатах прогнозирования в ML. Целевые аудитории включают инженеров, аналитиков и руководителей, желающих расширить свои знания и навыки в области обработки и анализа данных.
Матрица ошибок
После того, как контролируемая система ML обучена по набору исторических данных, она тестируется с использованием данных, которые можно исключить из процесса обучения. Таким образом можно сравнить прогнозы из обученной модели с фактическими значениями. Матрица ошибок предоставляет средство оценки успешности решения задачи классификации и мест возникновения ошибок (то есть, когда она «путается»).
Например, ваша цель — предсказать, является ли домашнее животное собакой или кошкой, на основе некоторых физических и поведенческих атрибутов. Если имеется тестовый набор данных, содержащий 30 собак и 20 кошек, то матрица ошибок может быть похожа на следующую иллюстрацию.

Числа в зеленых ячейках представляют собой правильные прогнозы. Как можно видеть, модель правильно прогнозируется более высокий процент фактических кошек. Общую точность модели легко рассчитать. В данном случае это 42 ÷ 50 или 0,84.
Классификаторы по нескольким классам в матрице ошибок
Большинство дискуссий о матрице ошибок сосредоточено на двоичных классификаторах, как в предыдущем примере. Этот случай представляет собой особый случай, когда могут учитываться другие показатели, такие как чувствительность и отзыв.
Далее будет рассмотрена проблема классификации для финансового сценария, имеющая три состояния. Модель прогнозирует, будет ли накладная клиента оплачена вовремя, поздно или очень поздно. Например, из 100 тестовых накладных, 50 оплачиваются вовремя, 35 — с опозданием, а 15 — с очень большим опозданием. В этом случае модель может создать матрицу ошибок, которая напоминает следующий рисунок.

]
Матрица ошибок предоставляет значительно больше информации, чем простая метрика точности. Однако ее по-прежнему довольно легко понять. Матрица ошибок сообщает, имеется ли сбалансированный набор данных, в котором выходные классы имеют похожее количество. В случае с несколькими классами она показывает, насколько может ошибаться прогнозирование, когда выходные классы являются порядковыми, как в предыдущем примере о платежах клиентов.
Точность модели
У различных показателей точности имеется преимущество измерения качества модели.
Так как точность является простой метрикой для понимания, она является хорошей отправной точкой для объяснения модели другим людям, особенно пользователем модели, не являющихся специалистами в области обработки данных. Понимание статистики не требуется, чтобы понять точность модели. При наличии матрицы ошибок она предоставляет дальнейшее понимание эффективности модели.
Однако для более глубокого понимания необходимо отметить несколько проблем, связанных с точностью. Полезность метрики зависит от контекста проблемы. Вопрос, который часто возникает в связи с эффективностью модели, — «Насколько хороша модель?» Однако ответ на этот вопрос необязательно прост. Рассмотрим следующую матрицу ошибок (модель 2).

Быстрый расчет показывает, что точность этой модели составляет (70 + 10 + 3) ÷ 100 или 0,83. На поверхности этот результат кажется более подходящим, чем результат для предыдущей модели с несколькими классами (модель 1), имеющей точность 0,73. Но лучше ли это?
Чтобы начать рассмотрение этого вопроса, необходимо оценить точность наивного предположения. При проблемы классификации простая догадка всегда будет спрогнозировать самый распространенный класс. Для модели 1 эта догадка будет иметь значение «вовремя», и это приведет к точности 0,50. Догадка для модели 2 также будет «вовремя», и это приведет к точности 0,80. Поскольку модель 1 улучшает наивную догадку на 0,73 – 0,50 = 0,23, в то время как модель 2 улучшает наивную догадку на 0,83 – 0,80 = 0,03, модель 1 является лучшей моделью, даже если она имеет меньшую точность. Расчет показывает, что эффективная оценка качества модели требует большего количества контекста, чем значение точности.
Стоит отметить еще один аспект. Рассмотрим ситуацию, в которой медицинские тесты используются для обнаружения болезни у пациентов. Эта проблема является проблемой двоичной классификации, когда положительный результат указывает на то, что пациент болен. В этом случае необходимо подумать о влиянии следующих ошибок:
- Ложный положительный результат, когда тест говорит о том, что пациент болен, но на самом деле пациент здоров.
- Ложный отрицательный результат, когда тест говорит о том, что пациент здоров, но на самом деле пациент болен.
Очевидно, что эти типы ошибок нежелательны, но что хуже? Опять, это зависит от ситуации. В случае опасной для жизни болезни, требующей быстрого лечения, приоритет имеет минимизация ложных отрицательных результатов (за которыми желательно следуют дополнительные тесты). В других, менее критических случаях, создатели моделей могут минимизировать ложные положительные результаты. В любом случае разумным заключением является то, что для эффективного определения качества модели необходимо иметь большее количество сведений, чем дает метрика точности.
Рекомендации
Точность — важное средство для общения со специалистами в экспертной области, знакомых со статистикой. Однако, чтобы сделать информацию полезной, очень важно, чтобы дополнительный контекст был одновременно представлен со значением точности.
Для сценария прогнозирования платежей можно настроить цель для модели ML, которая включает факторы в различном поведении платежей. Цель состоит в том, что модель должна быть улучшена относительно наивной догадки путем уменьшения количества неправильных ответов не менее чем на 50 процентов. Другими словами, требуется целевая точность, которая находится между точностью наивной догадки и 100 процентами.
В следующей таблице этот принцип обобщен для матриц ошибок, рассмотренных в этой статье.
| Модель | Наивное предположение | Цель | Точность модели | Цель достигнута? |
|---|---|---|---|---|
| Модель 1 | 0.50 | 0.75 | 0.73 | Почти. Эта модель значительно лучше догадки. |
| Модель 2 | 0.80 | 0.90 | 0.83 | Нет. Необходимо улучшить. |
Точность F1классификации
Последнее, что будет рассмотрено в этой статье, — это более сложная мера производительности ML-процесса классификации, которая называется точностью F1.
Прежде чем можно будет определить точность F1, должны быть введены две дополнительные метрики: точность и отзыв. Точность показывает, сколько общего количества прогнозов, указанных как положительные, правильно назначено. Эта метрика также называется положительным прогнозируемым значением. Отзыв — это общее число фактических положительных случаев, которые были спрогнозированы правильно. Эта метрика также известна как чувствительность.

В матрице ошибок на предыдущем рисунке эти показатели рассчитываются следующим образом:
- Точность = TP ÷ (TP + FP)
- Отзыв = TP ÷ (TP + FN)
Мера F1 сочетает точность и отзыв. Результатом является среднее гармоническое двух значений. Она вычисляется следующим образом:
- F1 = 2 × (Точность × Отзыв) ÷ (Точность + Отзыв)
Рассмотрим конкретный пример. Ранее в этой статье был приведен пример модели, которая прогнозирует, является ли животное собакой или кошкой. Здесь повторяется это изображение.

Здесь приведены результаты, если «Собака» используется как положительный ответ.
- Точность = 24 ÷ (24 + 2) = 0,9231
- Отзыв = 24 ÷ (24 + 6) = 0,8
- F1 = 2 × (0,9231 × 0,8) ÷ (0,9231 + 0,8) = 0,8572
Как можно видеть, значение F1 находится между значениями точности и отзыва.
Хотя точность F1 не так проста в понимании, она добавляет нюансы к базовому числу точности. Она также может помочь в несбалансированном наборе данных, так как будет показано в следующем обсуждении.
В разделе Точность модели данной статьи сравниваются следующие две матрицы ошибок. Даже несмотря на то, что первая модель имела меньшую точность, она была признана более полезной моделью, поскольку она показала более значительное улучшение по сравнению с предположением по умолчанию для времени оплаты.


Давайте посмотрим, как эти две модели сравниваются при использовании оценки F1. Оценка F1 учитывает точность и отзыв для каждого состояния, а вычисление макроса F1 затем усредняет оценку F1 по всем состояниям для определения общего показателя F1. Имеются другие варианты F1, но очень важно рассмотреть версию макроса с учетом того, что все три состояния учитываются одинаково.
Для упрощения вычислений образцы массивов создавались в соответствии с фактическими и прогнозируемыми значениями. Эти массивы использовали библиотеку показателей sklearn в Python для расчета значений. Вот результат.
| Модель | Наивное предположение | Точность | Макрос F1 |
|---|---|---|---|
| Модель 1 | 0.5 | 0.73 | 0.67 |
| Модель 2 | 0.80 | 0.83 | 0.66 |
Для получения более подробной информации о том, как выполняется этот расчет, здесь приведен отчет о классификации sklearn.metrics для модели 1. Три состояния, «Вовремя», «Поздно» и «Очень поздно», представлены строками, которые имеют метку 1, 2 и 3 соответственно. Среднее макроса — это просто среднее значение столбца «оценка-f1».
| точность | отзыв | оценка-f1 | |
|---|---|---|---|
| 1 | 0.83 | 0.80 | 0.82 |
| 2 | 0.68 | 0.71 | 0.69 |
| 3 | 0.50 | 0.50 | 0.50 |
Как показывают эти результаты, две модели имеют почти одинаковые результаты точности макросов F1. В этом и многих других случаях точность F1 обеспечивает лучший индикатор возможности модели. Для точности, интерпретация результатов требует понимания того, что наиболее важно для учета в модели.
Матрица неточностей — Confusion matrix
Источники: Fawcett (2006), Powers (2011), Ting (2011), CAWCR D. Chicco G. Jurman (2020), Tharwat (2018).
В области машинного обучения и, в частности, проблемы статистической классификации, матрица путаницы, также известная как матрица ошибок, это специальная вкладка Макет файла, который позволяет визуализировать работу алгоритма, обычно контролируемого обучения (в неконтролируемом обучении его обычно называют матрицей соответствия ). Каждая строка матрицы представляет экземпляры в прогнозируемом классе, а каждый столбец представляет экземпляры в фактическом классе (или наоборот). Название проистекает из того факта, что оно позволяет легко увидеть, не путает ли система два класса (т.е. часто ошибочно маркируют один как другой).
Это особый вид таблицы непредвиденных обстоятельств с двумя измерениями («фактическое» и «прогнозируемое») и идентичными наборами «классов» в обоих измерениях (каждая комбинация измерения и class — это переменная в таблице непредвиденных обстоятельств).
- 1 Пример
- 2 Таблица путаницы
- 3 Ссылки
Пример
Дана выборка из 13 изображений, 8 кошек и 5 собак, где кошки принадлежат класс 1 и собаки принадлежат классу 0,
предполагается, что классификатор, различает кошек и собак, обучен, и мы берем 13 изображений и пропускаем их через классификатор, и классификатор делает 8 точных прогнозов и пропускает 5: 3 кошки, ошибочно предсказанные как собаки (первые 3 прогноза) и 2 собаки, ошибочно предсказанные как кошки (последние 2 прогноза).
С этими двумя помеченными наборами (фактический и прогнозный) мы можем создать путаницу матрица, которая суммирует результаты тестирования классификатора:
| Фактический класс | |||
|---|---|---|---|
| Кот | Собака | ||
| Прогнозируемый. класс | Кот | 5 | 2 |
| Собака | 3 | 3 | |
В этой матрице неточностей из 8 изображений кошек система определила, что 3 были собаками, а из 5 изображений собак она предсказала, что 2 были кошками. Все правильные прогнозы расположены по диагонали таблицы (выделены жирным шрифтом), поэтому можно легко визуально проверить таблицу на наличие ошибок прогнозов, поскольку они будут представлены значениями за пределами диагонали.
В абстрактных терминах матрица неточностей выглядит следующим образом:
| Фактический класс | |||
|---|---|---|---|
| P | N | ||
| Прогнозируемый. класс | P | TP | FP |
| N | FN | TN | |
где: P = Положительный; N = отрицательный; TP = истинно положительный; FP = ложноположительный результат; TN = истинно отрицательный; FN = ложноотрицательный.
Таблица ошибок
В прогнозной аналитике используется таблица ошибок (иногда также называемая матрицей неточностей ). таблица с двумя строками и двумя столбцами, в которой указывается количество ложных срабатываний, ложных срабатываний, истинных срабатываний и истинных отрицаний. Это позволяет проводить более подробный анализ, чем простая пропорция правильных классификаций (точности). Точность приведет к неверным результатам, если набор данных несбалансирован; то есть, когда количество наблюдений в разных классах сильно различается. Например, если в данных было 95 кошек и только 5 собак, конкретный классификатор мог бы классифицировать все наблюдения как кошек. Общая точность будет 95%, но, более подробно, классификатор будет иметь коэффициент распознавания 100% (чувствительность ) для класса кошек, но коэффициент распознавания 0% для класса собак. Оценка F1 еще более ненадежна в таких случаях, и здесь будет давать более 97,4%, тогда как информированность устраняет такую предвзятость и дает 0 как вероятность обоснованного решения для любой формы предположения. (здесь всегда гадающий кот).
Согласно Давиде Чикко и Джузеппе Джурману, наиболее информативным показателем для оценки матрицы неточностей является коэффициент корреляции Мэтьюза (MCC).
Предполагая приведенную выше матрицу неточностей, соответствующую ей таблицу неточностей, для класс cat будет:
| Фактический класс | |||
|---|---|---|---|
| Cat | Non-cat | ||
| Прогнозируемый. класс | Cat | 5 True Positives | 2 False Positives |
| Non-cat | 3 False Negative | 3 True Negative | |
Итоговая таблица путаницы будет содержать средние значения для всех классов вместе взятых.
Давайте определим эксперимент из P положительных примеров и N отрицательных примеров для некоторого условия. Четыре исхода могут быть сформулированы в матрице путаницы 2 × 2 следующим образом:
| Истинное условие | ||||||
| Общая популяция | Положительное состояние | Отрицательное состояние | Распространенность = Σ Условие положительный / Σ Общая популяция | Точность (ACC) = Σ Истинно положительный + Σ Истинно отрицательный / Σ Общая популяция | ||
| Прогнозируемое условие | Прогнозируемое условие. положительное | Истинно положительное | Ложь положительный,. Ошибка типа I | Прогнозное положительное значение (PPV), Точность = Σ Истинно положительное / Σ Прогнозируемое положительное состояние | Частота ложного обнаружения (FDR) = Σ Ложно-положительный результат / Σ Прогнозируемое состояние положительное | |
| Прогнозируемое условие. отрицательное | Ложноотрицательное,. Ошибка типа II | Истинно отрицательное | Уровень ложных пропусков (FOR) = Σ Ложноотрицательный результат / Σ Прогнозируемое состояние отрицательное | Отрицательное прогнозируемое значение (NPV) = Σ Истинно отрицательное / Σ Прогнозируемое отрицательное состояние | ||
| Частота истинных положительных результатов (TPR), Вызов, Чувствительность, вероятность обнаружения, Мощность = Σ Истинно положительное / Σ Условие положительное | Частота ложных положительных результатов (FPR), Выпадение, вероятность ложной тревоги = Σ Ложноположительное состояние / Σ Условие отрицательное | Положительное правдоподобие соотношение (LR +) = TPR / FPR | Отношение шансов диагностики (DOR) = LR + / LR- | F1оценка = 2 · Точность · Отзыв / точность + отзыв | ||
| Ложноотрицательный частота (FNR), частота пропусков = Σ ложноотрицательное / Σ положительное условие | специфичность (SPC), селективность, истинно отрицательная частота (TNR) = Σ истинно отрицательное / Σ условие отрицательный | Отрицательное правдоподобие (LR-) = FNR / TNR | ||||
Матрица ошибок (Error matrix)
Матрица ошибок представляет собой способ визуализации для оценки качества классификаторов. Обычно используется в машинном обучении с учителем как для бинарной, так и для многоклассовой классификации.
В случае бинарной классификации матрица ошибок представляет собой таблицу, состоящую из двух строк и двух столбцов, при этом строки соответствуют фактическим классам, а столбцы — предсказанным.
В процессе обучения классификатор делает предсказания на обучающих примерах, для которых метка класса известна. При этом он допускает ошибки I и II рода. Если предсказанный класс соответствует фактическому, то исход классификации считается истинным, а в противном случае — ложным. Примеры положительного и отрицательного классов, для которых исход предсказания истинный, называются истинноположительными (true-positive, TP) и истинноотрицательными (true-negative, TN) соответственно. Очевидно, что это правильно классифицированные примеры.
Примеры положительного и отрицательного классов, для которых исход предсказания является ложным, называются ложноположительными (false-positive, FP) и ложноотрицательными (false-negative, FN) соответственно. Считается, что на этих примерах классификатор допустил ошибку.
Тогда результаты работы бинарного классификатора могут быть представлены в матрице ошибок следующим образом.
| P+N | Положительный (предсказано) | Отрицательный (предсказано) |
|---|---|---|
| Положительный (факт) | TP | FP |
| Отрицательный (факт) | FN | TN |
Если ячейка матрицы ошибок расположена на пересечении строки и столбца для одного и того же класса (т.е. элемент на главной диагонали), то она соответствует истинным классификациям, и в ней ставится число правильно отсортированных примеров для соответствующего класса. Если столбец и строка, на пересечении которых расположена ячейка, относятся к разным классам, то в ней окажется число ошибочно определенных примеров.
По результатам, представленным в матрице ошибок, могут вычисляться меры качества модели бинарной классификации.
Меткость (Accuracy, ACC или Overall classification rate, OCR ) — доля правильно классифицированных примеров:
A C C = T P + T N T P + T N + F P + F N .
Точность (Precision) — отношение числа истинноположительных классификаций к общему числу положительных классификаций. Данная величина также известна как positive predictive value (PPV) или положительное прогностическое значение:
P r = P P V = T P T P + F P .
Полнота (Recall) — доля истинноположительных примеров (TPR — true positive rate). Упоминается еще как чувствительность. Определяется как число истинноположительных классификаций относительно общего числа положительных примеров:
R e = T P R = T P T P + F N .
Полноту можно рассматривать как способность бинарного классификатора обнаруживать определенный класс.
Специфичность — доля истинноотрицательных (True Negative Rate — TNR) классификаций в общем числе отрицательных классификаций:
S p = T N R = T N T N + F P .
Данная величина показывает, насколько хорошо модель классифицирует отрицательные примеры.
Точностью отрицательного прогноза — доля верно классифицированных отрицательных примеров (Negative predictive value — NPV) от общего числа примеров классифицированных как отрицательные:
N P V = T N T N + F N .
False positive rate (FPR или Fall-out) — доля неверно классифицированных положительных примеров от общего количества отрицательных:
F P R = 1 − T N R = F P F P + T N .
False negative rate (FNR) — доля неверно классифицированных отрицательных примеров от общего количества положительных примеров:
F N R = 1 − T P R = F N F N + T P .
F1-мера объединяет в себе информацию о точности и полноте, поэтому позволяет находить баланс между ними:
F 1 = 2 ⋅ P P V ⋅ T P R P P V + T P R = 2 ⋅ T P 2 ⋅ T P + F P + F N .
Матрица ошибок может применяться и для многоклассовой классификации. В этом случае число строк и столбцов в ней будет равно числу классов. Однако в этом случае понятия отрицательного и положительного классов в том виде, в котором они были сформулированы для бинарной модели, не работают. Поэтому в ячейках матрицы ставятся не величины TP, FP, TN и FN, а количества классифицированных соответствующим образом примеров.
| Класс 1 (предсказано) | Класс 2 (предсказано) | Класс 3 (предсказано) |
|---|---|---|
| Класс 1 (факт) | 20 | 15 |
| Класс 2 (факт) | 10 | |
| Класс 3 (факт) | 5 | 50 |
Числа, стоящие в ячейках на пересечении строк и столбцов для одноимённых классов (когда предсказанный класс соответствует фактическому) определяют число правильно классифицированных примеров. Очевидно, что такие ячейки будут располагаться на главной диагонали матрицы ([20, 10, 50]). Ячейки, расположенные вне нее будут содержать количества ошибочно классифицированных примеров.
Если некоторые ячейки матрицы остались пустыми, это указывает на отсутствие ошибок модели в соответствующих комбинациях фактических и предсказанных классов. В них можно внести нулевые значения.
Матрица ошибок для многоклассовой классификации также позволяет наглядно представлять результаты работы классификатора и оценивать его качество. Например, по ней просто вычислить точность модели как отношение суммы чисел по главной диагонали матрицы к общему числу элементов в ней, или ошибку, как отношение суммы чисел вне главной диагонали к общему числу элементов.
Узнать подробнее, какие меры качества моделей бинарной классификации вычисляются с использованием матрицы ошибок, можно в статье «Метрики качества моделей бинарной классификации».
Пережевывая Матрицу Несоответствий — Confusion Matrix
Матрица Несоответствий довольно широко освещённый термин в науке о данных, про него без труда можно найти публикации в сети. В данной статье дано как само описание и принципы построения Матрицы Несоответствий (другие названия — Confusion matrix или Матрица Ошибок), так и основанные на этом понятии принципы работы различных метрик в задачах классификации в Машинном обучении. Несмотря на то, что само понятие Confusion Matrix является довольно простым в объяснении, начинающим Data Scientist-специалистам бывает порой нелегко разобраться в отношениях True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) — кирпичиками, составляющими данную матрицу. Цель этой статьи познакомить читателя с альтернативным представлением Матрицы Ошибок. Данный способ, по мнению автора, является наиболее наивным методом восприятия самой Матрицы Несоответствий, что в свою очередь позволит легко ориентироваться в выводах, основанных на комбинации ее элементов, глубже понять проблему дисбаланса классов в задачах классификации.
План данной статьи:
- приведем ряд сокращений с пояснениями, которые будут использоваться в статье;
- повторим классическое описание МатрицыОшибок и ее основных составляющих;
- представим альтернативный способ запоминания МатрицыНесоответствий, в основе которого лежит графическое отношение комбинации ее элементов;
- разберем понятия Precision, Recall, TPR, FPR;
- рассмотрим понятия ROC-AUC, F1-меры метрик задач классификации;
- рассмотрим проблему дисбаланса классов в задачах классификации.
Сокращения, термины-синонимы, используемые в статье:
- ConfusionMatrix — МатрицаНесоответствий, МатрицаОшибок
- ML — Машинное обучение
- Модель (в данной статье) — алгоритм классификации
- TP — истинно-положительные объекты ( TruePositive )
- FP — ложно-положительные объекты ( FalsePasitive )
- TN — истинно-отрицательные объекты ( TrueNegative )
- FN — ложно-отрицательные объекты ( FalseNegative )
- TPR — TruePositiveRate
- FPR — FalsePositiveRate
- ROC — Receiver Operating Characteristic curve
- AUC — Area Under Curve
Автор предполагает, что читатель знаком с задачей классификации объектов в Машинном обучении, и поэтому в статье данный вопрос будет затронут поверхностно. Для простоты разберем бинарную классификацию, где истинные метки объектов принадлежат пространству.
0 — объекты относятся к нулевому классу,
1 — объекты относятся к классу 1.
Алгоритм машинного обучения выдает свой прогноз по этим меткам
здесь 0 — метки объектов, которые алгоритм классифицирует как объекты класса 0, и 1 — метки объектов, которые алгоритм считает за объекты класса 1.
Приведем модельный пример: допустим, у нас есть альбом с фотографиями животных и людей. Все фото, где присутствуют животные, пометим как объекты класса 1, а где их нет, как объекты класса 0. Сформулируем задачу: написать, алгоритм, способный понять, присутствует ли изображение животного на снимке или отсутствует. Сложность ситуации в том, что созданный классификатор не знает истинное значение, какой объект к какому классу принадлежит в реальности, и поэтому может ошибаться в своих ответах.
Для описания комбинаций, которые могут получаться при сопоставлении ответов алгоритма и истинных меток объекта в Машинном обучении, используются следующие понятия:
- TP — истинно-положительные объекты ( TruePositive) — объект представляет собой класс 1 и алгоритм его идентифицирует как класс 1
- FP — ложно-положительные объекты ( FalsePositive) — объект представляет собой класс 0, алгоритм его идентифицирует как класс 1 (ошибается)
- TN — истинно-отрицательные объекты ( TrueNegative) — объект представляет собой класс 0 и алгоритм его идентифицирует как класс 0
- FN — ложно-отрицательные объекты ( FalseNegative) — объект представляет собой класс 1, алгоритм его идентифицирует как класс 0.
Данные элементы являются составными частями Матрицы Несоответствий, построенной в координатах истинные ответы и ответы классификатора.
Для оценки качества работы алгоритма в Машинном обучении применяются различные метрики, часть которых основана на применении отношений комбинаций элементов Матрицы Несоответствий.
Так, например, понятия , и
используются в таких метриках, как F1-мера, Accuracy, Balanced Accuracy, Precision-Recall
curve и др. В метрике ROC-AUC применяется , и
При этом ни Precision, Recall, ни FPR, TPR не являются самостоятельными мерами оценки качества работы алгоритма, а используются в соответствующих метриках в различных парных комбинациях.
Значительное количества метрик, формул, плюс проблема дисбаланса классов (непропорциональное отношение количества объектов класса 0 к классу 1) — все это во время работы с данными предполагает постоянное обращение к классическому представлению Матрицы Несоответствий. В этой статье для более легкого интуитивного усвоения описанных понятий предлагается отойти от «сухого» табличного формата, попытаться понять изложенную информацию через ее визуализацию.
Для этого представим, что мы пришли в тир пострелять по мишени.
Здесь следует напомнить, что все многообразие мира бинарная классификация делит на объекты, принадлежащие классу 1 и классу 0. Это и будет наша мишень. Изобразим это на рисунке.

Возвращаясь к нашей задаче поиска животных на фотоснимках в альбоме, объекты класса 1 — это те фотографии, на которых имеются изображения животных, объекты класса 0 — снимки, которые их не содержат в реальности.
Теперь разберемся с понятием Precision. В переводе с английский этот термин обозначает “точность”, в Машинном Обучении под Precision подразумевается насколько наш алгоритм способен правильно классифицировать класс 1 из всех объектов, которые он распознал как единички или доля тех фотографий, где есть на самом деле животные из всего объема фотографий, в которых алгоритм указал, что на них имеется целевое изображение. На данном этапе предлагаю не заучивать данное объяснение, тем более что мы интуитивно выведем его сами на примере.
Возвращаемся в импровизированный тир, тогда “точность” — это будет выстрел нашего алгоритма, который пытается найти объекты класса 1, стреляя в центр мишени.

Все объекты, заключенные в контуре круга, для нашего алгоритма будут иметь метку 1, то есть интерпретированы как фотографии с животными. При этом мы видим, что алгоритм может ошибаться, так как в центр мишени вошли как фотографии с животными (объекты класса 1), так и изображения без животных (класса 0). Область, где наш алгоритм справился со своей задачей и правильно угадал класс 1, будет соответствовать True Positive (истинно положительные ответы, животные есть на снимках на самом деле), а где ошибся False Positive (ложно положительные ответы, здесь классификатор предполагает, что на фото животные есть, но на самом деле их нет).

Зона, где наш объект правильно идентифицирует объекты класса 0 и не ошибается на них, соответствует понятию True Negative — истинно негативные объекты, то есть те фотографии, где животных в реальности нет, и алгоритм с этим согласен. На рисунке 05 данный участок отмечен как TN.

Соответственно, одна непромаркерованная область будет соответствовать как по смыслу, так и по методу исключения понятию False Negative или FN (ложно отрицательные, то есть наш алгоритм не смог эти объекты правильно классифицировать как объекты класса 1, например, спящую собаку в углу какого-то снимка распознал как камень или что-либо другое).
Теперь дополним наш рисунок новой информацией и сравним с табличной формой Матрицы Ошибок.

Объекты, отвечающие за расчет Precision (точность), сконцентрированы внутри центрального контура. Глядя на картинку, попробуйте сами сформулировать термин Precision.

Сравните с правильным ответом: Precision — доля объектов, предсказанных алгоритмом как класс 1 и являющиеся на самом деле классом 1. В нашей задаче по определению есть ли животное на фото, это будет звучать как доля фотографий, где алгоритм распознал наличие животного, и оно на самом деле там присутствует.
Термин Recall имеет тоже довольно простую интерпретацию: способность нашего алгоритма определять класс 1.

В применении к нашей задаче поиска определенных фотографий термин Полнота или Recall будет трактоваться как способность нашего алгоритма находить фото с животным из всех снимков, которые в реальности их содержат.
Настало время дать оценку насколько хорошо работает модель Машинного обучения. Для этого используют различные метрики, особенность их состоит в том, что такие метрики, как F1-мера, Accuracy, Balanced Accuracy, применяют различные комбинации разобранных нами методов Precision и Recall. Как эти понятия взаимодействуют между собой, очень хорошо можно понять через визуальное представление Матрицы Ошибок.
Разберем это на примере F1-мера, которая является частным случаем среднегармонической F-меры:
F1-мера является довольно стабильной метрикой при равном балансе классов (в примере с фотографиями животных, когда количество снимков, где присутствуют животные, примерно равно количеству снимков без животных). На практике большинство задач имеют перекос в балансе классов. Посмотрим, что будет происходит с описанными понятиями в этом случае.

Как видно из рисунка выше, Recall пропорционально изменяется вместе с балансом классов, в то время как Precision сильно меняет значения. Для нивелирования перекоса предполагается использование некоторого β коэффициента — это и будет среднегармоническая F-мера. Хотя в отличие от нашего примера, в Машинном обучении при дисбалансе классов принято более редкий класс обозначать через 1, а наибольший через 0, но это не меняет идеи того, что изменения F-меры обусловлены нестабильным в таком случае параметром Precision. Подбор β коэффициента напрямую влияет на качество оценки работы модели. Обоснование и поиск данного коэффициента выходит за рамки данной статьи.
Теперь рассмотрим метрику ROC-AUC (Area Under Curve). Данная оценка работы алгоритма классификации рассчитывается как площадь под ROC кривой, которая строится в координатах TPR и FPR. Указанная метрика более устойчива к дисбалансу классов ввиду того, что в отличие от F1-меры здесь задействованы все элементы матрицы. Отметим, что термин TPR (True Positive Rate) равен рассмотренному ранее Recall.

Из рисунка понятно причина стабильности метрики ROC-AUC при дисбалансе классов: при увеличении, например, количества объектов класса 0 все элементы входящие в FPR будут также пропорционально увеличиваться, а элементы, составляющие TPR наоборот уменьшаться. Но при этом итоговое значение FPR и TPR будут примерно соотноситься к тем значениям, когда дисбаланса класса нет.
Из рисунка понятно причина стабильности метрики ROC-AUC при дисбалансе классов: при увеличении, например, количества объектов класса 0 все элементы входящие в FPR будут также пропорционально увеличиваться, а элементы, составляющие TPR наоборот уменьшаться. Но при этом итоговое значение FPR и TPR будут примерно соотноситься к тем значениям, когда дисбаланса класса нет.
Заключение
В машинном обучении в задачах классификации для оценки насколько хорошо работает построенная модель и сравнения ее с другими алгоритмами применяются специальные агрегированные метрики. Для наилучшего освоения основ применения данных метрик специалисту по данным необходимо хорошо понимать концепцию их описания в терминах ошибок классификации — Матрице Ошибок или Матрице Несоответствий. В данной статье, предложен способ визуализировать Confusion Matrix в более легкий формат для восприятия в сравнении с классическим табличным видом. Через это представление рассмотрены часть метрик классификации и их элементов, разобрано поведение этих метрик при сбалансированных выборках и дисбалансе классов.
- Confusion Matrix
- Матрица Ошибок
- Матрица Несоответствий
- Дисбаланс классов
- машинное обучение
- классификация
- метрики классификации
- roc-auc
- F1-мера
- Машинное обучение
- Статистика в IT
- Интервью