随机森林:处理R中因子水平的错误

时间:2015-07-29 13:25:26

标签: r random-forest prediction r-factor

我在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”)出错:     培训数据中没有新的因子水平

如何处理这个错误,因为实际上,在训练模型之后,我们将始终不得不处理结果未知的数据,这只是一条记录。

如果需要更清晰或代码,请告诉我

1 个答案:

答案 0 :(得分:2)

尝试

newdata$feature_x1 <- factor(newdata$feature_x1, levels=levels(feature_x1))