我在调试使用随机森林包的代码,几乎没有之前的R语言经验。
我已经到了执行predict.randomForest
时,遇到了以下错误:
训练数据中不存在的新因子水平。
在本网站上搜索后,我找到了原因,并了解到我需要删除那些引起问题的记录。
我如何隔离(找出)哪些列/行在引起问题?
回答:
假设你有train.data,你用它来构建模型,test.data,你现在想要为其获取预测,以及你的因子变量factor.var1,那么你可以这样做:
levels(test.data$factor.var1) %in% levels(train.data$factor.var1)
这将产生一个逻辑向量,对应于test.data中的因子水平,其中“FALSE”条目是train.data中不存在的因子水平。