【问题标题】:RFE Termination Using RMSE with AutoFSelector使用带 AutoFSelector 的 RMSE 进行 RFE 终止
【发布时间】:2023-02-07 02:54:43
【问题描述】:

为了模仿 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)

我是否应该使用 extract_inner_fselect_archives() 命令来识别具有最小 RMSE 和所选特征的每次迭代,然后重新运行上面的代码并更改 n_features 参数?如何协调迭代中特征数量和/或所选特征的差异?

【问题讨论】:

    标签: mlr3


    【解决方案1】:

    嵌套重采样是一种统计过程,用于估计在完整数据集上训练的模型的预测性能,它不是选择最佳超参数的过程。嵌套重采样会产生许多不应用于构建最终模型的超参数配置。

    mlr3book Chapter 4 - Optimization

    特征选择也是如此。您不选择具有嵌套重采样的功能集。您估计最终模型的性能。

    建议使用存档

    如果没有嵌套重采样,您只需调用 instance$resultat$fselect_result 即可获得具有最低 rmse 的特征子集。

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      相关资源
      最近更新 更多