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

R:如何制作预测模型的混淆矩阵?,r,prediction,R,Prediction,我有一个数据帧。第一列包含我的预测分数(范围从0到100,较小的值预计为A类,较大的值预计为B类)。对于我的模型,第二列包含条目的实际分类(“A类”或“B类”) 对于不同的截止值,如何使用R获得混淆矩阵,因为我还不能决定将

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

对于不同的截止值,如何使用R获得混淆矩阵,因为我还不能决定将<20或<50的值定义为A类


如何使用R有效地进行比较

有很多方法可以做到这一点,一个可复制的例子与您的数据是可取的:

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)
这说明32个A在50岁以下,34个B在50岁以上,18个A在50岁以上(分类错误),16个B在50岁以下(分类错误)

在本例中,由于选择了采样,您的分类要好得多

这里面的“50”可以改成你想要的任何东西,20,30等等

table(test$pred<50,test$group)

table(test$pred如果预测值不低于50,则此选项不起作用,因为该表只生成一个真实的行,而不是一个4*4矩阵。我将答案编辑为generalise.*(我在上面的注释中指的是2*2矩阵)。
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)
         A  B
  FALSE  8 40
  TRUE  42 10
table(test$pred<50,test$group)