gpt4 book ai didi

R 集群包错误 Daisy() 函数长向量(参数 11)在 .C 中不受支持

转载 作者:行者123 更新时间:2023-12-02 01:20:52 25 4
gpt4 key购买 nike

尝试使用集群中的daisy函数将具有数字、标称和NA值的data.frame转换为相异矩阵我的目的是在应用 k 均值聚类进行客户分割之前创建一个相异矩阵。 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,因此我将虚拟内存增加到 100GB,希望这足以创建矩阵 - 但它不起作用。我仍然有一些关于内存的错误。我研究过其他 R 包来解决内存问题,但它们不起作用。我无法将 bigmemorybiganalytics 包一起使用,因为它只接受数字矩阵。 claraff 包也只接受数字矩阵。

CRAN 的 cluster 包建议在应用 k 均值之前将 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)

最佳答案

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

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

关于R 集群包错误 Daisy() 函数长向量(参数 11)在 .C 中不受支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24277999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com