当给定的数据集中缺少“预测”列时,如何使用随机森林对测试数据进行预测?

问题描述 投票:0回答:1

当“预测”列(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:新学习者。第一次尝试随机森林,因此,请尽可能多地解释。

r random-forest
1个回答
0
投票

我认为您的因变量包含NA,这就是错误即将来临的原因。您可以通过summary(FinalTest)进行检查。如果is_promoted包含NA值(我认为存在),请使用

rf_m3 = randomForest(is_promoted~., data = FinalTest, ntree=150, nodesize=50, mtry=5, na.action=na.omit)

© www.soinside.com 2019 - 2024. All rights reserved.