r - 并行missForest

标签 r foreach parallel-processing

在下面的示例中,我尝试使用 missForest 来估算缺失值。为了加快我使用 foreach 包的过程。我在其中使用了 100 棵树,然后将这些树传递给 missForest 函数。这是并行 missForest 的正确方法吗?

这是示例和我所做的:

   library(foreach)
   library(missForest)
   data(iris)
   iris.na <- iris
   set.seed(111)

   ## artificially drop some data values.

   for (i in 1:4) iris.na[sample(150, sample(20)), i] <- NA
    set.seed(222)

     system.time(rf <- foreach(ntree=100, .combine=combine, 
    .multicombine=TRUE,.packages='missForest') %dopar% 
    { missForest(iris.na)$ximp})

最佳答案

我认为这应该可以解决您的问题。

library(doParallel)
library(missForest)
data(iris)
iris.na <- iris
set.seed(111)

## artificially drop some data values.

for (i in 1:4) iris.na[sample(150, sample(20)), i] <- NA
set.seed(222)

registerDoParallel(cores=3)
out <- missForest(iris.na, ntree = 100, parallelize = "forests")

关于r - 并行missForest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19642592/

相关文章:

R - 在循环中按属性缓冲 SpatialPolygons

r - 向元素和所有子元素添加或更新属性

vba - VBA Excel-Outlook-对于每个-返回邮件=没有-错误mngt

parallel-processing - 解决一个令人尴尬的并行问题的最佳解决方案是什么?

r - 拆分字符串并重新排列数据框

r - 如何只从字符串中删除数字

c# - foreach(新列表<Base>()中的派生对象)

collections - VB6 中简单损坏的 For Each 循环

java - 在Java的synchronizedList中使用break和return会执行不需要的行为

r - listcolumns 和 multidplyr