在 R 中,当尝试使用插入符构建 rpart CTree 时:
tree <- caret::train(LoanStatus ~ ., data = home_training, method = "rpart")
一切都很好,直到我尝试预测:
predictions <- predict(tree$finalModel, newdata = home_validation, type = "class")
这给了我错误:
Error in eval(predvars, data, env): object 'Gender1' not found
然后,我注意到 R 重复了我的一些预测变量(它们是因子):
varImp(tree)
输出:
ApplicantIncome 2.218022
CoapplicantIncome 4.564288
Education1 6.214741
LoanAmount 7.183707
LoanAmountTerm 1.554240
Married1 6.895146
PropertyArea1 5.806154
Gender1 0.000000
Dependents1 0.000000
Dependents2 0.000000
Dependents3 0.000000
SelfEmployed1 0.000000
PropertyArea2 0.000000
其中包含很多重复项。
如果我直接使用
rpart
进行同样的操作:tree2 <- rpart(LoanStatus ~ ., home_training, method = "class")
不会给我任何错误,也没有重复的变量。
我想使用插入符号来完成此操作,因为它允许使用交叉验证。
我该如何解决这个问题?谢谢你。
编辑:我必须输入 rpart.predict 而不是预测