R Cluster Package Error Daisy()函数长向量(参数11)在.C中不受支持

R Cluster Package Error Daisy()函数长向量(参数11)在.C中不受支持,r,csv,amazon-ec2,cluster-analysis,r-daisy,R,Csv,Amazon Ec2,Cluster Analysis,R Daisy,尝试使用R中的cluster包中的daisy函数,将具有数字、标称和NA值的data.frame转换为相异矩阵。我的目的是在应用k均值聚类进行客户细分之前创建相异矩阵。data.frame有133153行和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中的
cluster
包中的
daisy
函数,将具有数字、标称和NA值的
data.frame
转换为相异矩阵。我的目的是在应用k均值聚类进行客户细分之前创建相异矩阵。
data.frame
有133153行和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包,但它们不起作用。我不能将
bigmemory
biglytics
包一起使用,因为它只接受数字矩阵。
clara
ff
包也只接受数字矩阵

CRAN的
cluster
软件包建议在应用k-means之前将gower相似系数作为距离度量。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
Store1如果您有大量数据,请使用不需要O(n^2)内存的算法。交换到磁盘会降低性能,这不是一个明智的选择


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

有人有什么建议吗?我该如何做索引加速?在创建菊花矩阵之前,先在MySQL中加载数据?有一个RMySQL包,我会研究一下。不,甚至不要想碰MySQL。我没有使用daisy,所以我不知道它是否可以索引加速。你不能把神奇的指数加速抛向一切。正是出于这个原因,没有“RMAKemagicindeAcceleration”套餐。方法和实现必须以这种方式进行加速设计,而且这个daisy实现似乎是为了计算上对角线矩阵而设计的。ELKI有很多索引加速算法,但我在这个列表中没有看到daisy。我也不为迟到的回复感到抱歉。我决定使用AmazonWeb服务,因为需要RAM。感谢您展示ELKI。您可以将O(n)中的结果推广到完整的数据集。参见例如CLARA集群。它只在样本上运行k-medoid。然后将完整的数据集分配给这些MEDOID。如果你能支持选择一个足够小的采样率,它就是O(n),而PAM可能是O(n^3)左右。哦,你可以尝试使用索引加速,对于某些算法来说,索引加速可以产生巨大的加速。我在几分钟内与ELKI聚集了10万人;索引起到了巨大的作用。
#50 samples
clara2 <- clara(df, 3, metric = "euclidean", stand = FALSE, samples = 50,
                rngR = FALSE, pamLike = TRUE)