可重现的自举样本

时间:2018-04-09 11:04:13

标签: r random-forest decision-tree resampling

我试图写一个重新采样函数(用替换随机采样一些数据来创建bootstrap样本),它返回一组说b = 5个bootstrap样本。当然,5个自举样本应该是不同的 - 但我希望每次运行程序时返回的5个样本组都是相同的(即第一个样本与我的第一个样本相同)再次运行该功能等) - >再现性......

这可能吗?我想改变种子,但我发现这是不好的做法。

请注意我不能使用任何现有的软件包,例如" boot" - 我正在为统计学的毕业课程做这个,目的是自己发展主要概念。

bootstrap <- function(data) {
  rows <- sample(1:nrow(data), replace = TRUE)
  bs <- data[rows,]
  rownames(bs) <- 1:nrow(data)
  bs
}

manySamples <- function(data, b) {
  bootSet <- list()
  i <- 1
  while(i <= b) {
    bs <- bootstrap(data)
    ele <- paste("bs", i, sep = "")
    bootSet[[ele]] <- bs
    i <- i + 1
  }
  bootSet
}

set1 <- manySamples(trainData, 5)
set2 <- manySamples(trainData, 5)

identical(set1, set2)
# FALSE

仅供参考:我需要这个来创建一个随机森林算法,在一组b bootstrap样本上创建b分类树。

非常感谢你的帮助! 干杯,斯特凡

0 个答案:

没有答案