模型融合方法總結
阿新 • • 發佈:2019-01-31
1.簡單平均
即各模型結果的均值
2.加權平均
各模型結果*權值再求和,其中權值通過交叉驗證確定,權值之和為1
3.sigmoid平均
適合模型結果差異比較小的情況
4.bagging
從特徵,引數,樣本的多樣性差異性來做多模型融合,參考隨機森林
5.blending
首先將訓練集分為兩部分(D1和D2),一部分用於第一層(level 1)的訓練,另一部分用於第二層(level 2)的訓練。level1 在D1上訓練了多個模型,將這些模型的預測結果作為level2的feature,在D2上訓練第二層模型。
6.stacking
stacking在第一層模型中通過交叉驗證的方式生成預測的label,作為第二層線性模型的輸入特徵(第一層有幾個模型第二層就有幾個特徵),一般模型差異越大融合效果越好。實際中也可以將預測的幾個label特徵加入到原始特徵中,然後用複雜模型再次訓練。
blending和stacking的比較:
- blending是將train劃分為2份不相交的資料,一份用來訓練生成新的特徵,並將其加入到第二層繼續訓練,第二層只用到了部分資料;
- stacking將train進行cv劃分來訓練。第二層用到了第一層的全部資料,並且需要訓練大量的模型。
7.其他
- 可以從特徵構造的角度生成兩組很不相同的特徵,再進行上述融合,這樣融合的效果往往比較好(典型案例);
- 同一個模型也可以通過設定不同的引數甚至是不同的seed,產生多組預測結果,再進行上述融合。