丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

本文作者: AI研習(xí)社-譯站 2018-11-22 15:17
導(dǎo)語(yǔ):參加kaggle競(jìng)賽確實(shí)是一件非常有趣而且令人上癮的事情。

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :

My secret sauce to be in top 2% of a kaggle competition

作者 | Abhay Pawar

翻譯 | 就2    校對(duì) | 醬番梨

整理 | 志豪

原文鏈接:

https://towardsdatascience.com/my-secret-sauce-to-be-in-top-2-of-a-kaggle-competition-57cff0677d3c

參加kaggle競(jìng)賽確實(shí)是一件非常有趣而且令人上癮的事情。

前幾年,我找到了一些標(biāo)準(zhǔn)的流程來(lái)探索特征進(jìn)而建立起更好的機(jī)器學(xué)習(xí)模型。這些簡(jiǎn)單但是強(qiáng)大的技術(shù)幫我在 Instacart 網(wǎng)站購(gòu)物車(chē)分析競(jìng)賽中排進(jìn)前2%,而且在其他地方,這這些方法也非常有用。所以,讓我們開(kāi)始吧!

在一堆數(shù)據(jù)上,最重要的是,你要很好的理解這些特征。通過(guò)查看模型的特征依賴(lài)圖可以幫助你理解模型的輸出--隨著特征的變化。

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

但是,上面這些圖存在的問(wèn)題是:他們是采用訓(xùn)練過(guò)的模型創(chuàng)建的。

如果我們可以直接從訓(xùn)練數(shù)據(jù)上直接創(chuàng)建,那就可以幫助我們更好的理解基礎(chǔ)數(shù)據(jù)。實(shí)際,它可以幫你完成下面的事情:

  • 特征的理解

  • 識(shí)別噪聲特征(最有趣的部分!)

  • 特征工程

  • 重要特征選擇

  • 特征的調(diào)試

  • 遺漏檢測(cè)和理解

  • 模型監(jiān)控

為了便于于訪問(wèn),我決定將這些技術(shù)放到python 包  featexp  中,在本文中,我們將了解如何將這些技術(shù)用于特征探索。我們將在Kaggle上使用來(lái)自 Home Credit Default Risk  房屋信用違約風(fēng)險(xiǎn)競(jìng)賽的應(yīng)用程序數(shù)據(jù)集。競(jìng)賽的目標(biāo)是利用提供給他們的數(shù)據(jù)來(lái)預(yù)測(cè)違約者。


  1、特征的理解

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

特征與目標(biāo)的散點(diǎn)圖并沒(méi)有幫助

如果因變量(目標(biāo))是二元的,散點(diǎn)圖就不起作用,因?yàn)樗悬c(diǎn)都在0或1處。對(duì)于連續(xù)目標(biāo),太多的數(shù)據(jù)點(diǎn)使得很難理解目標(biāo)和特征趨勢(shì)。Featexp 創(chuàng)建了更好的圖標(biāo)來(lái)幫助解決這個(gè)問(wèn)題。讓我們?cè)囋嚢?

from featexp import get_univariate_plots
# Plots drawn for all features if nothing is passed in feature_list parameter.
get_univariate_plots(data=data_train, target_col='target',
                    features_list=['DAYS_BIRTH'], bins=10)

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

DAYS_BIRTH (age)的特征與目標(biāo)圖

右側(cè) Featexp 創(chuàng)建了相同人數(shù)的柱狀圖 (x軸)。然后,它計(jì)算每個(gè)柱子中的目標(biāo)均值,并將其繪制在上面左邊的圖中。在我們的例子中,Y坐標(biāo) target是平均的違約率。

這個(gè)圖告訴我們,DAYS_BIRTH(較高年齡)的負(fù)值較高的客戶(hù)違約率較低。這是有道理的,因?yàn)槟贻p人通常更容易違約。這些圖幫助我們理解這個(gè)特征告訴了客戶(hù)什么,以及它將如何影響模型。右邊的圖顯示了每個(gè)柱子里顧客的數(shù)量。


  2、識(shí)別噪聲特征

噪聲特征會(huì)導(dǎo)致過(guò)度擬合和識(shí)別它們并不容易。在featexp中,您可以通過(guò)測(cè)試集(或驗(yàn)證集),并比較訓(xùn)練/測(cè)試中的特征趨勢(shì),以識(shí)別噪聲趨勢(shì)。

get_univariate_plots(data=data_train, target_col='target', data_test=data_test, features_list=['DAYS_EMPLOYED'])

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

訓(xùn)練集與試驗(yàn)集特征趨勢(shì)的比較

