【问题标题】:How to repeat train and test 10 times in R如何在 R 中重复训练和测试 10 次
【发布时间】:2019-12-12 10:39:39
【问题描述】:

我正在使用 Keras,我想制作 10 个不同的训练和测试样本,以对这些样本重复拟合函数。

for (i in 1:10) {
## 75% of the sample size
smp_size <- floor(0.8 * nrow(cifarSmall$x))

## set the seed to make your partition reproducible
set.seed(123)
train_ind <- sample(seq_len(nrow(cifarSmall$x)), size = smp_size)


train_x <- cifarSmall$x[train_ind,,,]

train_y <- cifarSmall$y[train_ind]

test_x <- cifarSmall$x[-train_ind,,,]
test_y <- cifarSmall$y[-train_ind]

conjuntos_train_x[i] <- c(train_x)

}  

【问题讨论】:

  • 我想要做的是 80-20 的 Hold-out 10 次,所以我想要 10 个不同的训练集和测试集

标签: r keras sample


【解决方案1】:

也许做 10 次交叉验证:

n <- 5
repeat <- 2
for(j in 1:repeat){
  indexes <- split(sample(1:nrow(iris)),1:n)
  for (i in 1:n) {     
  test_x <- iris[indexes[[i]],]      
  train_x <- iris[-indexes[[i]],]

  ## train, evaluate keras model
  ## do some hyper tuning
  }
}

交叉验证的好处是您假设训练集和测试集之间是独立的,同时保留大部分数据用于训练。现在测试错误和指标是独立的,所以你可以比较和调整你的模型,假设 i.i.d.在输入数据中。

【讨论】:

  • 我想要做的是 80-20 的 Hold-out 10 次,所以我想要 10 个不同的训练集和测试集
  • 5折CV也是如此。这就是所谓的重复简历。我会编辑的。
猜你喜欢
  • 2021-06-20
  • 2018-04-22
  • 1970-01-01
  • 2020-12-15
  • 2023-03-08
  • 2021-12-29
  • 2019-03-16
  • 2016-12-20
  • 2016-09-02
相关资源
最近更新 更多