一、目的
集成方法是通過結合幾個基學習器的預測結果來改善單個學習器的通用性和魯棒性
二、分類
1、bagging與隨機森林
幾個基學習的學習過程相互獨立(並行式集成學習),將其預測結果進行結合
常用方法:
a. 分類(投票法)
b. 迴歸(平均法)
2、boosting
基學習器串行建立,目的是減小整體學習器的偏差,可以使用幾個若學習器產生強學習器
三、sklearn使用
3.1 Bagging meta-estimator
在集成學習方法中,bagging方法是通過幾個基分類器的結合,這些基學習器通過在不同的隨機子集上進行訓練得到不同的預測結果,通常用來減小結果的方差。
3.1.1 sklearn.ensemble.BaggingClassifier
class sklearn.ensemble.BaggingClassifier(base_estimator=None, n_estimators=10, max_samples=1.0, max_features=1.0, bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, n_jobs=1, random_state=None, verbose=0)
參數說明:
base_estimator : 基學習器對象,默認決策樹
n_estimators : 基學習器的個數,默認10
max_samples : 用於訓練每個基學習器的樣本數量(默認1.0),可以是int或者float
max_features : 用於訓練每個基學習器的特徵數量(默認1.0),可以是int或者float
bootstrap : 樣本是否是有放回的抽樣(默認True)
bootstrap_features : 特徵是否是有放回的抽樣(默認False)
oob_score : 是否使用袋外樣本來估計範話誤差
warm_start : 默認False,如果設置爲True,重用之前的集成模型並加入更多的學習器,否則將會生成一個全新的集成模型
n_jobs : 默認1,訓練和預測過程中並行運行的內核數,如果爲-1即爲內核數量
random_state :用於設置隨機種子, 默認None,使用np.random的隨機狀態,
屬性說明:
base_estimator_ : 基學習器
estimators_ : 基學習器的集合
estimators_samples_ : 每個基學習器使用的訓練樣本的子集
estimators_features_ : 基學習器使用的特徵
classes_ : 類標籤,array of shape = [n_classes]
n_classes_ : 類數目
oob_score_ : 使用袋外估計得到的訓練得分
oob_decision_function_ : 根據袋外估計計算的決策函數
此處爲簡單翻譯,如有不對,還望指出,,後續會繼續補充。。