【发布时间】:2015-10-20 12:17:15
【问题描述】:
我在R 中使用rf 模型来预测二进制结果0 或1。我的输入数据中有分类变量(编码为数字),这些变量在训练时被编码为因子。我使用R 中的factor() 函数将变量转换为因子。所以对于每一个分类变量x,我的代码都是这样的。
feature_x1=factor(feature_x1) # Convert the variable into factor in training data.
#This variable takes 3 levels 0,1,2
这在训练模型时效果很好。让我们假设我的模型对象是rf_model。在仅是数字向量的新数据上运行模型时。我首先将数字转换为 feature_x1 的因子
newdata=data.frame(1,2)
colnames(newdata)=c("feature_x1","feature_x2")
newdata$feature_x1=factor(newdata$feature_x1)
score=pred(rf_model,newdata,type="prob")
我收到以下错误
predict.randomForest(rf_model, newdata,type = "prob") 中的错误: 训练数据中不存在新的因子水平
如何处理这个错误,因为实际上,在训练模型之后,我们总是需要处理结果未知的数据,这只是一条记录。
如果需要更清晰的代码或代码,请告诉我
【问题讨论】:
标签: r random-forest prediction r-factor