首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MLR中嵌套的cv中,内部调优学习者将返回什么?

在MLR中嵌套的cv中,内部调优学习者将返回什么?
EN

Stack Overflow用户
提问于 2020-01-13 20:46:39
回答 1查看 169关注 0票数 0

MLR中,有一种实现嵌套交叉验证的方法。在嵌套cv中,采用内环来选择最优的调谐参数,用外环来评价模型的性能。当我将嵌套的cv与特性选择过程结合在一起时,我对MLR将返回的内部优化模型的内容有些困惑。例如,我想首先应用基于outcome<0.05的关联p值的过滤器。在嵌套的cv中(我在培训 validation 测试集合中这么说),应该是:在内部循环中,对每个训练集应用过滤器,然后调优我们感兴趣的参数,并在验证集中进行测试。在内循环中,我们可以得到最佳的调优参数和与其相关的特征集。

我想知道的是,内部最优的调优参数将返回给外部循环训练,我假设有两种可能的模型:

  1. --内部最佳调优模型--只返回最佳调优参数,而不是所选特性子集。因此,在外部循环中,我们将首先应用相同的过滤器,然后使用最优的parameter.
  2. The内部最佳调优模型来训练training+validation集,返回最佳的调优参数和所选的特性子集。因此,在外部循环中,我们将使用最优的调优参数和所选的特性子集(来自内环)来训练training+validation集。

在我看来,我认为第一个更符合逻辑。我的代码的一部分如下:

代码语言:javascript
运行
复制
svm_learner<-makeLearner("classif.svm",predict.type="prob",fix.factors.prediction = TRUE)
svm_filter<-makeFilterWrapper(learner = svm_learner,
                          fw.method = "t.test.filter", fw.threshold = -0.05)
svm_filter_nested<-makeTuneWrapper(svm_filter,par.set=ps,
                        control=ctrl,resampling=inner)
r=resample(svm_filter_nested,task,resampling=outer,models=TRUE)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 22:00:02

备选案文2)是正确的。

针对所选特征子集对Hyperpars进行了优化。如果您在外部循环中再次运行筛选过程,那么这样做是没有意义的。

在每个外褶皱中都没有超过训练/预测的情况,参数来自于内部优化回路。在外部循环中没有进行优化。

PS:您可能希望在https://stats.stackexchange.com/上提出这样的一般性问题,而不是关于堆栈溢出,因为它们与一般(统计)概念有关,而不是编程。人们将投票结束这类问题,因为它们与编程没有关系。(注意,mlr-团队中没有人在关注stats.stackexchange的问题)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59723915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档