15

R の混同行列の精度と精度を計算するために利用できるツール/R パッケージはありますか?

数式とデータ構造はこちら

4

4 に答える 4

31

はい、混同行列を使用して R の精度と精度を計算できます。Caret パッケージを使用します。

例は次のとおりです。

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)

xtabの混同行列は次のようになります。

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

だからここにあなたが望むすべてがあります。

于 2013-09-20T10:29:29.027 に答える
14

@ハーシュ・トリヴェディ

byClassを使用すると、要約から適合率再現率を引き出すことができます。PPVは精度です。感度はリコールです。https://en.wikipedia.org/wiki/Precision_and_recall

library(caret)

result <- confusionMatrix(prediction, truth)
precision <- result$byClass['Pos Pred Value']    
recall <- result$byClass['Sensitivity']

精度と再現率を引き出してf値を計算したいと思うので、ここに行きます。

f_measure <- 2 * ((precision * recall) / (precision + recall))

また、健全性チェック用の便利なオンライン計算機も見つけました。 http://www.marcovanetti.com/pages/cfmatrix/?noc=2

-bg

于 2016-02-25T15:05:32.597 に答える