K意味着巨大的阵列

时间:2013-07-25 06:15:20

标签: c++ arrays opencv k-means

我正在尝试找到5000个庞大数据集的中心点。我的输入数组是[5000000] [512],意味着很多具有512维度的向量。 C ++对数组大小有限制,我似乎无法克服这个问题。我想使用opencv kmeans函数。 任何想法???

2 个答案:

答案 0 :(得分:0)

同意上面的人。真正的问题是,你真的有这么大的内存笔记本电脑/台式机。如果答案是肯定的,你可以简单地编写C程序来完成工作。否则,您可能需要找出分布式解决方案,例如Hadoop上的Mahout。另一种选择是,您可能希望以某种方式从所有数据中取样,并在样本上进行聚类,如果您的要求可以接受的话。

答案 1 :(得分:0)

我最终使用迷你批量kmeans,将数据采样到批次。加上,矩阵非常稀疏,因此添加稀疏矩阵表示就可以了。