首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:插入符号如何选择默认的调优范围?

R:插入符号如何选择默认的调优范围?
EN

Stack Overflow用户
提问于 2015-04-26 20:29:57
回答 1查看 2K关注 0票数 4

当使用R caret对同一数据集中的多个模型进行比较时,如果为所有模型指定了相同的tuneLength,而没有指定特定于模型的tuneGrid,则caret足够聪明地为不同的模型选择不同的调优范围。

例如,caret为一个特定数据集选择的调优范围是:

earth(nprune):2,5,8,11,14

gamSpline(df):1,1.5,2,2.5,3

rpart(cp):0.010,0.054,0.116,0.123,0.358

有人知道caret是如何确定这些默认调优范围的吗?我一直在搜索文档,但仍然没有确定选择范围的算法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-29 19:57:19

这取决于模型。对于rpart和其他几个,它适合和初始模型,以获得一个合理的值应该是什么。在其他情况下,它就不那么聪明了。例如,对于gamSpline,它是expand.grid(df = seq(1, 3, length = len))

您可以使用getModelInfo查看每个模型的功能。

代码语言:javascript
运行
复制
 > getModelInfo("earth")[[1]]$grid
 function(x, y, len = NULL) {
       dat <- if(is.data.frame(x)) x else as.data.frame(x)
       dat$.outcome <- y

       mod <- earth( .outcome~., data = dat, pmethod = "none")
       maxTerms <- nrow(mod$dirs)
       maxTerms <- min(200, floor(maxTerms * .75) + 2)
       data.frame(nprune = unique(floor(seq(2, to = maxTerms, length = len))),
                  degree = 1)
  }

最大值

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

https://stackoverflow.com/questions/29913901

复制
相关文章

相似问题

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