微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 R 中并行化随机森林学习改变了 RF 对象的类别

如何解决在 R 中并行化随机森林学习改变了 RF 对象的类别

我正在 R 中使用函数 randomForest::randomForest() 来学习我的 RF。

首先,我在没有并行化的情况下学习了它们,并获得了一个基本上是一个列表的 RF 对象(当我学习部分绘图等时,我工作得很好)

rf_full <-
randomForest::randomForest(sr ~ Lat + Long + AREA + Date + polypoint_ratio + time_span,data = atlas_cart_data,ntree = 500,mtry = 2,nodesize = 5,keep.forest = T)

但后来我意识到这花了太长时间。所以我将脚本与 foreach 包并行化,如下所示:

#Try to parallelize
cl <- makeCluster(detectCores()-1)
registerDoParallel(cl)

## Learn the RF
rf_full <-
  foreach(ntree = rep(500/length(cl),length(cl)),.combine = randomForest::combine,.multicombine = T,.packages = "randomForest") %dopar% {

            randomForest::randomForest(sr ~ Lat + Long + AREA + Date + polypoint_ratio + time_span,ntree = ntree,keep.forest = T)

          }

stopImplicitCluster()
stopCluster(cl)
rm(cl)

问题:现在,输出属于 Large randomForest.formula (16 elements) 类并且生成部分图似乎太长了,而之前它非常快。

请注意,这两种方法的指标(R²、MSE...)是相同的。因此,我真的认为这是 RF 的等级问题,而不是它的质量。

有人已经体验过了吗?您知道如何从 Large randomForest.formula 大幅减少部分图的生成时间吗?或者如何从并行学习中得到前一个输出

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。