R:如何为预测模型制作混淆矩阵?

use*_*718 13 r prediction

我有一个数据帧.对于我的模型,第一列包含我的预测分数(范围从0到100,较小的值预计在A类中,较大的值预计在B类中),第二列包含条目的实际分类(" A类"或"B类").

如何使用R得到不同截止值的混淆矩阵,因为我无法确定在哪里定义值<20或<50作为A类呢?

如何与R有效地进行这种比较?

nzc*_*ops 20

有很多方法可以做到这一点,我们需要一个可重现的数据示例:

set.seed(12345)
test <- data.frame(pred=c(runif(50,0,75),runif(50,25,100)), group=c(rep("A",50), rep("B",50)) )
table(test$pred<50,test$group)
Run Code Online (Sandbox Code Playgroud)

         A  B
  FALSE 18 34
  TRUE  32 16
Run Code Online (Sandbox Code Playgroud)

因此,这表示32 A低于50且34 B超过50,而18 A超过50(错误分类)和16 B低于50(错误分类)

set.seed(12345)
test <- data.frame(pred=c(runif(50,0,60),runif(50,40,100)), group=c(rep("A",50), rep("B",50)) )
table(test$pred<50,test$group)
Run Code Online (Sandbox Code Playgroud)

         A  B
  FALSE  8 40
  TRUE  42 10
Run Code Online (Sandbox Code Playgroud)

在这个例子中,选择采样的原因,你的分类要好得多.

然后可以将'50'改为你想要的任何东西,20,30等.

table(test$pred<50,test$group)
Run Code Online (Sandbox Code Playgroud)