首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含训练集和测试集对象的r列表

包含训练集和测试集对象的r列表
EN

Stack Overflow用户
提问于 2020-08-21 13:15:23
回答 2查看 132关注 0票数 2

我正在尝试创建10倍的数据。我想要的是一个长度为10 (折叠数)的数据结构,数据结构的每个元素都包含一个对象/数据结构,它有两个属性/元素;训练集和该折叠处的测试集。这是我的R码。例如,我想访问View(data_pairs[[8]]$training_set)在折叠8上设置的培训集。但这不起作用。如能提供任何帮助,将不胜感激:)

代码语言:javascript
运行
复制
k <- 10    # number of folds

i <- 1:k  


folds <- sample(i, nrow(data), replace = TRUE)

data_pairs <- list()

for (j in i) {
  
  test_ind <- which(folds==j,arr.ind=TRUE)
  
  test <- data[test_ind,]
  train <- data[-test_ind,]
  
  data_pair <- list(training_set = list(train), test_set = list(test))
  
  data_pairs <- append(x = data_pairs, values = data_pair)
  
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-21 13:49:33

您非常接近,只需将values封装在list调用中即可。

代码语言:javascript
运行
复制
k <- 10    # number of folds

i <- 1:k  
folds <- sample(i, nrow(mtcars), replace = TRUE)

data_pairs <- list()

for (j in i) {
  
  test_ind <- which(folds==j,arr.ind=TRUE)
  
  test <- mtcars[test_ind,]
  train <- mtcars[-test_ind,]
  data_pair <- list(training_set = train, test_set = test)
  data_pairs <- append(x = data_pairs, values = list(data_pair))
  #data_pairs <- c(data_pairs, list(data_pair))
}

如果你的数据很大,我建议你以更有效的方式阅读这两篇文章。

  1. Append an object to a list in R in amortized constant time, O(1)?
  2. Here we go again: append an element to a list in R

我还想指出的是,你并不是在创建你的数据的“折叠”。在您的情况下,您正在尝试一个10倍的交叉验证,这意味着您的数据应该被分割成10个“相等”大小的块。然后创建10个训练/测试数据集,使用每个折叠作为测试数据,其余用于培训。

票数 2
EN

Stack Overflow用户

发布于 2020-08-21 13:49:25

似乎modelr包可以在这里帮助您。我特别要指出的是:

https://modelr.tidyverse.org/reference/resample_partition.html

库(Modelr) ex <- resample_partition(mtcar,c(test = 0.3,mod =0.7)mod <- lm(mpg ~ wt,data =ex$resample_partition) rmse(mod,ex$test) #> 1 3.229756 rmse(mod,ex$ train ) #> 1 2.88216

或者,生成这些分区的数据集可以使用:crossv_mc(data, n, test = 0.2, id = ".id")完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63523623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档