簡體   English   中英

將來自兩個隨機森林模型的樹模型合並到R中H2O的一個隨機森林模型中

[英]Merging Tree Models from two random forest models into one random forest model at H2O in R

我對機器學習海洋比較陌生,如果我的一些問題非常基本,請原諒。

當前情況:總體目標是嘗試改進在超級計算機集群上運行的h2o包的一些代碼。 但是,由於數據太大以至於具有h2o的單個節點實際上需要超過一天,因此,我們決定使用多個節點來運行模型。 我提出了一個想法:

(1)分配每個節點構建(nTree / num_node)樹並保存到模型中;

(2)在每個節點的集群上運行(nTree / num_node)森林中的樹數;

(3)將樹木合並,改造原始森林,平均測量結果。

我后來意識到這可能有風險。 但我找不到實際的支持或反對聲明,因為我不是機器學習的重點程序員。

問題:

  1. 如果這種處理隨機森林的方式會導致一些風險,請參考我的鏈接,以便我可以基本了解為什么這是不對的。
  2. 如果這種方式實際上是一種“好”的方式。 我應該怎么做才能合並樹木,我可以借用一個包裹或方法嗎?
  3. 如果這實際上是一個已解決的問題,請參考我鏈接,我可能搜索了錯誤的關鍵字,謝謝!

我可以在這里介紹的真實數字示例是:

我有一個80k行和2k列的隨機森林任務,並希望樹的數量為64.我所做的是在每個節點上運行16個樹與整個數據集一起運行,並且四個節點中的每一個都提供一個RF模型。 我現在正在嘗試將每個模型中的樹合並到這個大型RF模型中並平均測量值(來自這四個模型中的每一個)。

無需合並模型。 與增強方法不同,隨機森林中的每棵樹都是獨立生長的(只是在每個節點上開始射頻之前不要設置相同的種子!)。

你基本上是在做隨機森林自己做的事情,即增長X個獨立的樹,然后平均投票。 許多軟件包提供了指定核心或線程數量的選項,以便利用RF的這一特性。

在您的情況下,由於每個節點擁有相同數量的樹,因此您將獲得4個“模型”,但這些只是16個樹的集合。 為了使用它,我只是將4個模型分開,當你想要預測時,平均4個模型中的每個模型的預測。 假設您不止一次這樣做,您可以編寫一個小的包裝函數來預測4個模型並平均輸出。

10,000行乘1,000列不會過大,不應花那么長時間來訓練RF模型。

聽起來好像發生了意想不到的事情。

如果您知道自己在做什么,可以嘗試平均模型,但我不認為在這種情況下應該是必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM