随机森林模型的原理
隨機森林模型是集成模型的一種,它是由眾多決策樹集成得到的。
背景
當我們使用決策樹模型的時候,會很容易發現它是易于過擬合的,對于決策樹的過擬合有很多處理方法,譬如各種剪枝技術,而集成技術同樣能夠處理這一問題。我們通過集成技術生成各種不同的決策樹,并綜合考慮它們的預測結果,這樣能夠減少過擬合的出現機率。所以我認為訓練隨機森林模型的關鍵就在于如何產生不同形態的決策樹。
?
Bootstrap采樣
為了產生多種多樣的決策樹模型,我們會對數據進行采樣,這樣我們選用了Bootstrap采樣技術,假設有n個樣本可供訓練,我們通過bootstrap技術對訓練集進行n次采樣,每次都從訓練集中選擇一個樣本記錄下索引并放回到訓練集,這樣我們最終得到的訓練單顆決策樹的模型也有n個樣本,但是可能會有重復的樣本存在,這樣就保證了訓練每顆決策樹的數據集是不同的,從而產生不同形態的決策樹。
?
Max_features
在訓練時我們通過控制max_features參數來指定決策樹只能選定部分特征進行劃分數據集,
max_features = 1: 在每一層劃分節點都是隨機選擇一個特征進行劃分,這樣就會生成很復雜的決策樹,同時會使得各個決策樹是不同的;
max_features = n_features: 在每一層劃分節點時都是對所有的特征計算劃分指標然后選擇最好的一個特征進行劃分,這樣是不利于隨機森林模型的,因為生成的多顆決策樹形態高度相似,集成無效化;
?
Sklearn API
sklearn.ensemble.RandomForestClassifier
?
優缺點比較
| 優點 | ? ? ? ? ? ? ? ? ? ? ? ? ? 缺點 |
|
|
?
總結
- 上一篇: JAVA进阶day08泛型
- 下一篇: 解决App启动时白屏的问题