Bagging 隨機森林

2022-08-31 18:06:08 字數 1435 閱讀 1550

bagging是n個相互無信賴的弱學習器,通過一定的策略,得到乙個強學習器。

bagging乙個主要的特點是隨機取樣,bagging是有放回的取樣。

對於乙個有m個樣本的資料集,每次採集乙個樣本,被採的概率是\(\frac\),不被採的概率是\(1-\frac\),如果m次取樣都沒有被採中的概率是\((1-\frac)^m\),當\(m\to\infty\)時,\((1-\frac)^m\to\frac\simeq0.368\),也就是說,在每輪取樣中,大絕36.8%的樣本沒有被採中。這此沒有參與擬合的資料,可以提高模型的泛化能力。

bagging常用於決策樹和這神經網路。

常用的策略是平均法和投票法

隨機森林random forest(rf)是bagging演算法思想的進化版本。

隨機森林使用了cart決策樹作為弱學習器,rf對決策樹的建立進行了改進。

對於普通的決策樹,我們會在節點上所有n個樣本特徵中選擇乙個最優的特徵來做決策樹的左右子樹劃分。但對於rf演算法,只選擇節點上一部分特徵假設為\(n_\),然後在隨機選擇的特徵中,選擇乙個最優的特徵進行左右子樹的劃分,增強模型的泛化能力。

隨機森林rf在實際應用中有良好的特性,基於rf有很多推廣。如extra trees、totally random trees embedding、isolation forest

主要優點:

訓練可以高度並行

隨機特徵劃分,在樣本維度很高時,仍然能高效訓練

訓練完成後,可以給出各特徵的重要性

隨機取樣,模型方差小,泛化能力強

對於boosting系列的adaboost和gbdt,rf實現更簡單。

對部分特徵缺失不敏感

主要缺點:

在某些雜訊較大的樣本集上,rf容易過擬合。

取值劃分較多的特徵容易對rf決策產生更大的影響,從而影響模型效果。

from sklearn.ensemble import randomforestclassifier

from sklearn.ensemble import randomforestregressor

n_estimators:弱學習器迭代次數

oob_score:是否採用袋外樣本評估模型

criterion:cart樹對特徵的評價標準

rf = randomforestclassifier(oob_score=true,random_state=10)

rf.fit(x,y)

使用gridsearchcv交叉驗證調參

param_test1 = 

gs2 = gridsearchcv(estimator=randomforestclassifier(random_state=10),

param_grid=param_test1,scoring='roc_auc',cv=5)

Bagging與隨機森林

給定包含 m 個樣本的資料集 d,我們對它進行取樣產生資料集 d 每次隨機從 d 中挑選乙個樣本,將其拷貝放入 d 然後再將該樣本放回初始資料集 d 中,使得該樣本在下次取樣時仍有可能被採到 這個過程重複執行 m次後,我們就得到了包含 m 個樣本的資料集 d 這就是自助取樣的結果。顯然,d 中有一部...

Bagging和隨機森林

又稱袋裝 bagging 或者自助聚集 boot strap aggregating 是一種根據均勻概率分布從資料集中重複取樣 有放回 的技術。每個自助取樣的樣本集都和原資料集一樣大。在又放回的抽樣中,如果抽樣的個數和原資料集的大小一致,則自助樣本di d i中會有63 63 的原訓練資料,因為每乙...

Bagging與隨機森林

前今天整理了決策樹的原理實現,順手再把隨機森林的原理整理整理。bagging是並行式整合學習方法最著名的代表,其原理是給定包含m個樣本的資料集,我們先隨機取出乙個樣本放入取樣集中,再把該樣本放回初始資料集 有放回 這樣經過m此隨機取樣操作,我們得到含有m個樣本的取樣集。照這樣,我們可取樣出t個含m個...