1. 程式人生 > >整合學習筆記

整合學習筆記

整合模型需要各種各樣的子模型:
這裡寫圖片描述

但同時我們又不需要很高的準確率:
隨著子模型地增加,總體準確率上升。
這裡寫圖片描述
這裡寫圖片描述

具體地,建立差異(每個子模型是看樣本資料的一部分)有兩種方式:
這裡寫圖片描述

下面用程式碼來實現一個整合學習:
準備資料:
這裡寫圖片描述
使用Bagging訓練資料:
n_estimators 表示子模型的個數,max_samples表示每個子模型的樣本數目,bootstrap表示是Bagging或者Pasting
這裡寫圖片描述

對於Bagging方法來說,實際上約有三分之一的資料取不到:
這裡寫圖片描述
那麼,我們可以直接用這部分的資料來當作測試樣本,加入oob_score屬性即可,程式碼如下:
這裡寫圖片描述

關於Bagging的更多探討:
這裡寫圖片描述

下面開始介紹Boosting:
Boosting中子模型之間不是獨立的,每個模型都在嘗試增強整體的效果。
Ada Boosting:
這裡寫圖片描述
這裡寫圖片描述

Gradient Boosting:
這種方法是每次對誤差值進行訓練。
這裡寫圖片描述
這裡寫圖片描述