《機器學習Python實現_10_09_整合學習_bagging_stacking原理及實現》

努力的番茄發表於2021-05-06

介紹

前面對模型的組合主要用了兩種方式:

(1)一種是平均/投票;

(2)另外一種是加權平均/投票;

所以,我們有時就會陷入糾結,是平均的好,還是加權的好,那如果是加權,權重又該如何分配的好?如果我們在這些模型預測的結果上再訓練一個模型對結果做預測,那麼豈不是就免除了這些煩惱;而訓練後,也可以方便的獲取這些基分類器的權重(等價於下一層級模型的特徵權重),且結果也更為客觀!簡單流程如下:

png

當然實際訓練時回更加細緻和複雜,比如:

(1)通常會對資料做\(k\)折切分,切分為\(k\)份,然後將每個基學習器擴充套件為\(k\)個基學習器,每個學習器學習\(k-1\)份訓練資料;

(2)對分類器,預測結果通常會取概率分佈,這樣可以提取更多的資訊;

(3)上面的結構還可以無限疊加,構建更加複雜的stacking結構,比如對新的拼接特徵又訓練幾組基分類器,然後再組合...

stacking的程式碼實現,跳轉>>>

相關文章