Loops 重复K-折叠交叉验证的循环

Loops 重复K-折叠交叉验证的循环,loops,cross-validation,Loops,Cross Validation,我正在尝试编写一个循环,用于重复的k折叠交叉验证。基本上,尝试执行10倍交叉验证,并重复该过程10次,以获得预测结果和10个AUC值 我似乎在循环中遗漏了一些东西,它允许将计算出的预测移动到为k倍结果创建的空数据帧的相应列中。我只得到最后的k倍分数,而不是全部10倍。我仍然需要得到每次k倍验证的auc值 是否有办法将auc计算合并到循环中以获得值?如果有人能指导我,我将不胜感激 库(cvTools) 图书馆(glmnet) #图书馆(pROC) k插入符号包提供了开箱即用的重复交叉验证。下面是

我正在尝试编写一个循环,用于重复的k折叠交叉验证。基本上,尝试执行10倍交叉验证,并重复该过程10次,以获得预测结果和10个AUC值

我似乎在循环中遗漏了一些东西,它允许将计算出的预测移动到为k倍结果创建的空数据帧的相应列中。我只得到最后的k倍分数,而不是全部10倍。我仍然需要得到每次k倍验证的auc值

是否有办法将auc计算合并到循环中以获得值?如果有人能指导我,我将不胜感激


库(cvTools)
图书馆(glmnet)
#图书馆(pROC)

k插入符号包提供了开箱即用的重复交叉验证。下面是一个简单的工作示例:

library(caret)
model <- train(x = iris[51:150,1:2], 
               y = factor(iris[51:150,5]), 
               method = 'glmnet', 
               metric='ROC', 
               trControl = trainControl(method = 'repeatedcv', # repeated cross validation
                                        number = 10, # nr of partitions
                                        repeats = 10, # nr of repeats
                                        classProbs = T, 
                                        summaryFunction = twoClassSummary))

顺便说一句:如果您还想绘制所有分区和重复的ROC曲线,请参阅

这已经很晚了,但下面是对代码的更正。 将行中的
i
替换为
j


谢谢你的回复。然而,在使用caret软件包之前,我尝试将其作为第一步进行自我编码,这将是下一步。我一定会以你为榜样。
library(caret)
model <- train(x = iris[51:150,1:2], 
               y = factor(iris[51:150,5]), 
               method = 'glmnet', 
               metric='ROC', 
               trControl = trainControl(method = 'repeatedcv', # repeated cross validation
                                        number = 10, # nr of partitions
                                        repeats = 10, # nr of repeats
                                        classProbs = T, 
                                        summaryFunction = twoClassSummary))
> model$resample
     ROC Sens Spec     Resample
1   0.90  0.8  0.8 Fold05.Rep10
2   0.98  1.0  0.8 Fold04.Rep10
3   0.80  1.0  0.2 Fold01.Rep09
4   0.64  0.4  0.8 Fold08.Rep07
5   0.86  0.8  0.8 Fold05.Rep06
[...]