Del*_*ine 9 r cluster-analysis weka k-means mahout
我必须在一个非常庞大的矩阵上执行k-means聚类(大约300.000x100.000值超过100Gb).我想知道我是否可以使用R软件来执行此操作或weka.我的计算机是一个多处理器,具有8Gb的RAM和数百Gb的可用空间.
我有足够的空间进行计算,但加载这样的矩阵似乎是R的一个问题(我不认为使用bigmemory包会帮助我和大矩阵自动使用我的所有RAM然后我的交换文件,如果没有足够的空间).
所以我的问题是:我应该使用什么软件(最终与其他一些软件包或自定义设置相关联).
谢谢你的帮助.
注意:我使用linux.
它必须是K-means吗?另一种可能的方法是首先将数据转换为网络,然后应用图形聚类.我是MCL的作者,这是一种在生物信息学中经常使用的算法.链接到的实现应该很容易扩展到具有数百万个节点的网络 - 假设您有100K属性,您的示例将具有300K节点.使用这种方法,数据将在数据转换步骤中自然地被修剪 - 并且该步骤很可能成为瓶颈.你如何计算两个向量之间的距离?在我处理过的应用程序中,我使用了Pearson或Spearman相关,而MCL附带了软件,可以有效地对大规模数据执行此计算(它可以使用多个CPU和多台机器).
数据大小仍然存在问题,因为大多数聚类算法都要求您至少执行一次所有成对比较.您的数据是否真的存储为巨型矩阵?输入中有多个零吗?或者,你有办法丢弃较小的元素吗?您是否可以访问多台计算机以分发这些计算?