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

如何从parsnip拟合对象中提取预测变量?

从tidymodels拟合对象中提取预测变量列表

方法1:从配方预处理结果中提取

如果你的rf_xy_fit是基于配方(recipe)构建的,可直接从拟合对象的预处理模块中提取保留的预测变量:

# 提取预处理后的配方对象
prepped_rec <- rf_xy_fit$preproc

# 筛选并提取最终保留的预测变量名
preds_from_fit <- prepped_rec$var_info %>%
  dplyr::filter(role == "predictor" & retained) %>%
  dplyr::pull(variable)

方法2:从模型变量重要性中提取

若你的随机森林模型计算了变量重要性,也可直接从重要性结果中获取变量名(适用于所有保留的预测变量都在重要性列表中的场景):

# 从拟合模型中提取变量重要性的名称
preds_from_fit <- names(rf_xy_fit$fit$variable.importance)

验证与使用

提取后可先验证变量数量是否符合预期:

length(preds_from_fit) # 应返回33

后续预测时,直接用提取的变量列表处理新数据即可:

# 筛选新数据中的目标预测变量
new_data_filtered <- new_data %>%
  dplyr::select(all_of(preds_from_fit))

# 执行预测
predict(rf_xy_fit, new_data_filtered)

这样无需单独保存preds列表,直接从rf_xy_fit中提取即可,避免了分开存储的繁琐与出错风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:40:21