【发布时间】:2020-02-13 07:08:25
【问题描述】:
当“预测”列 (is_promoted) 在给定的 TEST 数据集中缺少时,如何使用随机森林对测试数据进行预测?
这里我给出了两个数据集:Train 和 Test,在 Test 数据集中我要预测员工是否会被提升。
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:新手。第一次尝试随机森林,所以如果可能请尽可能解释。
【问题讨论】:
-
随机森林是一种监督机器学习方法,它围绕一系列预测变量和已知响应构建模型。如果你真的不知道受试者是否获得晋升的信息,那么你就不能真正使用随机森林。
-
测试集的关键在于你没有想要预测的变量。所以
is_promoted丢失是完全正常的。使用predict时不应该创建这样的列。
标签: r random-forest