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

如何将tidymodels拟合完成的模型应用到无标签新数据做预测

Tidymodels 调优后预测无标签新数据的核心操作

你没有遗漏rsample的相关功能,rsample的定位仅负责有标签数据集的拆分用于模型训练、调优、性能评估环节,和无标签新数据的预测流程无关。你遇到的问题核心是对last_fit()的功能边界认知不清,只需要多一步提取或生成最终拟合后的工作流对象即可实现需求。

具体操作逻辑

  • last_fit()是tidymodels提供的便利封装函数,作用仅为「用最优超参在全量训练集拟合+一次性在测试集输出性能指标」,本身的输出设计没有面向后续新数据预测的场景,你不需要基于它的返回值做后续操作。
  • 完成超参数调优后,你只需要将最优超参绑定到原始工作流,用全量有标签训练集完成拟合,得到的拟合后工作流对象即可长期复用,支持任意符合特征格式要求的无标签新数据预测。

最简可复用流程示例

# 前置条件:已完成超参调优,tune_res为调优结果对象,wflow为原始未拟合工作流,full_training_data为全量有标签训练集

# 选取最优超参组合
best_params <- select_best(tune_res, metric = "roc_auc")
# 绑定最优超参到工作流
final_wflow <- finalize_workflow(wflow, best_params)
# 用全量训练集拟合得到最终可复用模型对象
fitted_final_wflow <- fit(final_wflow, data = full_training_data)
# 预测无标签新数据,新数据仅需和训练集特征列格式完全一致,无需结果列
pred_result <- predict(fitted_final_wflow, new_data = churn_predict_users)
# 本地持久化模型,后续使用直接读取即可复用
saveRDS(fitted_final_wflow, "churn_predict_model.rds")

补充说明

如果你已经运行过last_fit()完成性能验证,可以直接从它的返回结果中提取已经拟合好的工作流对象,不需要重新拟合:

# 从last_fit结果中提取可复用的拟合后工作流
fitted_final_wflow <- extract_workflow(last_fit_result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:06:08