r-内存问题:平均连锁聚类



具有一百万行和18列的数据需要使用平均链接聚类进行聚类,这反过来又需要计算行之间的欧氏距离。这样做时,d <-dist(data),R会给出以下错误:

错误:无法分配大小为3725.3 Gb 的矢量

我的电脑内存为32 Gb。我应该采取什么方法?

距离矩阵,即使只有它的上对角线,也总是需要大约2TB的内存。此外,分层聚类的快速实现具有时间复杂性$O(n^2($。你可以尝试两件事:

  1. 使用fastcluster包中的函数hclust.vector,该函数不需要距离矩阵作为输入,从而以牺牲时间复杂性为代价节省了空间复杂性
  2. 使用不基于所有成对距离的不同聚类算法,例如k-means

您也可以尝试s混合方法,首先用2压缩数据。然后施加1。

相关内容

  • 没有找到相关文章

最新更新