6

在 R 中,如何以百分比(或 1 的分数)获得混淆矩阵。“caret”包提供了有用的功能,但显示了样本的绝对数量。

library(caret)
data(iris)
T <- iris$Species
P <- sample(iris$Species)
confusionMatrix(P, T)
Confusion Matrix and Statistics
             Reference
Prediction   setosa versicolor virginica
setosa         15         16        19
versicolor     19         16        15
virginica      16         18        16
4

1 回答 1

7

如果您想要所有摘要统计信息,插入符号功能很好。如果您只关心“百分比”混淆矩阵,则可以使用prop.tableand table。此外,为了将来参考,严格的编程问题应该发布到stackoverflow而不是 CrossValidated。

prop.table(table(P,T))
> prop.table(table(P,T))
            T
P                setosa versicolor  virginica
  setosa     0.11333333 0.10666667 0.11333333
  versicolor 0.09333333 0.13333333 0.10666667
  virginica  0.12666667 0.09333333 0.11333333

如果您想保留插入符号的摘要统计信息,只需在混淆矩阵对象上使用 prop.table 即可。

prop.table(caret::confusionMatrix(P,T)$table)
于 2014-11-17T13:22:46.523 回答