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

基于RMSE与AutoFSelector的RFE特征选择迭代处理技术咨询

问题描述

我想要模拟caret的RFE流程并选择能产生最低RMSE的特征,目前使用AutoFSelector与嵌套重采样,运行代码如下:

ARMSS<-read.csv("Index ARMSS Proteomics Final.csv", row.names=1)

set.seed(123, "L'Ecuyer")

task = as_task_regr(ARMSS, target = "Index.ARMSS")

learner = lrn("regr.ranger", importance = "impurity")

set_threads(learner, n = 8)

resampling_inner = rsmp("cv", folds = 7)
measure = msr("regr.rmse")
terminator = trm("none")

at = AutoFSelector$new(
  learner = learner,
  resampling = resampling_inner,
  measure = measure,
  terminator = terminator,
  fselect = fs("rfe", n_features = 1, feature_fraction = 0.5, recursive = FALSE),
  store_models = TRUE)

resampling_outer = rsmp("repeated_cv", folds = 10, repeats = 10)

rr = resample(task, at, resampling_outer, store_models = TRUE)

现咨询两个问题:

  1. 是否应使用extract_inner_fselect_archives()命令识别各迭代中RMSE最小的特征集,修改n_features参数后重新运行代码?
  2. 如何调和不同迭代间特征数量及所选特征的差异?
解答

关于是否调整n_features并重新运行

  • 完全可以用extract_inner_fselect_archives()提取所有内部交叉验证的特征选择存档,这能直观看到每个内部迭代中不同特征数量对应的RMSE表现。
  • 不需要急于修改n_features后重新跑完整的嵌套重采样流程。你可以先从存档里统计所有内部迭代中RMSE最低的特征数量的分布:比如统计有多少比例的迭代在k个特征时取得最优RMSE,取这个最常见的k值作为后续固定n_features的参考;或者直接基于现有存档结果,对每个外部折,用对应内部迭代选出的最优特征集来完成评估,无需重新运行。
  • 如果你的目标是探索全局最优特征数量,建议把RFE的n_features设为一个范围(比如从1到总特征数的50%),同时配合合适的终止器(比如trm("evals", n_evals = 20)),让AutoFSelector自动探索不同特征数量的性能,而不是固定死n_features=1。

调和不同迭代间的特征差异

  • 统计特征出现频率:汇总所有内部迭代的最优特征集,统计每个特征被选中的次数,优先保留高频入选的特征。比如可以计算每个特征的入选率,设定一个阈值(如入选率>70%)来筛选稳定的核心特征。
  • 生成聚合特征集:如果不同迭代的特征差异较大,可以先取所有迭代选出特征的并集,再做一次二次特征筛选(比如基于模型重要性的递归消除或阈值筛选),得到一个兼顾稳定性和预测性能的特征集。
  • 调整RFE核心参数:你当前设置recursive=FALSE,这并非标准的递归特征消除逻辑(标准RFE是每次移除一定比例特征后重新训练,递归迭代)。将recursive改为TRUE,让RFE逐步递归筛选,能得到更稳定的特征排序,减少迭代间的差异;另外调小feature_fraction(比如设为0.2),每次移除更少的特征,也能让筛选过程更稳健。
  • 评估并提升稳定性:可以计算不同迭代特征集的Jaccard相似系数,评估特征选择的稳定性。如果相似度过低,说明数据噪声较大或模型稳定性不足,建议先做数据预处理(如标准化、去除低方差特征),或换用更稳定的特征选择方法(如基于模型重要性的逐步筛选)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:50:19