日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

圖解Blending&Stacking

 印度阿三17 2019-04-13

模型融合有許多方法,簡單的有平均融合,加權(quán)融合,投票融合等方法;較為復(fù)雜的就是Blending和Stacking了。后面兩種模型融合方法理解起來比較困難,本文才有圖解方式讓讀者可以更好的理解這兩種融合方法。為了方便起見,本文只介紹基礎(chǔ)的二層融合。由于網(wǎng)上很多的代碼使用的是較早的sklearn的版本,其中的StratifiedKFold 使用方法有所改變,因此本文在sklearn 0.20上重新實現(xiàn)了這兩種方法。

1. Blending

1.1 Blending 流程

Blending相較于Stacking來說要簡單一些,其流程大致分為以下幾步:

  1. 將數(shù)據(jù)劃分為訓(xùn)練集和測試集(test_set),其中訓(xùn)練集需要再次劃分為訓(xùn)練集(train_set)和驗證集(val_set);

  2. 創(chuàng)建第一層的多個模型,這些模型可以使同質(zhì)的也可以是異質(zhì)的;

  3. 使用train_set訓(xùn)練步驟2中的多個模型,然后用訓(xùn)練好的模型預(yù)測val_set和test_set得到val_predict, test_predict1;

  4. 創(chuàng)建第二層的模型,使用val_predict作為訓(xùn)練集訓(xùn)練第二層的模型;

  5. 使用第二層訓(xùn)練好的模型對第二層測試集test_predict1進行預(yù)測,該結(jié)果為整個測試集的結(jié)果

1.2 Blending 圖解

Blending代碼實現(xiàn)

2. Stacking

2.1 Stacking 流程

Stacking流程比較復(fù)雜因為涉及到交叉驗證的過程,其流程與Blending類似,具體如下:

  1. 將數(shù)據(jù)劃分為訓(xùn)練集和測試集(test_set),對訓(xùn)練集進行劃分為K個大小相似的集合,取其中一份作為驗證集val_set,其余的為訓(xùn)練集train_set;

  2. 創(chuàng)建第一層的多個模型,這些模型可以使同質(zhì)的也可以是異質(zhì)的;

  3. 對于每一個模型來說,train_set和val_set是不一樣的,如2.2圖所示;然后利用各自的train_set訓(xùn)練各自的模型,訓(xùn)練好的模型對各自的val_set和test_set進行預(yù)測,得到val_predict和test_predict;

  4. 創(chuàng)建第二層的模型,將每個模型對應(yīng)的val_predict拼接起來作為第二層的訓(xùn)練集,將所有模型的test_predict取平均值作為第二層的測試集;用訓(xùn)練好的第二層模型對第二層的測試集進行預(yù)測,得到的結(jié)果即為整個測試集的結(jié)果

2.2 Stacking 圖解

Stacking代碼實現(xiàn)

3. Blending與Stacking對比

Blending的優(yōu)點在于:

1.比stacking簡單(因為不用進行k次的交叉驗證來獲得stacker feature)

2.避開了一個信息泄露問題:generlizers和stacker使用了不一樣的數(shù)據(jù)集

3.在團隊建模過程中,不需要給隊友分享自己的隨機種子

而缺點在于:

1.使用了很少的數(shù)據(jù)(是劃分hold-out作為測試集,并非cv)

2.blender可能會過擬合(其實大概率是第一點導(dǎo)致的)

3.stacking使用多次的CV會比較穩(wěn)健

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多