【问题标题】:Clustering Variables in R and Memory UsageR中的聚类变量和内存使用
【发布时间】:2019-05-02 19:42:30
【问题描述】:

我正在尝试使用集群库计算 R 中某些变量的集群。代码如下:

d2 <- dist(ant, method = "euclidian")

问题是显示此消息:

Error: cannot allocate vector of size 123.5 Gb

不可能有这么多内存。我的数据框有超过 180000 行和 12 列。有什么建议吗?

【问题讨论】:

  • 如果这是一个愚蠢的问题,请提前道歉......你真的想用层次聚类对 180,000 个事物进行聚类吗?即使在你计算了这个之后,它也很难使用、解释或可视化。将 12 列与dist(t(ant)) 聚类有什么用?否则,您可以以每小时 5 美元 (USD) 的价格租用一台配备 488GB 内存的 Amazon EC2 linux 服务器来集群所有行。
  • 没问题,我没有集群经验。有人建议我对变量进行聚类。我在学。没有问题是愚蠢的!谢谢

标签: r cluster-analysis k-means hierarchical-clustering


【解决方案1】:
  1. 选择一种需要成对距离矩阵的方法,这总是需要 O(n²) 内存...此类算法存在多种。

  2. 首先简化您的数据。例如,将重复项合并为权重,并使用支持加权点的算法/实现。

  3. 子样本。如果你有这么多点,你可能不需要全部都需要。改为使用子样本。

【讨论】:

    猜你喜欢
    • 2020-03-30
    • 1970-01-01
    • 2017-07-27
    • 2019-01-23
    • 2021-03-19
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2016-02-11
    相关资源
    最近更新 更多