【问题标题】:R Cluster Package Error Daisy() function long vectors (argument 11) are not supported in .C.C 中不支持 R 集群包错误 Daisy() 函数长向量(参数 11)
【发布时间】:2014-08-08 07:16:43
【问题描述】:

尝试使用 R 中 cluster 包中的 daisy 函数将具有数值、名义和 NA 值的 data.frame 转换为相异矩阵。我的目的是在应用 k-means 聚类之前创建一个相异矩阵用于客户细分。 data.frame 有 133,153 行和 36 列。这是我的机器。

sessionInfo()
R version 3.1.0 (2014-04-10)
Platform x86_64-w64-mingw32/x64 (64-bit) 

如何解决菊花警告?

由于 Windows 计算机有 3 Gb RAM,我将虚拟内存增加到 100 GB,希望这足以创建矩阵 - 它没有工作。我仍然有一些关于内存的错误。我研究了其他 R 包来解决内存问题,但它们不起作用。我不能将bigmemorybiganalytics 包一起使用,因为它只接受数字矩阵。 claraff 包也只接受数字矩阵。

CRAN 的 cluster 包建议在应用 k-means 之前将 gower 相似系数作为距离度量。高尔系数采用数值、名义和 NA 值。

Store1 <- read.csv("/Users/scdavis6/Documents/Work/Client1.csv", head=FALSE)
df <- as.data.frame(Store1)
save(df, file="df.Rda")
library(cluster)
daisy1 <- daisy(df, metric = "gower", type = list(ordratio = c(1:35)))
#Error in daisy(df, metric = "gower", type = list(ordratio = c(1:35))) :
#long vectors (argument 11) are not supported in .C

**编辑:我将 RStudio 与 Amazon Web Service (AWS) 的 r3.8xlarge 对齐,具有 244Gbs 的内存和 32 个 vCPU。我尝试在我的计算机上创建菊花矩阵,但没有足够的 RAM。 **

**编辑 2:我使用 clara 函数对数据集进行聚类。 **

#50 samples
clara2 <- clara(df, 3, metric = "euclidean", stand = FALSE, samples = 50,
                rngR = FALSE, pamLike = TRUE)

【问题讨论】:

  • 有人有什么建议吗?

标签: r csv amazon-ec2 cluster-analysis r-daisy


【解决方案1】:

如果您有大量数据,请使用需要 O(n^2) 内存的算法。交换到磁盘会杀死性能,这不是一个明智的选择。

相反,尝试减少数据集大小,或使用索引加速来避免 O(n^2) 内存成本。 (而且不仅是O(n^2)内存,还有O(n^2)距离计算,需要很长时间!)

【讨论】:

  • 如何进行索引加速?在创建菊花矩阵之前先在 MySQL 中加载数据?有一个 RMySQL 包,我会研究一下。
  • 不,别想碰 MySQL。我没用过daisy,所以不知道是否可以索引加速。你不能只是在所有事情上都使用魔法索引加速。由于这个原因,没有“RmakeMagicIndexAcceleration”包。方法和实现必须设计以这种方式进行加速,而且看起来这种菊花实现似乎是为了计算上对角矩阵而设计的。
  • ELKI 有很多索引加速算法,但是我没有在这个列表中看到 daisy。而且它不是 R。
  • 抱歉回复晚了。由于 RAM 要求,我决定使用 Amazon Web Services。感谢您展示 ELKI。
  • 您也许可以将 O(n) 中的结果推广到完整的数据集。参见例如CLARA 聚类。它仅在样本上运行 k-medoids。然后将完整的数据集分配给这些中心点。如果您可以选择足够小的采样率,则为 O(n),而 PAM 可能为 O(n^3) 左右。哦,您可以尝试使用索引加速,这对于某些算法可以产生巨大的加速。我用 ELKI 在几分钟内聚集了 100k;索引帮助很大。
猜你喜欢
  • 2016-03-13
  • 2014-02-04
  • 2018-12-10
  • 1970-01-01
  • 2020-06-10
  • 2017-01-17
  • 2016-06-21
  • 2013-12-25
相关资源
最近更新 更多