私は非常に大きなデータセット(5000 * 100)を持っており、クラスタを見つけるのにkmeans
関数を使いたいと思います。しかし、私はclusterApply
関数の使い方を知らない。Rの並列化k-meansのやり方は?
set.seed(88)
mydata=rnorm(5000*100)
mydata=matrix(data=mydata,nrow = 5000,ncol = 100)
parallel.a=function(i) {
kmeans(mydata,3,nstart = i,iter.max = 1000)
}
library(parallel)
cl.cores <- detectCores()-1
cl <- makeCluster(cl.cores)
clusterSetRNGStream(cl,iseed=1234)
fit.km = clusterApply(cl,x,fun=parallel.a(500))
stopCluster(cl)
clusterApply
は、私が設定する方法がわからない「がx」の値が必要です。また、clusterApply
,parSapply
、parLapply
の違いは何ですか?どうもありがとう。ここで
申し訳ありませんが重複していません。私は 'clusterApply'を使用しています。 –
'lowmemtkmeans'パッケージを試してみてください。 – Henk