1. 程式人生 > >隨機森林模型的原理

隨機森林模型的原理

隨機森林模型是整合模型的一種,它是由眾多決策樹整合得到的。

背景

當我們使用決策樹模型的時候,會很容易發現它是易於過擬合的,對於決策樹的過擬合有很多處理方法,譬如各種剪枝技術,而整合技術同樣能夠處理這一問題。我們通過整合技術生成各種不同的決策樹,並綜合考慮它們的預測結果,這樣能夠減少過擬合的出現機率。所以我認為訓練隨機森林模型的關鍵就在於如何產生不同形態的決策樹

 

Bootstrap取樣

為了產生多種多樣的決策樹模型,我們會對資料進行取樣,這樣我們選用了Bootstrap取樣技術,假設有n個樣本可供訓練,我們通過bootstrap技術對訓練集進行n次取樣,每次都從訓練集中選擇一個樣本記錄下索引並放回到訓練集

,這樣我們最終得到的訓練單顆決策樹的模型也有n個樣本,但是可能會有重複的樣本存在,這樣就保證了訓練每顆決策樹的資料集是不同的,從而產生不同形態的決策樹。

 

Max_features

在訓練時我們通過控制max_features引數來指定決策樹只能選定部分特徵進行劃分資料集,

max_features = 1: 在每一層劃分節點都是隨機選擇一個特徵進行劃分,這樣就會生成很複雜的決策樹,同時會使得各個決策樹是不同的;

max_features = n_features: 在每一層劃分節點時都是對所有的特徵計算劃分指標然後選擇最好的一個特徵進行劃分,這樣是不利於隨機森林模型的,因為生成的多顆決策樹形態高度相似,整合無效化;

 

Sklearn API

sklearn.ensemble.RandomForestClassifier

 

優缺點比較

優點

                          缺點

  • 易於使用,表現出色
  • 不需要特徵歸一化
  • 能處理混合型別的特徵
  • 易於並行化處理
  • 結果難以解釋
  • 不適用於高維度特徵的資料