隨機森林演算法

2021-06-26 12:31:43 字數 1036 閱讀 6489

random forest是加州大學伯克利分校的breiman leo和adele cutler於2023年發表的**中提到的新的機器學習演算法,可以用來做分類,聚類,回歸,和生存分析,這裡只簡單介紹該演算法在分類上的應用。

random forest(隨機森林)演算法是通過訓練多個決策樹,生成模型,然後綜合利用多個決策樹進行分類。

隨機森林演算法只需要兩個引數:構建的決策樹的個數t,在決策樹的每個節點進行**時需要考慮的輸入特徵的個數m

1. 單棵決策樹的構建:

(1)令n為訓練樣例的個數,則單棵決策樹的輸入樣例的個數為n個從訓練集中有放回的隨機抽取n個訓練樣例。

(2)令訓練樣例的輸入特徵的個數為m,切m遠遠小於m,則我們在每顆決策樹的每個節點上進行**時,從m個輸入特徵裡隨機選擇m個輸入特徵,然後從這m個輸入特徵裡選擇乙個最好的進行**。m在構建決策樹的過程中不會改變。

(3)每棵樹都一直這樣**下去,直到該節點的所有訓練樣例都屬於同一類。不需要剪枝。

2. 隨機森林的分類結果

按照1生成t個決策樹之後,對於每個新的測試樣例,綜合多個決策樹的分類結果來作為隨機森林的分類結果。

(1)目標特徵為數字型別:取t個決策樹的平均值作為分類結果。

(2)目標特徵為類別型別:少數服從多數,取單棵樹分類結果最多的那個類別作為整個隨機森林的分類結果。

3. 分類效果的評價

在隨機森林中,無需交叉驗證來評價其分類的準確性,隨機森林自帶oob(out-of-bag)錯誤估計:

oob:在構造單棵決策樹時我們只是隨機有放回的抽取了n個樣例,所以可以用沒有抽取到的樣例來測試這棵決策樹的分類準確性,這些樣例大概佔總樣例數目的三分之一(作者這麼說的,我還不知道理論上是如何出來的,但是可以自己做試驗驗證)。所以對於每個樣例j,都有大約三分之一的決策樹(記為sett(j))在構造時沒用到該樣例,我們就用這些決策樹來對這個樣例進行分類。我們對於所有的訓練樣例j,用sett(j)中的樹組成的森林對其分類,然後看其分類結果和實際的類別是否相等,不相等的樣例所佔的比例就是oob錯誤估計。oob錯誤估計被證明是無偏的。

隨機森林演算法原理 機器學習演算法 隨機森林

隨機森林是一種通用的機器學習方法,能夠處理回歸和分類問題。它還負責資料降維 缺失值處理 離群值處理以及資料分析的其他步驟。它是一種整合學習方法,將一組一般的模型組合成乙個強大的模型 我們通過適用隨機的方式從資料中抽取樣本和特徵值,訓練多個不同的決策樹,形成森林。為了根據屬性對新物件進行分類,每個數都...

IBM SPSS Modeler隨機森林演算法介紹

在之前的文章 bagging 或boosting讓你的模型更加優化 中,我們介紹了可以通過bagging或boosting技術,使得模型更加穩定和準確率更高,那麼今天要介紹的隨機森林演算法,本身的演算法邏輯已經使用了bagging技術,來構建多棵樹,最終實現構建 森林 的目的。首先我們先來了解下這個...

隨機森林 RandomForest 演算法

隨機森林是bagging方法的一種具體實現。它會訓練多棵決策樹,然後將這些結果融合在一起就是最終的結果。隨機森林可以用於 也可以用於回歸。主要在於決策樹型別的選取,根據具體的任務選擇具體類別的決策樹。對於分類問題,乙個測試樣本會送到每一顆決策樹中進行 然後投票,得票最多的類為最終的分類結果 對與回歸...