考虑数据集训练:
z a
1 1
0 2
0 1
1 3
0 1
1 2
1 1
0 3
0 1
1 3
二元结果变量 z 和分类预测器 a 有三个级别:1,2,3。
现在考虑一个数据集测试:
z a
1
1
2
1
2
2
1
当我运行以下代码时:
library(randomForest)
set.seed(825)
RFfit1 <- randomForest(z~a, data=train, importance=TRUE, ntree=2000)
RFprediction1 <- predict(RFfit1, test)
我收到以下错误消息:
Error in predict.randomForest(RFfit1, test1) :
Type of predictors in new data do not match that of the training data.
我假设这是因为测试数据集中的变量 a 没有三个级别。我该如何解决这个问题?
答案 0 :(得分:0)
您必须为其分配与火车相同的等级
test$a <- factor(test$a, levels=levels(train$a))