Как интерпретировать путаницу в матрице R - PullRequest
0 голосов
/ 26 марта 2020

Я работаю с матрицей путаницы и очень хорошо разбираюсь в выводе. Однако, поскольку я новичок в использовании этого и R, подробные объяснения часто делают его звучание более сложным. У меня есть вывод ниже, и мне просто интересно, можно ли мне это объяснить

  • Что такое ТП, ТН, ФП и FN в Матрице?
  • Что означает каппа представляете?
  • Какая разница между точностью & каппа?

    > confusionMatrix(predRF, loanTest2$grade)
    
    Confusion Matrix and Statistics
    
              Reference
    Prediction     A    B    C    D    E    F    G
     A          2298  174   63   29   26   12    3
     B           264 3245  301   65   16    3    3
     C             5  193 2958  399   61   15    4
     D             1    1   39 1074  236   33    6
     E             0    0    2   32  249   97   30
     F             0    0    0    0    8   21   11
     G             0    0    0    0    0    0    0
    
    Overall Statistics
    
               Accuracy : 0.822          
                 95% CI : (0.815, 0.8288)
    No Information Rate : 0.3017         
    P-Value [Acc > NIR] : < 2.2e-16      
    
                   Kappa: 0.7635         
    
                         Class: A Class: B Class: C Class: D Class: E Class: F Class: G
    Sensitivity            0.8949   0.8981   0.8796  0.67167  0.41779 0.116022 0.000000
    Specificity            0.9674   0.9220   0.9214  0.96955  0.98585 0.998389 1.000000
    Pos Pred Value         0.8821   0.8327   0.8138  0.77266  0.60732 0.525000      NaN
    Neg Pred Value         0.9712   0.9545   0.9515  0.95041  0.97000 0.986596 0.995241
    Prevalence             0.2144   0.3017   0.2808  0.13351  0.04976 0.015112 0.004759
    Detection Rate         0.1919   0.2709   0.2470  0.08967  0.02079 0.001753 0.000000
    Detection Prevalence   0.2175   0.3254   0.3035  0.11606  0.03423 0.003340 0.000000
    Balanced Accuracy      0.9311   0.9101   0.9005  0.82061  0.70182 0.557206 0.500000
    

1 Ответ

2 голосов
/ 26 марта 2020

Допустим, это ваша матрица путаницы:

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"))
  1. Что такое ТП, ТН, ФП и 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, которая измеряет, насколько хороши ваши прогнозы по сравнению со случайным угадыванием / заданием.

enter image description here

Какая разница между точностью и каппой?

Как видно из приведенной выше формулы, она имеет огромное значение, когда ваш набор данных несбалансирован. Например, если 90% ваших ярлыков принадлежат одному классу, если модель предсказывает, что все будет этим классом, вы получите точность 90%. Однако, если вы используете каппу Коэна, для начала ожидаемое значение p составляет 0,9, и вам нужно go лучше, чем это, чтобы показать хороший результат.

...