插入符号如何选择默认调音范围?

问题描述 投票:0回答:1

当使用

R
caret
比较同一数据集上的多个模型时,如果为所有模型指定了相同的
caret
并且没有特定于模型,
tuneLength
足够智能,可以为不同模型选择不同的调整范围
 tuneGrid
已指定。

例如,

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
如何确定这些默认调音范围?我一直在搜索文档,但仍然没有确定选择范围的算法。

r r-caret
1个回答
7
投票

这取决于型号。对于

rpart
和其他一些,它适合初始模型,以了解合理的值应该是什么。在其他情况下,它的智能程度较低。例如,对于
gamSpline
,它是
expand.grid(df = seq(1, 3, length = len))

您可以使用

getModelInfo
查看每个模型的功能:

 > 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)
  }

最大

© www.soinside.com 2019 - 2024. All rights reserved.