Ведутся огромные исследования в области оценки производительности любых моделей машинного обучения. Оценка производительности классификатора всегда сложнее по сравнению с регрессором. Возьмем пример:
Предположим, нам нужно предсказать пол человека. И мы пишем очень глупую модель, которая предсказывает, что все мужчины.
Для такой модели в пуле из 100 человек, где 90 мужчин и 10 женщин, точность составляет 90%. Это огромно и совершенно неправильно. Для такого контекста разработана матрица путаницы.
В научном наборе нам дается функция confusion_matrix, которая принимает истинное значение и прогнозируемое значение для расчета матрицы путаницы.
from sklearn.metrics import confusion_matrix confusion_matrix(y_true, y_pred)
Матрица путаницы для двоичного классификатора
Матрица путаницы для бинарного классификатора представляет собой матрицу 2 X 2.
TN = количество истинно отрицательных результатов в соответствии с классификатором
TP = количество истинно положительных результатов согласно классификатору.
FP = количество ложноположительных результатов согласно классификатору
FN = количество ложноотрицательных результатов согласно классификатору
Чтобы понять это, предположим, что у нас есть бинарный классификатор для предсказания, является ли человек девушкой или нет. Затем давайте наглядно отобразим, что представляют собой все эти обозначения.
Пусть N означает общее количество прогнозов.
И N = TP + TN + FN + FP
Есть несколько терминов, связанных с матрицей путаницы:
Точность
Он определяет общее количество правильных прогнозов во всем наборе данных. Его можно рассчитать, разделив общее количество истинных положительных результатов и количество ложных отрицательных результатов на общее количество данных в наборе данных. Другими словами, это отношение правильных прогнозов к общему количеству прогнозов.
Точность = (TP + FN) / N
Частота ошибок
Он определяет общее количество неверных прогнозов во всем наборе данных. Его можно рассчитать, разделив общее количество ложных срабатываний и количество истинных отрицательных результатов на общее количество данных в наборе данных. Другими словами, это отношение неверных прогнозов к общему количеству прогнозов.
Коэффициент ошибок = (FP + TN) / N
Отзыв / Истинный положительный показатель / Чувствительность
Он рассчитывается путем деления общего количества истинных положительных результатов на сумму количества истинных положительных результатов и количества ложноотрицательных результатов. Другими словами, это соотношение правильных положительных результатов и правильных прогнозов.
Отзыв = TP / (TP + FN)
Точность/положительная прогностическая ценность
Он рассчитывается путем деления общего количества истинных срабатываний на сумму количества истинных срабатываний и количества ложных срабатываний. Другими словами, это соотношение правильных и прогнозируемых положительных результатов.
Точность = TP / (TP + FP)
Специфичность / доля истинно отрицательных результатов
Он рассчитывается путем деления общего количества истинно отрицательных результатов на сумму числа истинно отрицательных и ложноотрицательных результатов. Другими словами, это соотношение правильных и прогнозируемых отрицательных результатов.
Специфичность = FN / (TN + FP)
Ложноположительный результат
Он рассчитывается путем деления общего количества ложных срабатываний на сумму количества ложных срабатываний и количества истинно отрицательных результатов. Другими словами, это соотношение неверных срабатываний и неверных прогнозов.
FPR = FP / (TN + FP)
Матрица путаницы для многоклассового/многометочного классификатора
Предположим, мы хотим разделить фрукты в корзине на 4 класса: яблоко, виноград, бананы и апельсины.
Тогда матрица путаницы для этой задачи классификации будет матрицей 4 x 4. Таким образом, матрица путаницы представляет собой матрицу N x N, где N — количество меток или классов.
В приведенной выше матрице попробуем рассчитать TP, FP, TN и FN для оранжевого цвета.
TP = 15
Мы можем видеть это в последнем столбце и последней строке. 15 апельсинов были правильно классифицированы.
FP = 2 + 2 + 10 = 14
Мы можем видеть это в последнем столбце, кроме последней строки. 2 яблока, 2 винограда и 10 бананов ошибочно классифицируются как апельсины.
TN = 11 + 3 + 1 = 15
Мы можем видеть это в последней строке, кроме последнего столбца. 11 апельсинов были ошибочно классифицированы как яблоки, 3 из них — как виноград, а 1 — как бананы.
FN = 10 + 2 +1 + 5 + 12 + 1 + 5 + 2 + 18 = 56
Все остальные классификации, кроме последней строки и последнего столбца, можно классифицировать как ложноотрицательные, поскольку они не были апельсинами и не были классифицированы как апельсины.
Заключение
Лично меня всегда смущали термины матрицы путаницы и то, как матрица путаницы представлена в классификации с несколькими метками. Поэтому я решил написать об этом, так как это может помочь другим людям, таким как я. Надеюсь, понятно, так как я старался добавлять много иллюстраций. Ваше здоровье.
Присоединяйтесь к FAUN: Сайт💻|Подкаст🎙️|Twitter🐦|Facebook👥 |Instagram📷|Группа Facebook🗣️|Группа Linkedin💬| Slack 📱|Cloud Native Новости📰|Дополнительно.
Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏 ниже, чтобы выразить свою поддержку автору 👇