2014-12-07 94 views
1

我有100个组,每个组里面都有一些元素。对于交叉验证,我想要制作5个大小尽可能相等的垃圾箱。用相同尺寸填充垃圾箱

有没有用于此目的的任何算法。

5个基团和2个箱的一个例子:

Group_1: 5 
Group_2: 6 
Group_3: 2 
Group_4: 7 
Group_5: 1 

两个二进制位将是:

G1和G2 - >它们的和等于11

G3,G4和G5 - >他们的总和等于10.

回答

1

这似乎与set partitioning problem,这是NP - 硬,但幸运承认很多g ood近似算法和伪多项式时间动态规划算法。您可能希望将这些视为出发点,因为在这方面已经完成了相当多的工作。

希望这会有所帮助!

1

如果您正在寻找具有相同大小约束的聚类算法(分区方法),我会建议使用谱聚类。它将满足您对几乎相同大小的群集的需求,因为它解决了标准化切割问题,该问题试图找到平衡切割。

1

这不是cluster analysis问题(我重写了这个问题,为您使用更合适的措辞)。聚类分析是结构发现任务。

相反,看看计算机科学以下两个相关的问题:

所有这些似乎是NP难的,所以你会希望只使用一个近似值(如果你有大量的数据,仅有5例,你可以很容易地蛮力所有组合)