我正在尝试从多级因子变量(评级)中获取混淆矩阵
我的数据如下所示:
> head(credit)
Income Rating Cards Age Education Gender Student Married Ethnicity Balance
1 14.891 bad 2 34 11 Male No Yes Caucasian 333
2 106.025 excellent 3 82 15 Female Yes Yes Asian 903
3 104.593 excellent 4 71 11 Male No No Asian 580
4 148.924 excellent 3 36 11 Female No No Asian 964
5 55.882 good 2 68 16 Male No Yes Caucasian 331
6 80.180 excellent 4 77 10 Male No No Caucasian 1151
我用 rpart() 函数构建了一个分类树,然后预测了概率。
credit_model <- rpart(Rating ~ ., data=credit_train, method="class")
credit_pred <- predict(credit_model, credit_test)
然后我想使用 gmodels 包中的 CrossTable() 评估预测。
library(gmodels)
CrossTable(credit_test, credit_pred, prop.chisq=FALSE, prop.c=FALSE, prop.r=FALSE, dnn=c("actual Rating", "predicted Rating"))
但我得到这个错误:
CrossTable 中的错误(credit_test,credit_pred,prop.chisq = FALSE,prop.c = FALSE,:x 和 y 必须具有相同的长度
我不知道为什么我会在 4 级课程中收到此错误。当我有一个二进制类时,它工作正常。