首页 > 解决方案 > R Caret createFolds 不均匀

问题描述

好的,这是一些测试数据

X <-  data.frame(a = seq(1,16,by=2), b = LETTERS[1:8], x= month.abb[1:8], z=letters[1:8])

y <- 1:8

我想了解的是如何让 createFolds 始终创建相同尺寸的折叠。让我举个例子:

set.seed(233)
folds <- createFolds(y, k = 2, list = TRUE, returnTrain = FALSE)

输出:

> folds
$Fold1
[1] 1 5 6 8

$Fold2
[1] 2 3 4 7

第二次不是将数据平均分成折叠:

folds <- createFolds(y, k = 2, list = TRUE, returnTrain = FALSE)

> folds
$Fold1
[1] 1 2 5 7 8

$Fold2
[1] 3 4 6

我想要的是在每次运行该函数时尽可能进行“均匀”除法,例如 8 次观察的 4 次折叠。在它有 5 折的情况下,我知道这是不可能的。

标签: rr-caret

解决方案


推荐阅读