我使用mlr包训练了一个XGBoost模型。我需要对没有目标变量的测试集进行预测。我应该预测目标变量。如果我这样做:
testF.pred <- predict(xgmodel,X_test)
错误是:
Error in predict.WrappedModel(xgmodel, X_test) :
Assertion on 'task' failed: Must inherit from class 'Task', but has class 'data.frame'.
我应该定义一个任务来预测目标变量。但是,如果我想创建一个任务,
mytest_task <- makeClassifTask(data = X_test)
testF.pred <- predict(xgmodel,mytest_task)
错误是:
Error in assertString(target) :
argument "target" is missing, with no default
我应该如何在没有目标变量的数据集上做预测任务?
您可以使用newdata
参数,即
predict(xgmodel, newdata = X_test)
查看帮助页获取更多信息。
另外,我建议切换到mlr3, mlr的后继版本。