在Kaggle學術活動中直接將多個模型的預測結果進行加權是一種常見的操作,這種操作可以增加模型的精度,也可以增加結果的穩定性。但對不同的任務,其實加權方法存在一定的區別。對于分類、回歸、排序,對結果進行集成也存在區別。
分類任務:直接投票;
回歸任務:加權求和;
排序任務:排序加權;
本次我們將討論二分類任務中的集成細節,如果比賽提交的是概率,使用AUC進評分的方式。
#?真實標簽
t_true?=?np.random.randint(0,?2,?size=1000)
#?模型1
pred1?=?t_true?+?np.random.randn(1000)
pred1?=?np.clip(pred1,?0,?1)
#?模型2
pred2?=?t_true?+?np.random.randn(1000)?-?0.2
pred2?=?np.clip(pred2,?0,?1)
#?模型3
pred3?=?t_true?+?np.random.randn(1000)?-?0.1
pred3?=?np.clip(pred3,?0,?1)
此時三個模型的AUC精度分別為:
0.7295611075760666
0.7629832839094122
0.7522801035701279
方法1:加權平均此種方式非常直接,可以直接平均也可以調整權重。
權重的確定方式有如下幾種:人工確定,通過精度反饋調整;從精度確定權重(精度高權重高);通過1層的stacking確定權重;
方法2:幾何平均幾何平均可對形態進行轉換,對概率進行校準。權重確定的方式參考上面加權平均的方法。
方法3:排序平均通過rankdata函數可以求得概率的次序,將次序從新進行歸一化轉為0-1范圍。
from?scipy.stats?import?rankdata
rankdata([1,3,2])
#?array([1.,?3.,?2.])
排序平均的方法如下:
效果對比加權平均AUC:0.8650706942160006
集合平均AUC:0.8575510547104799
排序平均AUC:0.8664093421215869
排序平均的結果優于直接加權,通過重新對次序進行歸一化的效果,可以避免模型概率輸出分布不一致的情況。
掃碼獲取備賽計劃,考前查缺補漏、重點沖刺
【免費領取】相關真題及解析,還有一對一學術活動規劃!


? 2026. All Rights Reserved. 滬ICP備2023009024號-1