隨機森林算法梳理
---恢復內容開始---
隨機森林算法梳理
1. 集成學習概念
通過構建並結合多個學習器來完成學習任務,有時也被稱為多分類器系統、基於委員會的學習等
2. 個體學習器概念
通常由一個現有的算法從訓練數據產生的基學習器。
3. boosting bagging
boosting: 是一族可將弱學習器提升為強學習器的算法。這族算法的工作機制類似:先從初始訓練集訓練出一個基學習器,再根據基學習器的表現對訓練對訓練樣本分步進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多的關註,然後基於調整後的樣本分布來訓練下一個基學習器;如此重復進行,直到 基學習器數目達到事先指定的值T,最終將這T個基學習器進行加權結合。
bagging:是並行式學習方法最著名的代表。給定包含m個樣本的數據集,我們先隨機取出一個樣本放入采樣集中,再把該樣本放回初始數據集,使得下次采樣時該樣本時該樣本仍有可能被選中,選出T個含有m個訓練樣本的采樣集,然後基於每個采樣集訓練出一個基學習器,再將這些基學習器進行結合。
4. 結合策略(平均法,投票法,學習法)
平均法:對各個基學習器的數值輸出進行平均(簡單平均法,加權平均法)
投票法:每一基學習器輸出一個標記,根據標記的出現次數來決定最終標記(絕對多數投票法、相對多數投票法、加權投票法)。
學習法:通過另一個學習器來學習如何結合。
5. 隨機森林思想
隨機森林在以決策樹為基學習器構建Bagging集成的基礎上,進一步在決策樹的訓練過程中引入隨機屬性選擇。
6. 隨機森林的推廣
extra trees、
Totally Random Trees Embedding、
Isolation Forest
7. 優缺點
隨機森林
優點:簡單、容易實現、計算開銷小
缺點:基學習器的多樣性不僅來自樣本擾動、還有屬性擾動
8. sklearn參數
隨機森林
class sklearn.ensemble.
RandomForestClassifier
(n_estimators=’warn’, criterion
n_estimators:隨機森林樹的數量
criterion:衡量生成的隨機森林質量的參數
max_depth:隨機森林樹的最大深度
min_samples_split:樹分裂的最小個數
min_samples_leaf :某一葉節點上樣本的最小數量
min_weight_fraction_leaf:葉結點的最小加權分數
max_features:在生成最佳森林時最大特征數
max_leaf_nodes:最大葉結點
min_impurity_decrease:如果某一節點分裂後,隨機森林減少的熵大於此值則增加該分支
bootstrap:在生成樹隨機森林時,是否采用bootstrap樣本
oob_score:是否使用out-of-bag樣本測試泛化性
n_jobs:是否使用多線程
random_state :隨機種子
verbose:在優化和預測時控制模型詳細程度
warm_start:是否重新生成隨機森林
class_weight:每一等級的權重
2 9.應用場景
隨機森林:數據維度相對低(幾十維),同時對準確性有較高要求時。
某俱樂部人員分布,根據會員信息預測該會員的消費能力。
隨機森林算法梳理