機器學習_學習筆記系列(32):引導聚集回歸(Bagging Regressor)
上一回我們提到bagging其方法是運用bootstrap sampling的方法取樣資料,然後再用aggregation把所有的sub-model合併起來,最後得到我們的bagging model。
而在那篇當中,我們也展示了如何運用bagging解決分類上的問題。OK那既然分類可以,回歸也一定行得通。
所以在這邊我們的資料點,故意設計成二次方多項式+sin函數
然後在這裡我們用Polynomial Kernel套入Kernel Ridge Regression回歸
我們可以看到因為bagging運算中,有些點我們沒有取到,所以最後的回歸線嚴重偏移我們的數據點,不過我們再來看看sub-models和bagging的表現
我們可以看到bagging雖然在訓練集和測試集的表現不是最好的,但是綜合起來看bagging的表現在這12個sub-models中算是很不錯的了。
而在訓練model的時候,我們常會碰到一個問題,就是有些model在訓練集表現很好,但是有嚴重的overfitting問題,導致測試集表現很差。也有些model雖然訓練集表現普通,但是測試集表現很好,但是仔細看才發現其實是測試集資料太過集中。
所以集成學習最棒的就是,我們綜合這些model,雖然不能保證我們找到的model是最好的,但可以確定aggregation後的model表現至少是還不錯的。
Python Sample Code:
Github:
Reference:
[1] Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., … & Duchesnay, E. (2011). Scikit-learn: Machine learning in Python. the Journal of machine Learning research, 12, 2825–2830.