Всем привет,

Надеюсь, у вас все хорошо??

Сегодня я хотел бы поговорить о том, как оценить производительность модели классификации с помощью матрицы путаницы. Итак, Приступим…

Что такое матрица путаницы? (Ничего не сбивает с толку в матрице этого типа, пока вы это не узнаете)

  • Он показывает разницу между фактическими и прогнозируемыми значениями. Он сообщает нам, сколько точек данных было предсказано правильно, а какие — нет.
  • Это матрица 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, чтобы оценить производительность модели.

Спасибо за терпеливое чтение и продолжайте учиться!!