我在node.default['hosts'] = ['a_node_name', 'b_node_name']
中使用rf
模型来预测二进制结果0或1.我的输入数据中有分类变量(编码为数字),在训练时编码为因子。我在R
中使用factor()
函数将变量转换为因子。因此,对于每个分类变量R
,我的代码都是这样的。
x
在训练模型时,这完全正常。我们假设我的模型对象是feature_x1=factor(feature_x1) # Convert the variable into factor in training data.
#This variable takes 3 levels 0,1,2
。在新数据上运行模型时,这只是一个数字向量。我首先将数字转换为feature_x1
rf_model
我收到以下错误
predict.randomForest(rf_model,newdata,type =“prob”)出错: 培训数据中没有新的因子水平
如何处理这个错误,因为实际上,在训练模型之后,我们将始终不得不处理结果未知的数据,这只是一条记录。
如果需要更清晰或代码,请告诉我
答案 0 :(得分:2)
尝试
newdata$feature_x1 <- factor(newdata$feature_x1, levels=levels(feature_x1))