从 R 中的混淆矩阵中得到 "Accuracy (average)"
get "Accuracy (average)" from confusion Matrix in R
我有以下混淆矩阵:
confusionMatrix(test_gbm)
Cross-Validated (60 fold) Confusion Matrix
(entries are percentual average cell counts across resamples)
Prediction A B C D E
Reference A 28.0 0.6 0.0 0.0 0.0
B 0.3 18.3 0.6 0.1 0.2
C 0.1 0.5 16.6 0.5 0.2
D 0.0 0.0 0.2 15.7 0.2
E 0.0 0.0 0.0 0.1 17.8
Accuracy (average) : 0.9635
我想以编程方式提取准确性。
这是海峡数据
List of 4
$ table: table [1:5, 1:5] 27.9941 0.2905 0.1019 0.0408 0.0102 ...
..- attr(*, "dimnames")=List of 2
.. ..$ Prediction: chr [1:5] "A" "B" "C" "D" ...
.. ..$ Reference : chr [1:5] "A" "B" "C" "D" ...
$ norm : chr "overall"
$ B : int 60
$ text : chr "Cross-Validated (60 fold) Confusion Matrix"
- attr(*, "class")= chr [1:2] "confusionMatrix.train" "confusionMatrix.train.formula"
我似乎无法弄清楚它的存储位置。
在这种情况下,准确度未存储在 confusionMatrix
对象中,但似乎是根据混淆矩阵本身动态计算的。尽管如此,你也可以自己计算准确率,因为它只是混淆矩阵对角线元素的总和。
假设您将混淆矩阵存储在一个名为 cm
的对象中。那么准确率是:
sum(diag(cm$table))/100
或者,不存储混淆矩阵对象:
sum(diag(confusionMatrix(test_gbm)$table))/100
我有以下混淆矩阵:
confusionMatrix(test_gbm)
Cross-Validated (60 fold) Confusion Matrix
(entries are percentual average cell counts across resamples)
Prediction A B C D E
Reference A 28.0 0.6 0.0 0.0 0.0
B 0.3 18.3 0.6 0.1 0.2
C 0.1 0.5 16.6 0.5 0.2
D 0.0 0.0 0.2 15.7 0.2
E 0.0 0.0 0.0 0.1 17.8
Accuracy (average) : 0.9635
我想以编程方式提取准确性。
这是海峡数据
List of 4
$ table: table [1:5, 1:5] 27.9941 0.2905 0.1019 0.0408 0.0102 ...
..- attr(*, "dimnames")=List of 2
.. ..$ Prediction: chr [1:5] "A" "B" "C" "D" ...
.. ..$ Reference : chr [1:5] "A" "B" "C" "D" ...
$ norm : chr "overall"
$ B : int 60
$ text : chr "Cross-Validated (60 fold) Confusion Matrix"
- attr(*, "class")= chr [1:2] "confusionMatrix.train" "confusionMatrix.train.formula"
我似乎无法弄清楚它的存储位置。
在这种情况下,准确度未存储在 confusionMatrix
对象中,但似乎是根据混淆矩阵本身动态计算的。尽管如此,你也可以自己计算准确率,因为它只是混淆矩阵对角线元素的总和。
假设您将混淆矩阵存储在一个名为 cm
的对象中。那么准确率是:
sum(diag(cm$table))/100
或者,不存储混淆矩阵对象:
sum(diag(confusionMatrix(test_gbm)$table))/100