Всем привет,
Надеюсь, у вас все хорошо??
Сегодня я хотел бы поговорить о том, как оценить производительность модели классификации с помощью матрицы путаницы. Итак, Приступим…
Что такое матрица путаницы? (Ничего не сбивает с толку в матрице этого типа, пока вы это не узнаете)
- Он показывает разницу между фактическими и прогнозируемыми значениями. Он сообщает нам, сколько точек данных было предсказано правильно, а какие — нет.
- Это матрица N * N, где n - номер. категорий в выходном столбце, который также называется целевым атрибутом.
- Итак, если есть 2 класса, вы получите матрицу 2 * 2. Если классов 3, то получится матрица 3*3 и так далее. По сути, то, что я пытаюсь сделать здесь, это скорее классы, которые он попытается создать с множеством чисел матрицы путаницы, но они будут иметь одинаковое количество строк и столбцов.
Для начала давайте попробуем узнать некоторые общие термины: TP (истинно положительный), FP (ложноположительный), истинно отрицательный (TN), и FN(ложноотрицательный результат).
Мы попытаемся увидеть матрицу 3 x 3, в которой мы будем вычислять значения TP, TN, FP, FN, используя приемы, которые я собираюсь вам показать. Этот трюк можно применить и к матрице 4*4, 5*5…N*N.
Итак, давайте сразу к делу…
Учтите, что эта матрица путаницы имеет классы A, B, C в выходном столбце набора данных на рисунке 1 ниже.
Мы попробуем рассчитать TP(истинно положительный), FP(ложноположительный), истинно отрицательный(TN) и FP(ложноположительный). отрицательные) значения для класса A.
TruePositive(A): сообщает, что фактическое значение, а также прогнозируемые значения совпадают. Истинная положительная скорость для класса A — это не что иное, как фактическое значение, а прогнозируемое значение такое же, что означает, что значение для ячейки 1 равно 15.
FalsePositive(A): сообщает, что фактическое значение отрицательное, в нашем случае это класс B и C, но модель предсказала его как положительное, то есть класс A. Это добавление значений соответствующего столбца, кроме для значения ТП.
FalsePositive(A) = (ячейка 4 + ячейка 7)
= (7 + 2)
= 9
TrueNegative(A):это говорит о том, что фактическое значение, а также прогнозируемые значения имеют одно и то же значение для классов A-B и C, классифицированных как отрицательные. Это сложение значений всех строк и столбцов, выходящих из класса, который мы вычисляем, то есть класса A.
TrueNegative(A) = (ячейка 5 + ячейка 6 + ячейка 8 + ячейка 9)
= 15 + 8 +3 + 45
= 71
FalseNegative(A): Это говорит о том, что фактическое значение является положительным, в нашем случае это класс A, но модель предсказала его как отрицательное, что является классом B и C. Оно вычисляется путем добавления соседних строк, кроме для значения TP.
FalseNegative(A) = (ячейка 2 + ячейка 3)
= 2 + 3
= 5
Пришло время рассчитать Precision, Recall и Accuracy для класса A.
Точность: пытается определить, сколько положительных результатов вы сможете дать правильно.
Точность(A) = предсказано правильно / Всего предсказано = 15/24 = 0,625
Отзыв: пытается предсказать, сколько положительных прогнозов на самом деле было положительными.
Отзыв(A) = правильно классифицированный /фактический итог = 15/20 = 0,75
Точность этого классификатора = Всего правильно классифицировано/ Всего фактически = 15 + 15+ 45/100 = 0,75
Точно так же вы можете рассчитать TP, FP, FN, TN, Precision, Recall для класса B и C.
Мы все узнали, как мы можем оценить нашу модель классификации, но почему мы должны использовать матрицу путаницы?
Таким образом, ответ на этот вопрос будет с помощью матрицы путаницы, мы можем рассчитать полноту, точность, точность, кривую AUC-ROC, чтобы оценить производительность модели.
Спасибо за терпеливое чтение и продолжайте учиться!!