我有一个带有k个示例的数据集,我想分区为m个集合。 我怎么能以编程方式做到这一点。 例如,如果k = 5且m = 2,则5/2 = 2.5 如何将其分为2和3,而不是2,2和1? 同样,如果k = 10且m = 3,我希望它被分为3,3和4,但不是3,3,3和1.
答案 0 :(得分:0)
通常,这种功能内置于工具中。但是,假设您的观察是独立的,只需设置一个随机数生成器并执行以下操作:
for i = 1 to k do;
set r = rand();
if r < 0.5 then data[i].which = 'set1'
else data[i].which = 'set2'
您可以针对任意数量的集合和概率进行扩展。
对于k = 5的示例,那么您实际上可以在一个集合中获得所有行(我考虑3%的时间)。但是,分割数据的目的是处理大量数据。如果您只有5行或10行,那么将您的观察分成不同的分区可能不是可行的方法。