R 将两个随机森林模型中的树模型合并为一个随机森林模型

R 将两个随机森林模型中的树模型合并为一个随机森林模型,r,machine-learning,parallel-processing,h2o,R,Machine Learning,Parallel Processing,H2o,我是机器学习海洋的新手,如果我的一些问题真的很基本,请原谅 当前情况:总体目标是改进超级计算机集群上运行的r中h2o包的一些代码。但是,由于数据太大,使用h2o的单个节点实际上需要一天以上的时间,因此,我们决定使用多个节点来运行模型。我想出了一个主意: (1) 分发每个节点以构建(nTree/num_节点)树并保存到模型中 (2) 在集群上的每个节点上运行(nTree/num_node)林中的树数 (3) 将树木重新合并并改造原始森林,并平均使用测量结果 后来我意识到这可能有风险。但我找不到实际

我是机器学习海洋的新手,如果我的一些问题真的很基本,请原谅

当前情况:总体目标是改进超级计算机集群上运行的r中h2o包的一些代码。但是,由于数据太大,使用h2o的单个节点实际上需要一天以上的时间,因此,我们决定使用多个节点来运行模型。我想出了一个主意:

(1) 分发每个节点以构建(nTree/num_节点)树并保存到模型中

(2) 在集群上的每个节点上运行(nTree/num_node)林中的树数

(3) 将树木重新合并并改造原始森林,并平均使用测量结果

后来我意识到这可能有风险。但我找不到实际的支持或反对声明,因为我不是以机器学习为中心的程序员

问题:

  • 如果这种处理随机森林的方法将导致一些风险,请参考我的链接,这样我就可以有一个基本的想法,为什么这是不正确的
  • 如果这种方式实际上是一种“ok”方式。我应该怎么做合并树,有没有一个包或方法我可以借用
  • 如果这是一个实际解决的问题,请参考我的链接,我可能搜索了错误的关键字,谢谢 我可以在这里给出的真实数字示例是:


    我有一个随机森林任务,有80k行和2k列,希望树的数量是64。我所做的是在运行整个数据集的每个节点上放置16棵树,四个节点中的每一个都会产生一个RF模型。我现在正试图将每个模型中的树合并到这个大射频模型中,并平均测量值(这四个模型中的每一个)

    10000行乘1000列不会太大,训练RF模型也不会花那么长时间

    听起来好像发生了意想不到的事情


    如果你知道你在做什么,你可以尝试平均化模型,但我认为在这种情况下没有必要这样做。

    没有必要合并模型。与boosting方法不同,随机林中的每棵树都是独立生长的(只是在每个节点上启动RF之前不要设置相同的种子!)

    你基本上是在做随机森林自己做的事情,那就是生长X棵独立的树,然后在投票中求平均值。许多软件包提供了一个选项来指定内核或线程的数量,以便利用RF的这一特性


    在您的例子中,由于每个节点有相同数量的树,您将得到4个“模型”,但这些实际上只是16棵树的集合。为了使用它,我只需要将4个模型分开,当您需要预测时,平均4个模型中的每个模型的预测。假设您不止一次这样做,您可以编写一个小包装函数来预测4个模型并平均输出。

    我的回答,实际上是80000+和2000+字段,我将更新我的答案。这实际上是我后来发现的,谢谢您的回答!