隨機森林

隨機森林主要思想是先對原始樣本隨機選出(有放回抽樣,和Bagging 一樣,bootstrap不需要再進行交叉驗證)N 個訓練子集用於隨機生成N顆決策樹針對每個樣本集在構建決策樹的選擇最優屬性進行劃分時是隨機選擇m個屬性,而不是像常用的決策樹將所有的屬性參與選擇,再由這些決策樹構成一個森林,隨機森林的每一棵決策樹之間是沒有關聯的。在得到森林之後,當有一個新的輸入樣本進入的時候,就讓森林中的每一棵決策樹分別進行一下判斷,看看這個樣本應該屬於哪一類,然後看看哪一類被選擇最多,就預測這個樣本為那一類。

隨機森林由多顆隨機決策樹組成,是bagging系增強算法,並行互不干擾,基學習器是分類決策樹,隨機森林有兩個隨機採樣1訓練樣本隨機選擇2構成每決策樹的屬性隨機選擇(1從原始訓練集中隨機產生N個訓練子集用於隨機生成N顆決策樹,2在針對每個樣本集構建決策樹過程中隨機地選擇m個屬性)

隨機森林的優點:

*   由於樣本隨機(模型的泛化能力較強,對缺失值、異常值不敏感)和屬性隨機選擇(可以處理高維數據),避免出現過擬合;

*   各個樹相互獨立,可並行化訓練,訓練模型時速度快

*   模型可以處理不平衡數據,平衡誤差

*   最終訓練結果,可以對特徵排序,選擇比較重要的特徵

*   隨機森林算法中採樣是按bootstrap進行採樣,有OOB 集(有些數據可能沒有被選擇),不需要再進行交叉驗證或者單獨的測試集來獲取測試集隨機森林的缺點:

*   當數據噪聲比較大時,會產生過擬合現象

*   由於2個隨機,幾乎無法控制模型內部的運行,類似於黑盒子,只能在不同的參數和隨機種子之間進行嘗試。