說明
1、模型集成是指將一系列不同模型的預測結果集成在一起,從而獲得更好的預測結果。
2、對于模型集成來說,模型的多樣性非常重要。Diversityisstrength.用于集成的模型應盡可能好,同時應盡可能不同。
同一的網絡,使用不同的隨機初始化,多次獨立訓練,然后集成,意義不大。更好的方法是使用結構非常不同的模型進行集成,這樣每個模型的偏差就會在不同的方向上相互抵消,結果就會更加穩(wěn)定準確。
實例
可以用多種不同的方法來集成它們,最簡單的辦法是,取平均:
final_preds = 0.25 * (preds_a + preds_b + preds_c + preds_d)
由于每一個模型的性能會有差距,所以更好的辦法是加權平均:
final_preds = 0.5 * preds_a + 0.25 * preds_b + 0.1 * preds_c + 0.15 * preds_d
知識點擴充:
當我們想在數據集上構建許多個模型,便可考慮使用集成的方法:
1. 掛袋法:并行進行,掛袋法集成中的每一個模型只使用訓練集的一部分,它們的思路是減少對數據產生過度擬合,但前提是每個模型的差別不能太大,掛袋法對如線性回歸之類的線性預測器無效。對于一些很穩(wěn)定的模型,掛袋法的效果不明顯,它適合那些對很小的改變也十分敏感的分類器,例如決策樹,它很不穩(wěn)定,未剪枝決策樹就十分適合掛袋法。而KNN分類器則是一種很穩(wěn)定的模型,不過我們可以使用隨機子空間方法,為最近鄰方法引入不穩(wěn)定性。
2. 賦權重提升法:順序進行,產生一個逐步復雜的模型序列,它按順序基于前一個模型的錯誤訓練新的模型,每次訓練得到的模型被賦予一個權重,這個權重依據模型再給定數據的效果而定。最終的預測值產生時,這些權重值就是每個特定模型對于最終輸出結果的影響力的判據。整體來說就是把錯誤率低的分類器賦予更大的權重。
3. 梯度提升法:由于賦權提升法使根據賦予錯誤實例更大的權重,然后是的下一個模型更可能選中這些錯誤分類的實例再次訓練,而這也存在不足之處,這里梯度提升法采用梯度而不是權重來鑒別缺陷,基于調整殘差(真實值y與預測值y')來完善上一個模型的缺陷。
到此這篇關于python模型集成知識點總結的文章就介紹到這了,更多相關python模型集成是什么內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!