我对机器学习还比较新,如果我的问题有些基础,请原谅。
现状:我们的目标是改进在超级计算机集群上运行的r中h2o包的一些代码。但是,由于数据太大了,单个节点使用h2o需要超过一天的时间,因此,我们决定使用多个节点来运行模型。我想到了一个方法:
(1) 将每个节点分配给(nTree/num_node)棵树并保存到模型中;
(2) 在每个节点上运行(nTree/num_node)棵树的随机森林;
(3) 将树合并在一起重新形成原始森林,并使用平均测量结果。
后来我意识到这可能是有风险的。但是,由于我不是机器学习专业的程序员,我找不到实际的支持或反对声明。
问题:
- 如果以这种方式处理随机森林会有一些风险,请给我提供链接,以便我可以基本了解为什么这样做不正确。
- 如果这种方式实际上是“好”的方法。我应该如何合并树,是否有我可以借用的软件包或方法?
- 如果这实际上是一个已解决的问题,请给我提供链接,我可能搜索了错误的关键字,谢谢!
我可以在这里提供实际涉及数字的例子:
我有一个随机森林任务,包含80k行和2k列,并希望树的数量为64。我的做法是将每个节点放置16棵树,并使用整个数据集运行。每个四个节点中的一个都会得到一个RF模型。现在我正在尝试将每个模型的树合并成一个大的RF模型,并平均测量值(来自这些四个模型中的每一个)。