我想用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