0

我正在尝试从多级因子变量(评级)中获取混淆矩阵

我的数据如下所示:

> 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 级课程中收到此错误。当我有一个二进制类时,它工作正常。

4

0 回答 0