R中的K倍,每次迭代后如何存储?

R中的K倍,每次迭代后如何存储?,r,iteration,R,Iteration,如果我想在R中的每次迭代后保存testData和trainData,我怎么能这样做呢 #Create 10 equally size folds folds <- cut(seq(1,nrow(cre_card)),breaks=10,labels=FALSE) #Perform 10 fold cross validation for(i in 1:10){ #Segement your data by fold using the which() function

如果我想在R中的每次迭代后保存testData和trainData,我怎么能这样做呢

#Create 10 equally size folds
folds <- cut(seq(1,nrow(cre_card)),breaks=10,labels=FALSE)

#Perform 10 fold cross validation
for(i in 1:10){
    #Segement your data by fold using the which() function 
    testIndexes <- which(folds==i,arr.ind=TRUE)
    testData <- cre_card[testIndexes, ]
    trainData <- cre_card[-testIndexes, ]
    #Use the test and train data partitions however you desire...

}
#创建10个大小相同的折叠

折叠我建议您使用列表来存储所有集合

您可以使用以下代码

folds <- cut(seq(1,nrow(cre_card)),breaks=10,labels=FALSE)
test_sets <- list()
train_sets <- list()
#Perform 10 fold cross validation
for(i in 1:10){
  #Segement your data by fold using the which() function 
  testIndexes <- which(folds==i,arr.ind=TRUE)
  testData <- cre_card[testIndexes, ]
  trainData <- cre_card[-testIndexes, ]
  #Use the test and train data partitions however you desire...
  test_sets <- c(test_sets,list(testData))
  train_sets <- c(train_sets,list(trainData))
}

折叠我建议您使用列表来存储所有集合

您可以使用以下代码

folds <- cut(seq(1,nrow(cre_card)),breaks=10,labels=FALSE)
test_sets <- list()
train_sets <- list()
#Perform 10 fold cross validation
for(i in 1:10){
  #Segement your data by fold using the which() function 
  testIndexes <- which(folds==i,arr.ind=TRUE)
  testData <- cre_card[testIndexes, ]
  trainData <- cre_card[-testIndexes, ]
  #Use the test and train data partitions however you desire...
  test_sets <- c(test_sets,list(testData))
  train_sets <- c(train_sets,list(trainData))
}

折叠使用modelr软件包,您可以执行以下操作:

require(modelr)
dat <- cars
kcv <- crossv_kfold(dat, k = 10)
要训练模型,您可以执行以下操作:

models <- lapply(kcv$train, function(x) lm(dist ~ speed, data = x))

注意:此示例基于modelr::crossv\u kfold

使用modelr软件包,您可以执行以下操作:

require(modelr)
dat <- cars
kcv <- crossv_kfold(dat, k = 10)
要训练模型,您可以执行以下操作:

models <- lapply(kcv$train, function(x) lm(dist ~ speed, data = x))
备注:本示例基于
?modelr::crossv\u kfold