变量和随机森林的水平

时间:2014-07-28 17:22:26

标签: r random-forest

考虑数据集训练

    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 没有三个级别。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您必须为其分配与火车相同的等级

 test$a <- factor(test$a, levels=levels(train$a))