我想用kmeans将大数据矩阵(500万x 512)聚类到5000个中心。 我正在使用R为了不使用这个矩阵来打击我的记忆。kmeans with big data
我写了这个代码为txt矩阵转换成XDF然后集群:
rxTextToXdf(inFile = inFile, outFile = outFile)
vars <- rxGetInfo(outFile,getVarInfo=TRUE)
myformula <- as.formula(paste("~", paste(names(vars$varInfo), collapse = "+"), sep=""))
clust <- rxKmeans(formula = myformula, data = outFile,numClusters = 5000, algorithm = "lloyd", overwrite = TRUE)
write.table(clust$centers, file = centersFiletxt, sep=",", row.names=FALSE, col.names=FALSE)
但它已经现在正在运行了一个星期。任何想法如何使其更快?
看起来像是使用Revolution R而不是开源R.难以重现。计算机的规格是什么? – dickoa
英特尔i7 3630 2.4GHz 8 GB内存500 Gb硬盘窗口x64 – RamBracha
我不使用Revolution,唯一的建议是我可以尝试'bigmemory' +'biganalytics :: bigkmeans',但就我所知它不在Windows上工作(除非有人纠正我),所以如果你有机会访问其他机器...... – dickoa