You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mlr3加载保存的ranger模型预测新数据报错问题及解决办法

mlr3模型加载后调用predict_newdata报错的解决方法

我完成了模型训练与预测,选取在测试集上获得最高BACC的classif.ranger.tuned模型并保存,代码如下:

best_ranger<-bmr_ranger$score(msr("classif.bacc"))[learner_id == 'classif.ranger.tuned', ][classif.bacc == max(classif.bacc)]$learner[[1]]
saveRDS(best_ranger, 'learner_ranger.rds')
model <- readRDS('learner_ranger.rds')

随后使用与训练预处理流程完全一致的新数据调用model$predict_newdata(data_total)时,出现如下报错:

Error: No task stored, and no task provided
4.
stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
3.
stopf("No task stored, and no task provided")
2.
.__Learner__predict_newdata(self = self, private = private, super = super,
newdata = newdata, task = task)
1.
model$predict_newdata(data_total)

针对mlr3手册第31页提到的「无需将数据转为task」的说明,我产生了疑惑,之后找到了解决方案:需要通过model$model$learner$predict_newdata(newdata = data_total)来调用预测方法。

内容的提问来源于stack exchange,提问作者NDe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:22:54