
語音播放文章內(nèi)容
由深聲科技提供技術(shù)支持
在數(shù)據(jù)科學(xué)領(lǐng)域,沒有人不知道大名鼎鼎的kaggle——人們在這里學(xué)習(xí)交流,提高自己的技能。對于從業(yè)者來說,最好是參加預(yù)測任務(wù)競賽來提升自己。對于新手來說,一定要到kaggle網(wǎng)站實(shí)際參與一次競賽,至少我一直是這樣認(rèn)的。
在短暫的觀望后,2018年底我決定參賽。在這之后很短的時間內(nèi),我學(xué)會了大量之前不熟悉的數(shù)據(jù)科學(xué)技能,為競賽做準(zhǔn)備。令我驚奇的是,我發(fā)現(xiàn)即使對新手來說,數(shù)據(jù)競賽也是充滿樂趣的。
對新手來說,第一次參加kaggle競賽會遇到一些問題,我會盡可能的為你揭開kaggle的神秘面紗??傊蚁M茏屇愀惺艿絢aggle的魅力,讓kaggle推動你在數(shù)據(jù)科學(xué)領(lǐng)域不斷前進(jìn)。
在公共排行榜跟進(jìn)社區(qū)動態(tài)
讓我們首先從101新手賽了解kaggle平臺吧。在一般的kaggle競賽中,你一般會收到兩份數(shù)據(jù):訓(xùn)練集與測試集。訓(xùn)練集是帶有標(biāo)簽的數(shù)據(jù),測試集則不帶標(biāo)簽,你需要做的就是編寫算法對測試集的標(biāo)簽進(jìn)行預(yù)測。
在比賽過程中,參賽者可以隨時提交自己的結(jié)果,測試的部分結(jié)果(我在之后會解釋為什么只顯示部分測試結(jié)果)會被分級并展示在公共排行榜。對于參賽者來說,通過排行榜可以很好的了解自己及對手們的比賽情況。對一般的參賽者來說,僅僅是觀看比賽過程中榜首的更替也是很有趣的。
上面張圖是我根據(jù)最近的“Instant Gratification”比賽的公共排行榜制成的。每一條藍(lán)色的線代表一個團(tuán)隊(duì),橙色的線表示最佳隊(duì)伍的得分(在本次比賽中,得分為1表示最好結(jié)果)。
在公共notebook上學(xué)習(xí)共享知識
當(dāng)你看到上面的圖時,你可能會問你自己為什么這么多團(tuán)隊(duì)彼此之間的成績緊緊挨著。大量團(tuán)隊(duì)的成績集中在深藍(lán)色線條上,而這可以用kagglenotebook來解釋(以前被稱為kaggle kernels)。
從前從未聽到過kaggle筆記本么?Kaggle筆記本是建立在云端的,為社區(qū)的人們分享其預(yù)測模型的代碼和想法的平臺。對于新手來說,這是一個很棒的設(shè)置,因?yàn)椴恍枰獦?gòu)建本地環(huán)境,下載數(shù)據(jù),安裝軟件包以及陷入版本管理的泥潭中。更重要的是,這些虛擬機(jī)往往比本地筆記本電腦的性能更好。Kaggle筆記本可以私有(僅你本人或者你的隊(duì)伍成員可以看到)也可以公有。Kaggle一個令人興趣的方面是,一個真正的“游戲中的游戲”有它自己的獎勵,而對于一個人的公有筆記本有可能會被社區(qū)成員投票。
在每一個競賽中,都會有由社區(qū)成員所創(chuàng)建的公共notebook來幫助探索給定用例的基準(zhǔn)模型。數(shù)據(jù)科學(xué)家使用這些notebook進(jìn)行社區(qū)驗(yàn)證,修改其他人的工作,并逐步游覽他人的代碼。
那么,所有的Kaggle得分都匯聚于那條深藍(lán)色的線嗎?那就是當(dāng)一個突破性的內(nèi)核發(fā)布時,整個競爭領(lǐng)域的人們都采用某人的代碼或觀點(diǎn)時才會發(fā)生的。
討論論壇提供內(nèi)容
如果你不想馬上進(jìn)入內(nèi)核,那么你可以把注意力轉(zhuǎn)移到Kaggle論壇上。那是另一個入門的好地方。數(shù)據(jù)科學(xué)家在這里分享他們的想法,提出問題,并交談。
頂尖團(tuán)隊(duì)在“Jigsaw Unintended Bias in Toxicity Classification”競賽中討論的帖子
比賽結(jié)束后,獲勝的隊(duì)伍往往會發(fā)表他們的觀點(diǎn),以改善整個社區(qū)。
各種戲劇時刻來臨
每一場比賽都有其出人意料的時刻:有可能是一支落后的隊(duì)伍躍居積分榜榜首,也有可能是嚴(yán)重的數(shù)據(jù)泄露。
在一場比賽中,有很多時候,一兩支隊(duì)伍會從排行榜的其他隊(duì)伍中脫穎而出。人們將社區(qū)成員對頂級競爭對手為達(dá)到目標(biāo)所做的努力的猜測,稱之為“發(fā)現(xiàn)魔法”,參賽者常常也是競爭對手和觀察家。
追蹤冠軍競賽公開排行榜(分?jǐn)?shù)越低越好)
在最近的一些比賽中,我創(chuàng)造了一些有趣的notebook,可以隨時間推移追蹤公共排行榜。在這上面的“CHAMPS Molecular Properties”競賽中,你可以看到一個團(tuán)隊(duì)已經(jīng)找到了一種從人群中抽身的示例。
合并隊(duì)伍來提高排名
合并隊(duì)伍在Kaggle比賽中是重要且普遍的策略。它允許數(shù)據(jù)科學(xué)家在一個安全的環(huán)境中進(jìn)行協(xié)作,并在其預(yù)測模型中獲得協(xié)同動力。我通常通過設(shè)定個人目標(biāo)并專注于單項(xiàng)成功來開始比賽。一旦我有了改進(jìn)我的模型的想法,我就會考慮對其進(jìn)行擴(kuò)展,并與其他人(但不是太多其他人-谷歌“林格曼效應(yīng)”)一起努力。
在“Santander Customer Transaction Prediction”比賽的排行榜上名列前茅的所有隊(duì)伍
Kaggle隊(duì)伍合并和職業(yè)生活的其他領(lǐng)域合作項(xiàng)目并沒有什么不同——它需要信任、道德取向和合作心態(tài)。另外一方面,在比賽中solo被廣泛認(rèn)為是kaggle最困難的事情之一——事實(shí)上,要想獲得比賽大師級的地位,你必須獨(dú)自一枚金牌,總共獲得5枚金牌。
最終結(jié)果的波動
在任何給定的Kaggle競賽中,公共排行榜只在測試集的一部分進(jìn)行評分。有可能無意中創(chuàng)建的模型在公開評分的測試集中表現(xiàn)的非常好,但它們的模型精度實(shí)際上并不能很好的體現(xiàn)在私有排行榜中。這就是為什么有一個不僅準(zhǔn)確而且能很好地推廣到公共和私人排行榜的模型是很重要的。
社區(qū)將這種現(xiàn)象稱為“在公共排行榜上過擬合”。當(dāng)最終結(jié)果被制成表格時,結(jié)果的波動有時會非常顯著!上圖顯示了最近一次比賽中排名前10的公共和私人團(tuán)隊(duì)——你可以看到只有一支來自公共前十名的團(tuán)隊(duì)留在了最后的積分榜上。這個例子實(shí)際上是相對溫和的——相對于一些著名的波動,在這些著名的波動中,有的團(tuán)隊(duì)發(fā)現(xiàn)自己的排名變化了數(shù)百個,有時甚至是數(shù)千個位置。
在健康的競爭中娛樂、學(xué)習(xí)的社區(qū)
排行榜,notebook、論壇、戲劇性問題、團(tuán)隊(duì)以及最終結(jié)果:如果你決定參加Kaggle競賽,你會遇到很多我想不出來的問題。我想不出比加入kaggle更好的方法來提高我們的機(jī)器學(xué)習(xí)技能。
雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))