我有一个大型数据集,我需要将其随机分成 5 个几乎相等大小的集合以进行交叉验证。我以前很高兴地习惯于_crossvalind_
分成组,但是这次我需要一次将数据块分成这些组。
假设我的数据如下所示:
data = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18];
然后我想将它们随机分成 5 组,每组 2 组,例如这样
g1 = [3 4], [11 12]
g2 = [9 10]
g3 = [1 2], [15 16]
g4 = [7 8], [17 18]
g5 = [5 6], [13 14]
我想我可以用一些 for 循环来做到这一点,但我猜在 matlab 中必须有一种更具成本效益的方法:-)
有什么建议么?