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個...