Featexp計(jì)算了在這些圖上顯示的兩個(gè)指標(biāo),這些圖有助于測(cè)量噪聲:

  1. 趨勢(shì)相關(guān)(見(jiàn)測(cè)試圖): 如果一個(gè)特性在訓(xùn)練集和評(píng)估集上不具有相同的趨勢(shì)w.r.t.目標(biāo),它會(huì)導(dǎo)致過(guò)度擬合。這是因?yàn)槟P驼趯W(xué)習(xí)一些在測(cè)試數(shù)據(jù)中不適用的東西。趨勢(shì)相關(guān)性有助于理解 訓(xùn)練集  / 訓(xùn)練集 趨勢(shì)的相似性,并用于計(jì)算訓(xùn)練集和測(cè)試集的平均目標(biāo)值。上述特征具有99%的相關(guān)性。似乎不是噪聲!

  2. 趨勢(shì)變化: 趨勢(shì)方向的突然重復(fù)變化可能意味著噪聲。但是,這種趨勢(shì)變化也可能發(fā)生,因?yàn)樵撝颖硎镜娜巳涸谄渌匦苑矫婢哂蟹浅2煌奶卣?,因此,它默認(rèn)的違約率無(wú)法和其他人群相比。

下面的特征不具有相同的趨勢(shì),因此具有低的趨勢(shì)相關(guān)性85%。這兩個(gè)指標(biāo)可以用來(lái)去掉噪聲特征。

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

噪聲特征示例

當(dāng)有很多特征并且它們彼此相關(guān)時(shí),降低-低趨勢(shì)相關(guān)特征效果很好。它可以減少過(guò)擬合和其他相關(guān)特性,避免信息丟失。不要?jiǎng)h除太多重要的特性也很重要,因?yàn)檫@可能導(dǎo)致性能下降。另外,您不能使用特性重要性來(lái)識(shí)別這些有噪聲的特性,因?yàn)樗鼈兛赡芟喈?dāng)重要,但仍然非常有噪聲!

使用來(lái)自不同時(shí)間段的測(cè)試數(shù)據(jù)會(huì)更有效,因?yàn)檫@樣您就可以確定特性趨勢(shì)是否會(huì)隨著時(shí)間的推移而保持不變。

featexp中的get_trend_stats()函數(shù)會(huì)返回一個(gè)具有趨勢(shì)關(guān)聯(lián)和每個(gè)特性變化的dataframe。

from featexp import get_trend_stats
stats = get_trend_stats(data=data_train, target_col='target', data_test=data_test)

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

get_trend_stats() 返回Dataframe

讓我們嘗試在數(shù)據(jù)中刪除趨勢(shì)相關(guān)性較低的特征,看看結(jié)果如何改進(jìn)。

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

使用趨勢(shì)相關(guān)不同特征選擇下的AUC

我們可以看到,特征趨勢(shì)相關(guān)閾值越高,特征下降,排行榜上(LB) AUC越高。不刪除重要的特性進(jìn)一步將 AUC提高到0.74。有趣的是,測(cè)試AUC的變化沒(méi)有 排行  AUC大。完整的代碼可以在 featexp_demo  筆記本中找到。


  3.特征工程

通過(guò)查看這些圖,有助于創(chuàng)建更好的特征。僅僅是對(duì)數(shù)據(jù)有更好的理解就可以產(chǎn)生更好的特征工程。但是,除此之外,它還可以幫助您改進(jìn)現(xiàn)有的特征。讓我們看看EXT_SOURCE_1的另一個(gè)特征:

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

特征 與 EXT_SOURCE_1的目標(biāo)圖

EXT_SOURCE_1的高價(jià)值客戶(hù)的違約率很低。但是,第一個(gè)柱(大約8%的默認(rèn)值)沒(méi)有遵循特征趨勢(shì)(先上升后下降)。它只有-99.985左右的負(fù)值,而且人口眾多。這可能意味著這些值是特殊值,因此不遵循特征趨勢(shì)。幸運(yùn)的是,非線性模型學(xué)習(xí)這種關(guān)系不會(huì)有問(wèn)題。但是,對(duì)于邏輯回歸這樣的線性模型,這些特殊的值和空值(將作為一個(gè)單獨(dú)的 柱  顯示)應(yīng)該由一個(gè)具有相似違約率的 柱  賦值,而不是簡(jiǎn)單地用特征均值進(jìn)行賦值。


  4. 重要特征(特征選擇)

Featexp還幫助您判斷特征的重要性。DAYS_BIRTH和EXT_SOURCE_1都有很好的趨勢(shì)。但是,EXT_SOURCE_1的種群集中在特殊的值柱子中,這說(shuō)明它可能不如DAYS_BIRTH重要。基于XGBoost模型的特征重要性,DAYS_BIRTH實(shí)際上比EXT_SOURCE_1更重要。


  5、特征調(diào)試

