R中存在哪些并行算法,处理大数据

时间:2012-11-26 17:21:25

标签: algorithm r memory machine-learning bigdata

我试图找出CRAN / github / R-Forge中的R或R包中存在哪些统计/数据挖掘算法,可以在1台服务器上并行处理大型数据集,也可以顺序处理内存问题或同时在多台机器上运行。 这是为了评估我是否可以轻松地将它们移植到ff / ffbase,如ffbase :: bigglm.ffdf。

我想将这些分为三部分:

  1. 并行更新或处理参数估算的算法

  2. 顺序工作的算法(在R中获取数据,但只使用1个进程,只有1个进程更新参数)

  3. 处理部分数据

  4. 我想排除简单的并行化,例如通过例如超参数优化。 crossvalidating。 这些模型/优化器或算法的其他指针是什么?也许是贝叶斯?也许是一个名为RGraphlab的软件包(http://graphlab.org/)?

2 个答案:

答案 0 :(得分:1)

您是否已阅读CRAN上的High Performance Computing任务视图?

它涵盖了您提到的许多要点,并概述了这些领域中的软件包。

答案 1 :(得分:1)

随机森林并行运行是微不足道的。这是foreach vignette中的一个例子:

x <- matrix(runif(500), 100)
y <- gl(2, 50)
library(randomForest); library(foreach)
rf <- foreach(ntree=rep(250, 4), .combine=combine,
.packages='randomForest') %dopar% randomForest(x, y, ntree=ntree)

您可以使用此构造在您的群集中的每个核心上拆分林。