我正在尝试使用randomForest中的predict()函数预测四个数据缺陷物种的类别。我已经对原始数据运行了 RF 并创建了一个 RF 对象,然后我想使用它来预测新数据的类别。
我使用的代码是:
# original data set "procellminvar"
# DD sp only "procelldd"
#run RF on original data set
procellminvar$current.red.list<-factor(procellminvar$current.red.list)
procell6<-procellminvar[,6:80]
procell6.imputed<-rfImpute(current.red.list~.,procell6)
procellminvar.rf<-randomForest(current.red.list~., procell6.imputed, votes=true, importance=TRUE, ntree=1000)
round(importance(procellminvar.rf),2)
#run prediction using original data and new data (DD sp only)
predict(procellminvar.rf, procelldd)
RF 运行良好,但当我尝试运行预测时,我收到一条错误消息:
predict(procellminvar.rf, procelldd)
# Error in eval(expr, envir, enclos) : object 'subpop' not found
我不明白为什么。谁能用简单的术语向我解释我在这里做错了什么?
我认为
问题是您正在对完整数据集运行预测,但您没有在训练中使用完整的数据集。您也没有使用原始变量。因此,您需要确保在训练中使用的每个变量也存在于测试数据中。