当“预测”列(is_promoted)为给定的测试数据集中缺失时,如何使用随机森林对测试数据进行预测?
在这里,我提供了两个数据集:培训和测试,在测试数据集中,我必须预测员工是否会晋升。
Train数据集具有用于构建模型的is_promoted
列。并且我已经使用Test$is_promoted=NA
在测试数据集中添加了is_promoted列,以便我在数据准备过程中具有相等的尺寸。
但是当我使用随机森林预测最终值时,它将那些“ 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:新学习者。第一次尝试随机森林,因此,请尽可能多地解释。
我认为您的因变量包含NA,这就是错误即将来临的原因。您可以通过summary(FinalTest)
进行检查。如果is_promoted包含NA值(我认为存在),请使用
rf_m3 = randomForest(is_promoted~., data = FinalTest, ntree=150, nodesize=50, mtry=5, na.action=na.omit)