【问题标题】:Memory Problem: Average-Linkage Clustering内存问题:平均链接聚类
【发布时间】:2022-01-27 00:31:23
【问题描述】:

一百万行和 18 列的数据需要使用平均关联聚类进行聚类,这反过来又需要计算行之间的欧几里得距离。在这样做时,d <-dist(data),R 给出了以下错误:

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

我的电脑有 32 Gb 的内存。我的方法应该是什么?

【问题讨论】:

    标签: r out-of-memory bigdata cluster-analysis euclidean-distance


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-18
      • 2014-05-09
      • 2014-09-17
      • 2023-04-02
      • 2017-12-11
      • 2019-07-31
      • 1970-01-01
      相关资源
      最近更新 更多