查看Featexp的圖可以通過(guò)以下兩種方式幫助您捕獲復(fù)雜特征工程代碼中的bug:

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

零變異特征只顯示一個(gè)柱子

  • 1、檢查特征的總體分布是否正確。我個(gè)人曾多次遇到過(guò)類(lèi)似于上述的極端情況,都是由于小的bug引起的。

  • 2、在查看這些圖之前,總是假設(shè)特征趨勢(shì)是什么樣子。特征趨勢(shì)看起來(lái)不像您預(yù)期的那樣,可能會(huì)提示一些問(wèn)題。坦率地說(shuō),這種假設(shè)趨勢(shì)的過(guò)程使得構(gòu)建ML模型更加有趣!


  6、遺漏特征檢測(cè)

從目標(biāo)到特征的數(shù)據(jù)遺漏將導(dǎo)致過(guò)擬合。 遺漏的特征一般具有很高的重要性。但是,理解為什么在一個(gè)特征中發(fā)生泄漏是困難的。查看特征圖可以幫助您實(shí)現(xiàn)這一點(diǎn)。

下面的特征在' null ' 柱子中有0%的默認(rèn)值,在所有其他的柱子中有100%的默認(rèn)值。顯然,這是遺漏的極端情況。這個(gè)特征只有在客戶(hù)默認(rèn)時(shí)才有值。那么這個(gè)特征是什么,這可能是由于一個(gè)bug,或者該特征實(shí)際上只是為默認(rèn)用戶(hù)填充的(在這種情況下,它應(yīng)該被刪除)。了解遺漏特征的問(wèn)題將導(dǎo)致更快的調(diào)試。

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

理解為什么一個(gè)特征是應(yīng)該要去掉的


  7、模型的監(jiān)控

由于featexp計(jì)算兩個(gè)數(shù)據(jù)集之間的趨勢(shì)相關(guān)性,因此它很容易用于模型監(jiān)控。每次重新訓(xùn)練模型時(shí),新的訓(xùn)練數(shù)據(jù)可以與經(jīng)過(guò)良好測(cè)試的訓(xùn)練數(shù)據(jù)進(jìn)行比較(通常是首次構(gòu)建模型時(shí)的訓(xùn)練數(shù)據(jù))。趨勢(shì)相關(guān)可以幫助您監(jiān)控特征w.r.t.是否有任何變化,它與目標(biāo)的關(guān)系。

· · ·

做這些簡(jiǎn)單的事情總是幫助我在現(xiàn)實(shí)生活和kaggle比賽上建立更好的模型。使用featexp需要15分鐘來(lái)查看這些說(shuō)明文檔,這絕對(duì)是值得的,因?yàn)樵谀侵竽憔筒粫?huì)找不到方向了。

對(duì)于探索特征,您還發(fā)現(xiàn)了什么其他有用的技巧和提示?我一直在尋找反饋。在評(píng)論中讓我知道,或者通過(guò)abhayspawar@gmail.com聯(lián)系我。感謝您的閱讀!雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)


想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

長(zhǎng)按鏈接點(diǎn)擊打開(kāi)或點(diǎn)擊【進(jìn)入Kaggle競(jìng)賽前 2% 的秘訣】:

http://ai.yanxishe.com/page/TextTranslation/1201


AI研習(xí)社每日更新精彩內(nèi)容,觀看更多精彩內(nèi)容:

這 25 個(gè)開(kāi)源機(jī)器學(xué)習(xí)項(xiàng)目,一般人我不告訴 Ta

自學(xué)習(xí) AI 智能體第二部分:深度 Q 學(xué)習(xí)

機(jī)器學(xué)習(xí) 2019:AI 發(fā)展趨勢(shì)分析

領(lǐng)域自適應(yīng)發(fā)展回顧:2017


等你來(lái)譯:

2018.11十大機(jī)器學(xué)習(xí)熱門(mén)網(wǎng)文

AI出錯(cuò)孰之過(guò)?永遠(yuǎn)不要盲目相信ML/AI

如何用機(jī)器學(xué)習(xí)創(chuàng)造價(jià)值?

機(jī)器學(xué)習(xí)一旦學(xué)會(huì)了識(shí)別電影吸煙鏡頭,還怕它識(shí)別不了別的嗎?


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

進(jìn)入 kaggle 競(jìng)賽前 2% 的秘訣

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

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識(shí),讓語(yǔ)言不再成為學(xué)習(xí)知識(shí)的門(mén)檻。(原雷鋒字幕組)
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話(huà)
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)