繁体   English   中英

R:插入符号训练输出的解释

[英]R: Interpretation of caret train output

我有一个非常基本的问题,关于使用train函数在caret进行交叉验证的超参数搜索。 运行时,它会产生如下所示的输出:

在此处输入图片说明

我的问题是为什么每个超参数配置有不止一行,输出中的+-表示什么?


一些可以产生上述输出的示例代码(取自此处的随机示例):

library(caret)
library(datasets)
data(mtcars)
split = createDataPartition(y = mtcars$mpg, p = 0.6, list = FALSE)
dev = mtcars[split,]
val = mtcars[-split,]
ctrl = trainControl(method = "cv",number = 10, verbose = TRUE)
lmCVFit = train(mpg ~ ., data = mtcars, method = "lm", trControl = ctrl, metric="Rsquared")
summary(lmCVFit)

我想在解释中具体说明这就是为什么我要求提供实际代码的原因,但它就在这里。

输出显示了在 10 折交叉验证的每一折中测试的参数。 更详细地:

你的第二行(我从第二行开始,因为测试以 + 开始,你会明白为什么)表明在折叠 3 中测试的参数是:

  • eta = 0.01, max_depth=4, gamma=1 and nround=1000

该算法实际上将保留这些存储,因为它试图找到参数的最佳组合。 在下一行(第 3 行)中,输出与第 2 行完全相同,唯一的区别是它以减号开头。 这只是为了通知您上述参数的处理现已结束。 您会注意到所有以减号开头的行始终与其上方的行(带有加号)相同。 第 4 行以加号开头并测试一组新参数(实际上这次唯一改变的是 max_depth=8)。 尽管如此,这个过程仍处于交叉验证的第 3 折,并且这将在其他折中发生相同的次数,以便算法可以选择最佳参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM