目标
我想根据此处显示的示意图实现 LASSO 模型并检查其在训练集上的可行性。(示意图说明:所有数据都分为测试集和训练集。训练集通过 5 倍交叉验证 (CV) 分成重采样。其中对每个重采样执行 10 倍 CV 以找到最佳 lambda。)套装尚不可用。
我想 LASSO 模型并使用嵌套 CV 和内部 CV 检查其性能,以通过网格搜索和外部 CV 获得最佳 lambda(分析和评估)来比较重采样 1、2、3 等。
带有“repeatedcv”的插入符号
来自 Caret 的带有“repeatedcv”的列车控制允许指定数量和重复。
lambdas = 10^seq(-3, -1, length = 20)
trControl = trainControl(
'repeatedcv',
number = 10,
repeats = 5,
search = 'grid'
)
tuneGrid = expand.grid(alpha = 1, lambda = lambdas)
lasso = train(
PD ~ ., data = selection,
method = 'glmnet',
trControl = trControl,
tuneGrid = tuneGrid
)
lasso$results
使用上面的代码,插入符号结果是一个有 20 行的数据框。大概是定义网格上每个点的一行。但是,我希望插入符号使用 10 倍(数字 = 10)CV 为每个网格搜索找到一个最佳 lambda,然后比较最佳 lambda,因为粗体过程已执行多次(重复 = 5)。