R - 随机森林 - 删除训练数据中不存在的新因子水平

时间:2015-08-13 13:22:28

标签: r machine-learning random-forest categorical-data r-factor

我正在使用随机森林包调试代码,几乎没有以前的R经验。

我已经达到了predict.randomForest,我得到了错误:

  

培训数据中没有新的因子水平。

搜索此网站我发现原因,并了解我需要删除导致问题的记录。

如何隔离(找出)导致问题的列/行?

2 个答案:

答案 0 :(得分:4)

假设你有train.data,你用来构建模型,test.data,你现在想要得到预测,你的因子变量factor.var1,那么你可以这样做:

levels(test.data$factor.var1) %in% levels(train.data$factor.var1)

这将生成一个对应于test.data中因子级别的逻辑向量,其中" FALSE"条目是您的train.data中没有的因子水平。

答案 1 :(得分:0)

simple.solutions对此将是rbind测试数据与训练数据和预测,然后子集你想要预测的行。这对我有用