2014-10-29 7 views
1

У меня есть этот фрейм данных conf_mat с двумя столбцами, включая предсказанные значения и опорные значения в каждом объекте. У меня есть 20 объектов в этом фреймворке.Создайте матрицу путаницы из dataframe

dput(Conf_mat) 
structure(list(Predicted = c(100, 200, 200, 100, 100, 200, 200, 
200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200 
), Reference = c(600, 200, 200, 200, 200, 200, 200, 200, 500, 
500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200)), .Names = c("Predicted", 
"Reference"), row.names = c(NA, 20L), class = "data.frame") 

Я хочу, чтобы создать матрицу путаницы из этой таблицы с такой структурой, которая будет заполненным Conf_mat dataframe. Это позволит мне вычислить точную оценку моей классификации. Спасибо за вашу помощь.

100 200 300 400 500 600 
100 NA NA NA NA NA NA 
200 NA NA NA NA NA NA 
300 NA NA NA NA NA NA 
400 NA NA NA NA NA NA 
500 NA NA NA NA NA NA 
600 NA NA NA NA NA NA 

ответ

0

1) Попробуйте следующее:

table(Conf_mat) 

2) Если вы хотите, чтобы уровень 100, 200, ..., 600 появится:

conf_mat_tab <- table(lapply(Conf_mat, factor, levels = seq(100, 600, 100))) 

3) Вы также можете попробовать следующее:

library(caret) 
confusionMatrix(conf_mat_tab) # conf_mat_tab from (2) 

, который дает:

Confusion Matrix and Statistics 

     Reference 
Predicted 100 200 300 400 500 600 
     100 0 9 0 0 1 1 
     200 0 6 0 0 1 0 
     300 0 0 0 0 0 0 
     400 0 0 0 0 0 0 
     500 0 1 0 0 1 0 
     600 0 0 0 0 0 0 

Overall Statistics 

       Accuracy : 0.35    
       95% CI : (0.1539, 0.5922) 
    No Information Rate : 0.8    
    P-Value [Acc > NIR] : 1    

        Kappa : 0.078   
Mcnemar's Test P-Value : NA    

Statistics by Class: 

        Class: 100 Class: 200 Class: 300 Class: 400 Class: 500 Class: 600 
Sensitivity     NA  0.3750   NA   NA  0.3333  0.00 
Specificity    0.45  0.7500   1   1  0.9412  1.00 
Pos Pred Value    NA  0.8571   NA   NA  0.5000  NaN 
Neg Pred Value    NA  0.2308   NA   NA  0.8889  0.95 
Prevalence     0.00  0.8000   0   0  0.1500  0.05 
Detection Rate    0.00  0.3000   0   0  0.0500  0.00 
Detection Prevalence  0.55  0.3500   0   0  0.1000  0.00 
Balanced Accuracy   NA  0.5625   NA   NA  0.6373  0.50 

 Смежные вопросы

  • Нет связанных вопросов^_^