在Kaggle學(xué)術(shù)活動(dòng)中直接將多個(gè)模型的預(yù)測(cè)結(jié)果進(jìn)行加權(quán)是一種常見(jiàn)的操作,這種操作可以增加模型的精度,也可以增加結(jié)果的穩(wěn)定性。但對(duì)不同的任務(wù),其實(shí)加權(quán)方法存在一定的區(qū)別。對(duì)于分類(lèi)、回歸、排序,對(duì)結(jié)果進(jìn)行集成也存在區(qū)別。
分類(lèi)任務(wù):直接投票;
回歸任務(wù):加權(quán)求和;
排序任務(wù):排序加權(quán);
本次我們將討論二分類(lèi)任務(wù)中的集成細(xì)節(jié),如果比賽提交的是概率,使用AUC進(jìn)評(píng)分的方式。
#?真實(shí)標(biāo)簽
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)
此時(shí)三個(gè)模型的AUC精度分別為:
0.7295611075760666
0.7629832839094122
0.7522801035701279
方法1:加權(quán)平均此種方式非常直接,可以直接平均也可以調(diào)整權(quán)重。
權(quán)重的確定方式有如下幾種:人工確定,通過(guò)精度反饋調(diào)整;從精度確定權(quán)重(精度高權(quán)重高);通過(guò)1層的stacking確定權(quán)重;
方法2:幾何平均幾何平均可對(duì)形態(tài)進(jìn)行轉(zhuǎn)換,對(duì)概率進(jìn)行校準(zhǔn)。權(quán)重確定的方式參考上面加權(quán)平均的方法。
方法3:排序平均通過(guò)rankdata函數(shù)可以求得概率的次序,將次序從新進(jìn)行歸一化轉(zhuǎn)為0-1范圍。
from?scipy.stats?import?rankdata
rankdata([1,3,2])
#?array([1.,?3.,?2.])
排序平均的方法如下:
效果對(duì)比加權(quán)平均AUC:0.8650706942160006
集合平均AUC:0.8575510547104799
排序平均AUC:0.8664093421215869
排序平均的結(jié)果優(yōu)于直接加權(quán),通過(guò)重新對(duì)次序進(jìn)行歸一化的效果,可以避免模型概率輸出分布不一致的情況。
掃碼獲取備賽計(jì)劃,考前查缺補(bǔ)漏、重點(diǎn)沖刺
【免費(fèi)領(lǐng)取】相關(guān)真題及解析,還有一對(duì)一學(xué)術(shù)活動(dòng)規(guī)劃!


? 2025. All Rights Reserved. 滬ICP備2023009024號(hào)-1