【发布时间】: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
一百万行和 18 列的数据需要使用平均关联聚类进行聚类,这反过来又需要计算行之间的欧几里得距离。在这样做时,d <-dist(data),R 给出了以下错误:
错误:无法分配大小为 3725.3 Gb 的向量
我的电脑有 32 Gb 的内存。我的方法应该是什么?
【问题讨论】:
标签: r out-of-memory bigdata cluster-analysis euclidean-distance
距离矩阵,即使只是它的上对角线,也总是需要大约 2TB 的内存。此外,层次聚类的快速实现具有时间复杂度$O(n^2)$。你可以尝试两件事:
hclust.vector,它不需要距离矩阵作为输入,从而以时间复杂度为代价节省空间复杂度。您也可以尝试混合方法,首先用 2. 压缩数据,然后应用 1。
【讨论】: