来自文档:
对于自举样本,使用简单随机抽样。
对于其他数据分割,随机抽样在y的水平内完成 当y是试图平衡其中的类分布的因素时 分裂。
对于数字y,根据百分位数将样本拆分为组 并在这些小组内进行抽样。
对于createDataPartition,百分位数通过组设置 参数。
我不明白为什么需要这种“平衡”的东西。我认为我从表面上理解它,但任何额外的见解都会非常有用。
答案 0 :(得分:9)
这意味着,如果您有一个包含10000行的数据集ds
set.seed(42)
ds <- data.frame(values = runif(10000))
2个“等级”,分配不均(9000对1000)
ds$class <- c(rep(1, 9000), rep(2, 1000))
ds$class <- as.factor(ds$class)
table(ds$class)
# 1 2
# 9000 1000
你可以创建一个样本,试图保持因子类的比例/“平衡”。
dpart <- createDataPartition(ds$class, p = 0.1, list = F)
dsDP <- ds[dpart, ]
table(dsDP$class)
# 1 2
# 900 100