首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R-并行化多模型学习(使用dplyr和purrr)

R-并行化多模型学习(使用dplyr和purrr)
EN

Stack Overflow用户
提问于 2016-07-07 17:44:56
回答 2查看 3.4K关注 0票数 16

这是一个关于学习多个模型的前一个问题的后续。

用例是,我对每个主题都有多个观察,我想为每个主题训练一个模型。关于如何做到这一点,请参阅Hadley的出色的演讲

简而言之,可以这样使用dplyrpurrr

代码语言:javascript
复制
library(purrr)
library(dplyr)
library(fitdistrplus)
dt %>% 
    split(dt$subject_id) %>%
    map( ~ fitdist(.$observation, "norm")) 

因此,由于建模是一个令人尴尬的并行任务,我想知道dplyrpurrr是否有一种很容易使用的并行化机制(比如并行map)。

如果这些库不提供简单的并行化,是否可以使用经典的R并行化库(parallelforeach等)来完成?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-23 08:31:04

现在有了furrr包,例如:

代码语言:javascript
复制
library(dplyr)
library(furrr)
plan(multiprocess)

dt %>% 
    split(dt$subject_id) %>%
    future_map(~fitdist(.$observation, "norm"))
票数 12
EN

Stack Overflow用户

发布于 2016-10-13 11:00:55

只需在这里添加一个完整的答案,您就需要从Hadley的repo中安装多点来运行这个格列奈特中的更多信息

代码语言:javascript
复制
library(dplyr)
library(multidplyr)
library(purrr)

cluster <- create_cluster(4)
set_default_cluster(cluster)
cluster_library(cluster, "fitdistrplus")

# dt is a dataframe, subject_id identifies observations from each subject
by_subject <- partition(dt, subject_id)

fits <- by_subject %>% 
    do(fit = fitdist(.$observation, "norm")))

collected_fits <- collect(fits)$fit
collected_summaries <- collected_fits %>% map(summary)
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38252013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档