Existe-t-il un ensemble outil/R disponible pour calculer l'exactitude et la précision de la matrice de confusion dans R?
oui, vous pouvez calculer la précision et la précision dans R avec matrice de confusion . Il utilise Caret package .
Voici l'exemple:
lvs <- c("normal", "abnormal")
truth <- factor(rep(lvs, times = c(86, 258)),
levels = rev(lvs))
pred <- factor(
c(
rep(lvs, times = c(54, 32)),
rep(lvs, times = c(27, 231))),
levels = rev(lvs))
xtab <- table(pred, truth)
# load Caret package for computing Confusion matrix
library(caret)
confusionMatrix(xtab)
Et Confusion Matrix pour xtab serait comme ceci:
Confusion Matrix and Statistics
truth
pred abnormal normal
abnormal 231 32
normal 27 54
Accuracy : 0.8285
95% CI : (0.7844, 0.8668)
No Information Rate : 0.75
P-Value [Acc > NIR] : 0.0003097
Kappa : 0.5336
Mcnemar's Test P-Value : 0.6025370
Sensitivity : 0.8953
Specificity : 0.6279
Pos Pred Value : 0.8783
Neg Pred Value : 0.6667
Prevalence : 0.7500
Detection Rate : 0.6715
Detection Prevalence : 0.7645
'Positive' Class : abnormal
Alors voici tout ce que vous voulez.
@ Hars Trivedi
byClass vous permet d'extraire les précision et rappel du résumé. Le PPV est la précision. La sensibilité est rappel. https://en.wikipedia.org/wiki/Precision_and_recall
library(caret)
result <- confusionMatrix(prediction, truth)
precision <- result$byClass['Pos Pred Value']
recall <- result$byClass['Sensitivity']
J'imagine que vous voulez extraire la précision et vous rappeler de calculer la f-mesure alors voilà.
f_measure <- 2 * ((precision * recall) / (precision + recall))
J'ai aussi trouvé cette calculatrice en ligne pratique pour vérifier la santé mentale. http://www.marcovanetti.com/pages/cfmatrix/?noc=2
-bg
Si quelqu'un a le même problème que moi, la méthode confusionMatrix()
in caret
donne effectivement de la sensibilité/spécificité. Cependant , s'il est alimenté par un objet de type train
, il exécutera une méthode différente, confusionMatrix.train()
, qui n'a pas cette information.
La solution consiste à alimenter manuellement les variables data
et reference
à partir de l'objet train
(c'est-à-dire $pred$pred$
et $pred$obs
) dans la méthode confusionMatrix()
.