Допустим, это ваша матрица путаницы:
tab = structure(list(A = c(2298L, 264L, 5L, 1L, 0L, 0L, 0L), B = c(174L,
3245L, 193L, 1L, 0L, 0L, 0L), C = c(63L, 301L, 2958L, 39L, 2L,
0L, 0L), D = c(29L, 65L, 399L, 1074L, 32L, 0L, 0L), E = c(26L,
16L, 61L, 236L, 249L, 8L, 0L), F = c(12L, 3L, 15L, 33L, 97L,
21L, 0L), G = c(3L, 3L, 4L, 6L, 30L, 11L, 0L)), class = "data.frame", row.names = c("A",
"B", "C", "D", "E", "F", "G"))
- Что такое ТП, ТН, ФП и FN в Матрице?
Вам необходимо go по каждому ярлыку, например, для класса A, эти термины имеют смысл с точки зрения предсказаний относительно A.
A_confusion_matrix = cbind(c(x[1,1],sum(x[-1,1])),c(sum(x[1,-1]),sum(x[2:7,2:7])))
[,1] [,2]
[1,] 2298 307
[2,] 270 9102
Как указано выше рассчитывается в основном сводит воедино все прогнозы и ссылки неверны, а не вместе.
И эти числа представляют:
A_confusion_matrix [1,1] - это число, которое предсказано A и действительно A -> TP
A_confusion_matrix [1,2] - это число, которое прогнозируется A, но не A -> FP
A_confusion_matrix [2,1] - это число, которое не прогнозируется A но A -> FN
A_confusion_matrix [2,2] - это число, которое не является прогнозируемым A и не A -> TN
Отсюда, например, можно рассчитать чувствительность для A что составляет TP / (TP + FN) = 2298 / (2298 + 270) = 0,8948598
Что представляет собой каппа?
Это каппа Коэна , в основном метри c, которая измеряет, насколько хороши ваши прогнозы по сравнению со случайным угадыванием / заданием.
Какая разница между точностью и каппой?
Как видно из приведенной выше формулы, она имеет огромное значение, когда ваш набор данных несбалансирован. Например, если 90% ваших ярлыков принадлежат одному классу, если модель предсказывает, что все будет этим классом, вы получите точность 90%. Однако, если вы используете каппу Коэна, для начала ожидаемое значение p составляет 0,9, и вам нужно go лучше, чем это, чтобы показать хороший результат.