【发布时间】:2019-02-21 23:55:09
【问题描述】:
首先,我对 R 中的 doparallel 和 parallel 包有基本的了解,所以请不要在没有示例代码的情况下推荐这些包。
我目前正在处理使用 glmnet 包生成的 LASSO 回归模型。我依靠这个包中的 cv.glmnet 函数来告诉我理想的 lamda 是什么......所有这些垃圾都与我的实际问题无关,但我希望背景故事有所帮助。 cv.glmnet 函数可以满足我的要求,但需要的时间太长。我想并行化它。
我的问题是并行 r 包被设计为获取一个列表,然后对该列表应用一个操作,所以当我尝试传递像 cv.glmnet 这样的抛光函数时(即使它是迭代的),我得到一个单核处理我希望 cv.glmnet 处理的单个数据集,而不是这个过程分布在我服务器上的所有核心上。
是否可以在 r 中跨多个 CPU/内核分配单个计算(哪些包、示例代码等)?或者,是否可以使并行化包(如 parallel 和 doparallel)识别 cv.glmnet 函数的迭代结构,然后为我分发它?我正在寻找建议,任何帮助或见解将不胜感激。
很遗憾,我无权分享我正在使用的数据。有关可重现的示例,请参阅此帖子,答案中的代码是复制/粘贴质量以生成数据、套索回归并给出了 cv.glmnet 函数的示例用法:https://stats.stackexchange.com/questions/72251/an-example-lasso-regression-using-glmnet-for-binary-outcome
【问题讨论】:
标签: r parallel-processing glmnet