久久精品无码视频|精产国品色情一二三区在线观看|国产性爱自拍视频|亚洲av韩国av|日韩美女一级AAA大片|少妇无码激情诱惑|日韩AV在线播放有码|一级黄片一级黄片|av上一页亲亲久草av|aaa在线观看国产做爱

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給汪思穎
發(fā)送

3

Kaggle機器學(xué)習(xí)之模型融合(stacking)心得

本文作者: 汪思穎 2017-09-29 19:22
導(dǎo)語:本文適用于被stacking折磨的死去活來的新手

雷鋒網(wǎng) AI科技評論按,本文作者吉他手,雷鋒網(wǎng) AI科技評論獲其授權(quán)發(fā)布。

此文道出了本人學(xué)習(xí)Stacking入門級應(yīng)用的心路歷程。

在學(xué)習(xí)過程中感謝@貝爾塔模型融合方法,以及如何在 Kaggle 首戰(zhàn)中進入前 10%這篇文章(作者是章凌豪)。對于兩位提供的信息,感激不盡。同時還有Kaggle上一些關(guān)于ensemble的文章和代碼,比如這篇(https://www.kaggle.com/arthurtok/introduction-to-ensembling-stacking-in-python)。

本文適用于被stacking折磨的死去活來的新手,在網(wǎng)上為數(shù)不多的stacking內(nèi)容里,我已經(jīng)假設(shè)你早已經(jīng)看過了上述所提到的那幾篇有用的文章了。但是,看完之后內(nèi)心還是臥槽的。我希望下面的內(nèi)容能成為,你在學(xué)習(xí)stacking的曲折道路上的一個小火把,給你提供一些微弱的光亮。

本文以Kaggle的Titanic(泰坦尼克預(yù)測)入門比賽來講解stacking的應(yīng)用(兩層?。?。

數(shù)據(jù)的行數(shù):train.csv有890行,也就是890個人,test.csv有418行(418個人)。

而數(shù)據(jù)的列數(shù)就看你保留了多少個feature了,因人而異。我自己的train保留了 7+1(1是預(yù)測列)。

在網(wǎng)上為數(shù)不多的stacking內(nèi)容里,相信你早看過了這張圖:Kaggle機器學(xué)習(xí)之模型融合(stacking)心得

這張圖,如果你能一下子就能看懂,那就OK。

如果一下子看不懂,就麻煩了,在接下來的一段時間內(nèi),你就會臥槽臥槽地持續(xù)懵逼......

因為這張圖極具‘誤導(dǎo)性’。(注意!我沒說這圖是錯的,盡管它就是錯的?。?!但是在網(wǎng)上為數(shù)不多教學(xué)里有張無碼圖就不錯啦,感恩吧,我這個小弱雞)。

我把圖改了一下:

Kaggle機器學(xué)習(xí)之模型融合(stacking)心得對于每一輪的 5-fold,Model 1都要做滿5次的訓(xùn)練和預(yù)測。

Titanic 栗子:

Train Data有890行。(請對應(yīng)圖中的上層部分)

每1次的fold,都會生成 713行 小train, 178行 小test。我們用Model 1來訓(xùn)練 713行的小train,然后預(yù)測 178行 小test。預(yù)測的結(jié)果是長度為 178 的預(yù)測值。

這樣的動作走5次! 長度為178 的預(yù)測值 X 5 = 890 預(yù)測值,剛好和Train data長度吻合。這個890預(yù)測值是Model 1產(chǎn)生的,我們先存著,因為,一會讓它將是第二層模型的訓(xùn)練來源。

重點:這一步產(chǎn)生的預(yù)測值我們可以轉(zhuǎn)成 890 X 1 (890 行,1列),記作 P1 (大寫P)

接著說 Test Data 有 418 行。(請對應(yīng)圖中的下層部分,對對對,綠綠的那些框框)

每1次的fold,713行 小train訓(xùn)練出來的Model 1要去預(yù)測我們?nèi)康腡est Data(全部!因為Test Data沒有加入5-fold,所以每次都是全部?。4藭r,Model 1的預(yù)測結(jié)果是長度為418的預(yù)測值。

這樣的動作走5次!我們可以得到一個 5 X 418 的預(yù)測值矩陣。然后我們根據(jù)行來就平均值,最后得到一個 1 X 418 的平均預(yù)測值。

重點:這一步產(chǎn)生的預(yù)測值我們可以轉(zhuǎn)成 418 X 1 (418行,1列),記作 p1 (小寫p)

走到這里,你的第一層的Model 1完成了它的使命。

第一層還會有其他Model的,比如Model 2,同樣的走一遍, 我們有可以得到  890 X 1  (P2) 和  418 X 1 (p2) 列預(yù)測值。

這樣吧,假設(shè)你第一層有3個模型,這樣你就會得到:

來自5-fold的預(yù)測值矩陣 890 X 3,(P1,P2, P3)  和 來自Test Data預(yù)測值矩陣 418 X 3, (p1, p2, p3)。

-----------------------------------------

到第二層了..................

來自5-fold的預(yù)測值矩陣 890 X 3 作為你的Train Data,訓(xùn)練第二層的模型
來自Test Data預(yù)測值矩陣 418 X 3 就是你的Test Data,用訓(xùn)練好的模型來預(yù)測他們吧。

---------------------------------------

最后 ,放出一張Python的Code,在網(wǎng)上為數(shù)不多的stacking內(nèi)容里, 這個幾行的code你也早就看過了吧,我之前一直卡在這里,現(xiàn)在加上一點點注解,希望對你有幫助:

Kaggle機器學(xué)習(xí)之模型融合(stacking)心得

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

Kaggle機器學(xué)習(xí)之模型融合(stacking)心得

分享:
相關(guān)文章

編輯

關(guān)注AI學(xué)術(shù),例如論文
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說