在尝试预测Shiny中的单个新实例时,我收到上述错误消息,因此具有不同级别数的测试数据不会出现问题。
RF<-randomForest(incurred_loss2~turnover+Limite.PI+NUTS1,data=sec,importance=TRUE,ntree=2000)
modelPred<-reactive({
turnoverInput<-as.numeric(input$sliderTurnover)
LOIInput<-as.numeric(input$sliderLOI)
LegalInput<-as.factor(input$selectLegal)
NUTS1Input<-as.factor(input$selectNUTS1)
predict(RF,newdata=data.frame(legal_form=LegalInput,turnover=turnoverInput,Limite.PI=LOIInput,NUTS1=NUTS1Input))
})
当我从模型中删除两个因子变量时,我只剩下两个数值变量,我没有得到错误信息。
答案 0 :(得分:0)
错误意味着用于训练&#34; RF&#34;模型与测试数据结构不同,并且丢弃因子变量使得代码工作确认您遇到的问题不同。
查看您的代码可能是因为您的培训和测试集不是来自相同/唯一的data.frame的子集,也可以进行多次手动转换(包括因子的手动转换)。
根据您的需要,我会看到两件事要尝试:
如果您的某个数据集中有一个NA而另一个数据集没有NA,那么手动转换可能导致在随机林中使用因子的问题示例如下:
r random forest error - type of predictors in new data do not match