K的意思是有一个巨大的阵列

Kmeans with an huge array

本文关键字:阵列 巨大 意思是 有一个      更新时间:2023-10-16

我试图找到一个巨大数据集的5000个中心点。我的输入数组是5000000][512],意思是很多512维的向量。C++对数组大小有限制,我似乎无法克服这一点。我想使用opencv-keans函数。知道吗???

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

我最终使用了迷你批处理kmean,它将数据采样到批中。此外,矩阵非常稀疏,所以添加稀疏矩阵表示就可以了。