本文簡要介紹python語言中 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=None, random_state=None, verbose=0)
Bagging 分類器。
Bagging 分類器是一個集合meta-estimator,它將每個基分類器擬合到原始數據集的隨機子集上,然後聚合它們各自的預測(通過投票或通過平均)以形成最終預測。這樣的meta-estimator 通常可以用作減少black-box 估計器(例如決策樹)方差的方法,方法是在其構造過程中引入隨機化,然後對其進行集成。
該算法包含文獻中的幾部作品。當數據集的隨機子集被抽取為樣本的隨機子集時,該算法稱為粘貼[1]。如果通過放回抽取樣本,則該方法稱為 Bagging [2]。當數據集的隨機子集被繪製為特征的隨機子集時,該方法稱為隨機子空間[3]。最後,當基礎估計量建立在樣本和特征的子集上時,該方法稱為隨機補丁 [4]。
在用戶指南中閱讀更多信息。
- base_estimator:對象,默認=無
適合數據集隨機子集的基本估計器。如果無,則基本估計量是
DecisionTreeClassifier
。- n_estimators:整數,默認=10
集成中基本估計器的數量。
- max_samples:int 或浮點數,默認=1.0
從 X 中抽取以訓練每個基本估計器的樣本數(默認情況下有替換,有關更多詳細信息,請參閱
bootstrap
)。- 如果是 int,則繪製
max_samples
樣本。 - 如果浮點數,則繪製
max_samples * X.shape[0]
樣本。
- 如果是 int,則繪製
- max_features:int 或浮點數,默認=1.0
從 X 中提取以訓練每個基本估計器的特征數量(默認情況下不替換,有關更多詳細信息,請參閱
bootstrap_features
)。- 如果是 int,則繪製
max_features
特征。 - 如果浮點數,則繪製
max_features * X.shape[1]
特征。
- 如果是 int,則繪製
- bootstrap:布爾,默認=真
是否有放回抽取樣本。如果為 False,則執行無放回抽樣。
- bootstrap_features:布爾,默認=假
是否使用替換繪製特征。
- oob_score:布爾,默認=假
是否使用out-of-bag 個樣本來估計泛化誤差。僅當 bootstrap=True 時可用。
- warm_start:布爾,默認=假
當設置為 True 時,重用上一次調用的解決方案來擬合並將更多的估計器添加到集成中,否則,隻需擬合一個全新的集成。請參閱詞匯表。
- n_jobs:整數,默認=無
fit
和predict
並行運行的作業數。None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有處理器。有關更多詳細信息,請參閱術語表。- random_state:int、RandomState 實例或無,默認=無
控製原始數據集的隨機重采樣(樣本和特征)。如果基本估計器接受
random_state
屬性,則會為集成中的每個實例生成不同的種子。傳遞 int 以獲得跨多個函數調用的可重現輸出。請參閱詞匯表。- verbose:整數,默認=0
控製擬合和預測時的詳細程度。
- base_estimator_:估計器
生成集成的基本估計量。
n_features_
int已棄用:屬性
n_features_
在版本 1.0 中已棄用,並將在 1.2 中刪除。- n_features_in_:int
擬合期間看到的特征數。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。- estimators_:估算器列表
擬合基礎估計器的集合。
estimators_samples_
數組列表每個基本估計器的抽取樣本的子集。
- estimators_features_:數組列表
每個基本估計器的繪製特征的子集。
- classes_:ndarray 形狀 (n_classes,)
類標簽。
- n_classes_:int 或列表
類的數量。
- oob_score_:浮點數
使用out-of-bag 估計獲得的訓練數據集的分數。此屬性僅在
oob_score
為 True 時存在。- oob_decision_function_:ndarray 形狀(n_samples,n_classes)
使用 out-of-bag 估計訓練集計算的決策函數。如果 n_estimators 很小,則可能在引導期間從未遺漏數據點。在這種情況下,
oob_decision_function_
可能包含 NaN。此屬性僅在oob_score
為 True 時存在。
參數:
屬性:
參考:
- 1
L. Breiman,“在大型數據庫和on-line 中為分類粘貼小票”,機器學習,36(1), 85-103, 1999。
- 2
L. Breiman,“Bagging predictors”,機器學習,24(2), 123-140, 1996。
- 3
T. Ho,“構建決策森林的隨機子空間方法”,模式分析和機器智能,20(8),832-844,1998。
- 4
G. Louppe 和 P. Geurts,“隨機補丁上的集合”,數據庫中的機器學習和知識發現,346-361,2012。
例子:
>>> from sklearn.svm import SVC >>> from sklearn.ensemble import BaggingClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_samples=100, n_features=4, ... n_informative=2, n_redundant=0, ... random_state=0, shuffle=False) >>> clf = BaggingClassifier(base_estimator=SVC(), ... n_estimators=10, random_state=0).fit(X, y) >>> clf.predict([[0, 0, 0, 0]]) array([1])
相關用法
- Python sklearn BaggingRegressor用法及代碼示例
- Python sklearn BallTree用法及代碼示例
- Python sklearn BayesianGaussianMixture用法及代碼示例
- Python sklearn BayesianRidge用法及代碼示例
- Python sklearn Birch用法及代碼示例
- Python sklearn BernoulliRBM用法及代碼示例
- Python sklearn Bunch用法及代碼示例
- Python sklearn BernoulliNB用法及代碼示例
- Python sklearn Binarizer用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn train_test_split用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn GradientBoostingRegressor用法及代碼示例
- Python sklearn GridSearchCV用法及代碼示例
- Python sklearn log_loss用法及代碼示例
- Python sklearn r2_score用法及代碼示例
- Python sklearn ndcg_score用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.ensemble.BaggingClassifier。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。