[英]R: how does caret choose default tuning range?
當使用R
caret
到多個車型上相同的數據集進行比較, caret
是足夠聰明的選擇,如果同一型號不同不同的調諧范圍tuneLength
所有型號是指定的,沒有具體的模型tuneGrid
指定。
例如, caret
為一個特定數據集選擇的調整范圍是:
earth(nprune)
: earth(nprune)
gamSpline(df)
: gamSpline(df)
rpart(cp)
:0.010,0.054,0.116,0.123,0.358
有人知道caret
如何確定這些默認調整范圍嗎? 我一直在搜索文檔,但仍沒有確定選擇范圍的算法。
這取決於型號。 對於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)
}
馬克斯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.