bagging

bagging

Bagging算法 (英語:Bootstrap aggregating,引導聚集算法),又稱裝袋算法,是機器學習領域的一種團體學習算法。最初由Leo Breiman於1996年提出。Bagging算法可與其他分類回歸算法結合,提高其準確率、穩定性的同時,通過降低結果的方差,避免過擬合的發生。

基本介紹

  • 中文名:套袋
  • 外文名:bagging
  • 領域:統計學
  • 功能:提高分類法的準確率
簡介,基本思想,算法步驟,實例分析,Bagging算法特性,

簡介

Bagging是通過結合幾個模型降低泛化誤差的技術。主要想法是分別訓練幾個不同的模型,然後讓所有模型表決測試樣例的輸出。這是機器學習中常規策略的一個例子,被稱為模型平均(modelaveraging)。採用這種策略的技術被稱為集成方法。
模型平均(model averaging)奏效的原因是不同的模型通常不會在測試集上產生完全相同的誤差。模型平均是一個減少泛化誤差的非常強大可靠的方法。在作為科學論文算法的基準時,它通常是不鼓勵使用的,因為任何機器學習算法都可以從模型平均中大幅獲益(以增加計算和存儲為代價)。

基本思想

1.給定一個弱學習算法,和一個訓練集;
2.單個弱學習算法準確率不高;
3.將該學習算法使用多次,得出預測函式序列,進行投票;
4.最後結果準確率將得到提高.

算法步驟

給定一個大小為n的訓練集D,Bagging算法從中均勻、有放回地(即使用自助抽樣法)選出m個大小為n'的子集Di,作為新的訓練集。在這m個訓練集上使用分類、回歸等算法,則可得到m個模型,再通過取平均值、取多數票等方法,即可得到Bagging的結果。

實例分析

  1. 實例環境
    sklearn + anconda + jupyter
  2. 實例步驟
  3. 數據:可以採用 datasets 的數據,在此作者使用的是自己整理的股票行情
  4. 訓練、測試數據歸一化
  5. 參數尋優可以使用GridSearch,在此不作贅
  6. 代碼實現
    importtimeimportpandasaspdfrompandasimportSeries,DataFramefromsklearn.ensembleimportBaggingClassifierfromsklearn.treeimportDecisionTreeClassifierfromsklearn.ensembleimportAdaBoostClassifierfromsklearn.model_selectionimportcross_val_scorefromsklearnimportpreprocessingfromsklearnimportdatasetsiris=datasets.load_iris()X,y=iris.data[:,1:3],iris.target

Bagging算法特性

    相關詞條

    熱門詞條

    聯絡我們