如何使用mlr3对标记为holdout的数据集执行预测?
在mlr3中使用holdout集进行预测
要使用已标记为holdout的数据集进行预测,有两种简洁的实现方式:
方法一:创建仅包含holdout行的任务副本
通过克隆原任务并调整行角色,只保留holdout数据作为待预测对象:
# 创建任务副本并调整行角色 holdout_task <- task$clone() # 排除原训练用的行 holdout_task$set_row_roles(task$row_roles$use, "exclude") # 将holdout行设为待预测的有效行 holdout_task$set_row_roles(task$row_roles$holdout, "use") # 执行预测 pred <- learner$predict(holdout_task)
方法二:直接指定预测行索引
在predict()函数中通过rows参数直接传入holdout行的索引:
# 直接基于原任务预测holdout行 pred <- learner$predict(task, rows = task$row_roles$holdout)
查看预测结果
得到预测对象后,可以查看混淆矩阵或计算评估指标:
# 查看混淆矩阵 pred$confusion # 计算分类准确率 pred$score(msr("classif.acc"))
内容的提问来源于stack exchange,提问作者Mislav Sagovac
相关产品推荐
相关产品推荐

