当测试数据集中缺少“预测”列(is_promoted)时,如何使用随机林对测试数据进行预测?
在这里,我给出了两个数据集:培训和测试;在测试数据集中,我必须预测员工是否会被提拔。
列车数据集有列,用于构建模型。和我使用Test$is_promoted=NA
在测试数据集中添加is_promoted列,以便在数据准备过程中i具有相同的维度。
但是,当我使用随机森林来预测最终值时,将那些"NA“显示为丢失的值错误。
set.seed(123)
rf_m3=randomForest(is_promoted~.,data = FinalTest,ntree=150, nodesize=50, mtry=5)
rf_test_pred=predict(rf_m3, FinalTest, type="class")
错误码:
Error in na.fail.default(list(is_promoted = c(NA_integer_, NA_integer_, :
missing values in object
现在我不能将"is_promoted“作为我的因变量移除。
因此,请建议一种方法来处理这个问题和修改所需的代码。
PS:新学习者。第一次尝试随机森林,所以如果可能的话,请尽可能多地解释。
发布于 2019-10-16 13:54:21
我认为你的因变量包含NAs,这就是为什么会出现错误。您可以通过summary(FinalTest)
检查它。如果is_promoted包含NA值(我认为这是存在的),则使用
rf_m3 = randomForest(is_promoted~., data = FinalTest, ntree=150, nodesize=50, mtry=5, na.action=na.omit)
https://stackoverflow.com/questions/58414372
复制相似问题