R Weka J48降雪用于并行执行

时间:2016-01-22 17:03:14

标签: r parallel-processing weka j48

所以我尝试使用snowfall包在R中并行执行,使用我所有的cpu核心。这是我用于测试的代码:

library(snow)
library(snowfall)
sfInit(parallel = TRUE, cpus = 16, type = "SOCK")
data <- array(1:1000000, dim=c(1000000,1))
system.time(x <- sfLapply(data, fun=function(x){return (x*x) }))

由于它使用了所有可用的CPU核心,因此运行速度提高了16倍。 但是当我尝试这个时:

system.time(m2 <- J48(CHURNED_F~., data = data[, -c(1)]))

大约需要50秒,作为测试(仅占整个数据集的1%左右) 以下运行正确,但需要相同的时间,只使用一个CPU:

library(snow)
library(snowfall)
sfInit(parallel = TRUE, cpus = 16, type = "SOCK")
system.time(m2 <- sfLapply("CHURNED_F~.", J48, data[, -c(1)]))

我只是使用了错误的语法?如何并行运行?

0 个答案:

没有答案