R语言的并行计算、多语言支持与特征选择
1. R语言并行计算
在处理耗时任务时,如构建随机森林学习器,将 caret 包与 foreach 结合使用,可以获得强大的处理方法。以下是一个示例,展示了使用 foreach 包前后的时间差异:
# 标准(单核)执行模式
# library(caret)
system.time(m_rf <- train(CHARLSONSCORE ~ ., data=qol, method="rf",
metric="Kappa", trControl=ctrl, tuneGrid=grid_rf))
## user system elapsed
## 273.09 2.29 282.00
# 并行执行模式
set.seed(123)
cl <- makeCluster(4)
registerDoParallel(cl)
getDoParWorkers() ## [1] 4
system.time(m_rf <- train(CHARLSONSCORE ~ ., data = qol, method = "rf",
metric="Kappa", trControl=ctrl, tuneGrid=grid_rf))
## user system elapsed
## 4.91 0.06 56.72
unregister<-registerDoSEQ()
stopCluster(cl)
从上述代码可以看出,在标准(单核)
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



