Kaggle入门五大步,跟着做就对了
Kaggle是一個(gè)流行的數(shù)據(jù)科學(xué)競賽平臺,這個(gè)平臺非常龐大,如果你是一個(gè)初學(xué)者,很可能會不知所措,不知道如何開始成為一個(gè)優(yōu)秀的數(shù)據(jù)科學(xué)家的旅程。都會猶豫不決,這并不奇怪。很多人都會有相似的擔(dān)心,比如:
我應(yīng)該如何開始?
我的對手是經(jīng)驗(yàn)豐富的博士生研究人員嗎?
如果我沒有實(shí)際的勝算,值得參加比賽嗎?
這就是數(shù)據(jù)科學(xué)的意義所在嗎?(如果我在Kaggle上做得不好,我在數(shù)據(jù)科學(xué)領(lǐng)域有前途嗎?)
我怎樣才能在未來提高我的排名?
如果你曾有過這些問題,這篇文章中,我將詳細(xì)介紹關(guān)于入門、提高技能和享受在Kaggle上的時(shí)間的所有知識。
Kaggle競賽
在開始前,需要先了解Kaggle競賽整體的設(shè)置。Kaggle作為一個(gè)為開發(fā)商和數(shù)據(jù)科學(xué)家提供舉辦機(jī)器學(xué)習(xí)競賽、托管數(shù)據(jù)庫、編寫和分享代碼的平臺,從本質(zhì)上講,它的比賽必須滿足幾個(gè)標(biāo)準(zhǔn)。
所參與項(xiàng)目必須是困難的。為了獲得最好的投資回報(bào),主辦公司會提交他們最大的、最明顯的問題。而你所給出的解決方案必須是新的。為了贏得最新的比賽,你通常需要進(jìn)行擴(kuò)展研究,定制算法,訓(xùn)練高級模型等。而且性能必須是相對的。比賽必須產(chǎn)生一個(gè)贏家,所以你的解決方案將與其他人的解決方案進(jìn)行評分。
Kaggle值得嗎?
盡管Kaggle和典型的數(shù)據(jù)科學(xué)有區(qū)別,但對于初學(xué)者來說,Kaggle仍然可以是一個(gè)很好的學(xué)習(xí)工具。
每個(gè)比賽都是自成一體的。你不需要為自己的項(xiàng)目劃定范圍和收集數(shù)據(jù),這讓你可以專注于其他技能。練習(xí)就是練習(xí)。學(xué)習(xí)數(shù)據(jù)科學(xué)的最好方法是在實(shí)踐中學(xué)習(xí)。只要你不為贏得每場比賽而緊張,你仍然可以練習(xí)有趣的問題。
討論和優(yōu)勝者訪談是有啟發(fā)性的。每場比賽都有自己的討論板和與獲勝者的匯報(bào)。你可以窺探到更有經(jīng)驗(yàn)的數(shù)據(jù)科學(xué)家的思維過程。
如何在Kaggle上起步
在了解了比賽設(shè)置之后,接下來,就是分步驟地行動(dòng)計(jì)劃,在Kaggle上慢慢地提升和競爭。
第一步:選擇一種編程語言。
首先,我建議大家選擇一種編程語言并堅(jiān)持下去。Python和R在Kaggle和更廣泛的數(shù)據(jù)科學(xué)社區(qū)中都很受歡迎。
如果是從一張白紙開始的初學(xué)者,我比較推薦Python,因?yàn)樗且环N通用的編程語言,你可以從頭到尾使用。
第二步:學(xué)習(xí)探索數(shù)據(jù)的基礎(chǔ)知識。
加載、瀏覽和繪制數(shù)據(jù)的能力(即探索性分析)是數(shù)據(jù)科學(xué)的第一步,因?yàn)樗鼮槟阍谡麄€(gè)模型訓(xùn)練中做出的各種決定提供了參考。
如果你走Python路線,那么我推薦Seaborn庫,它是專門為此目的而設(shè)計(jì)的。它擁有繪制許多最常見和最有用的圖表的高級函數(shù)。
第三步:訓(xùn)練你的第一個(gè)機(jī)器學(xué)習(xí)模型。
在進(jìn)入Kaggle之前,我們建議在一個(gè)更簡單、更容易管理的數(shù)據(jù)集上訓(xùn)練一個(gè)模型。這將使你熟悉機(jī)器學(xué)習(xí)庫和土地的布局。關(guān)鍵是要開始養(yǎng)成良好的習(xí)慣,比如將你的數(shù)據(jù)集分成獨(dú)立的訓(xùn)練集和測試集,交叉驗(yàn)證以避免過度擬合,并使用適當(dāng)?shù)男阅芏攘俊?/p>
在這里我推薦大家使用貪心科技AI的課程。
這套課程的核心內(nèi)容均圍繞機(jī)器學(xué)習(xí),并通過案例的實(shí)戰(zhàn)來加深對技術(shù)的理解。 其課程的內(nèi)容旨在介紹AI及相關(guān)基礎(chǔ)理論,我個(gè)人使用后最直觀的感受就是這些課件里面的案例研究準(zhǔn)備得非常好,它們對于課后我們?nèi)绾翁幚砣魏螜C(jī)器學(xué)習(xí)任務(wù)有指導(dǎo)性的作用。而課下的練習(xí),以測試學(xué)生為目的,涵蓋了目前為止可能已經(jīng)涵蓋的概念知識。它混合了計(jì)算機(jī)科學(xué)、控制論、哲學(xué)、經(jīng)濟(jì)學(xué)、生物學(xué)和混沌理論或模糊邏輯。而它的內(nèi)容設(shè)置幾乎涵蓋了kaggle需要的所有技能。
內(nèi)容
它涵蓋線性和邏輯回歸、矢量化、正則化、神經(jīng)網(wǎng)絡(luò)、前饋和反向傳播(這是非常好的)、成本函數(shù)、網(wǎng)絡(luò)初始化、SVM、降維、監(jiān)督/非監(jiān)督學(xué)習(xí)、主成分分析(PCA)、K-Means聚類、異常檢測、推薦系統(tǒng)以及更多。除此之外,這套課程還有很多關(guān)于應(yīng)用機(jī)器學(xué)習(xí)的建議,如診斷偏差與方差誤差,實(shí)施訓(xùn)練-驗(yàn)證-測試集,如何衡量模型性能(準(zhǔn)確度、精確度、召回率和F1分?jǐn)?shù)),哪些算法在大量/缺乏數(shù)據(jù)的情況下更有效,以及如何調(diào)整上述算法以更好地適應(yīng)我們的需求或情況。
這套機(jī)器學(xué)習(xí)工作流程是開展一個(gè)個(gè)機(jī)器學(xué)習(xí)項(xiàng)目。盡管單個(gè)項(xiàng)目可能有所不同,但大多數(shù)工作流程都有幾個(gè)共同的任務(wù):問題評估、數(shù)據(jù)探索、數(shù)據(jù)預(yù)處理、模型訓(xùn)練/測試/部署等。通過這樣的學(xué)習(xí),逐漸就能發(fā)現(xiàn)這些核心步驟的有用的視覺化。
課程設(shè)置
這套課程視頻教學(xué)簡單易懂,也由于是線上上課,購買之后隨時(shí)可以使用,還是比較適合時(shí)間不好分配的上班族或者像我這樣的學(xué)生進(jìn)行使用。每節(jié)課程中還會配有一定的題目,幫助大家鞏固知識點(diǎn)概念。我自己在做這些題目的時(shí)候,感受很好的是,這些題目的設(shè)定與每小節(jié)的課程內(nèi)容結(jié)合的很好,能做到即時(shí)的鞏固,也能為后面的學(xué)習(xí)做鋪墊。
師資力量
雖然是近幾年剛創(chuàng)建的團(tuán)隊(duì),但其教研人員都是有著豐富的業(yè)內(nèi)經(jīng)歷和教學(xué)經(jīng)驗(yàn)。課程的核心團(tuán)隊(duì)由海內(nèi)外AI專家組建而成,多位合伙人及主講老師都是業(yè)內(nèi)資深工程師。我在上這節(jié)課的時(shí)候的導(dǎo)師就是亞馬遜的工程師,李文哲老師。他對于每一個(gè)問題的講解都十分細(xì)致,尤其是遇到運(yùn)算問題,都會一步步手寫出具體公式。除此之外,他還經(jīng)常會舉一反三,舉出同樣類型的例子,加深我們的記憶。李老師是一位充滿活力而又溫和的講師,他的經(jīng)驗(yàn)可圈可點(diǎn)。他給人以信心,特別是在分享實(shí)用的實(shí)施技巧和對常見陷阱的警告時(shí)。
貪心科技AI這套課程,我體驗(yàn)下來感覺很好的一點(diǎn)就是,課前課后都有老師和助教引導(dǎo),老師的態(tài)度都很積極,助教對教學(xué)也都十分認(rèn)真負(fù)責(zé),每次我提出的問題都會及時(shí)解答,就算現(xiàn)在已經(jīng)結(jié)課了,我們也會經(jīng)常溝通一下最近遇到的問題。
編程
除了前面講到的理論知識之外,貪心科技AI課程對于編程也有涵蓋。像我之前提到的Python在這節(jié)課程中就是作為重點(diǎn)來講解的。
貪心科技這套課程就為無編程經(jīng)驗(yàn)者提供了Python基礎(chǔ)的內(nèi)容,作為一個(gè)沒有什么編程基礎(chǔ)的統(tǒng)計(jì)學(xué)生,這也節(jié)省了不少我課下補(bǔ)習(xí)代碼的時(shí)間,大大提高了我的學(xué)習(xí)效率。除了理論性的內(nèi)容之外,這套課程還提供了多個(gè)機(jī)器學(xué)習(xí)領(lǐng)域代表性案例,如廣告點(diǎn)擊率預(yù)測、情感分析項(xiàng)目、信用卡欺詐預(yù)測、零售場景用戶分層、意圖識別等,供學(xué)生參考練習(xí)。如果有興趣的還可以繼續(xù)學(xué)習(xí)高階課程。這套課程會圍繞各種實(shí)例,進(jìn)行高階內(nèi)容的學(xué)習(xí)與練習(xí)。關(guān)于這部分的練習(xí),建議大家搭配jupyter,這也是我自己學(xué)習(xí)時(shí)使用的一個(gè)網(wǎng)站。Jupyter是一個(gè)免費(fèi)的、開源的、互動(dòng)的網(wǎng)絡(luò)工具,被稱為計(jì)算筆記本,研究人員可以用它將軟件代碼、計(jì)算輸出、解釋性文本和多媒體資源結(jié)合在一個(gè)文件中。每上完一節(jié)課程時(shí),我就會去上面下載一些文件進(jìn)行練習(xí)。
而這些項(xiàng)目對于參與Kaggle競賽,可以說是提供了無數(shù)的練習(xí)機(jī)會。
第四步:解決 "入門 "比賽。
在有了一定知識基礎(chǔ)后,我們就準(zhǔn)備嘗試Kaggle競賽了。Kaggle上的競賽根據(jù)其獎(jiǎng)勵(lì)分為不同類型。知識、工作、金錢。知識競賽是為那些想要入門的初學(xué)者準(zhǔn)備的。這些比賽很適合初學(xué)者,因?yàn)槟憧梢哉业胶芏嘟忉屓绾潍@得好成績的文章和樣本解決方案。這些競賽分為幾個(gè)類別。最常見的是:
特色比賽
- 這些比賽通常由公司、組織甚至政府贊助。它們有最大的獎(jiǎng)金池。
研究類 -
這些比賽以研究為導(dǎo)向,幾乎沒有獎(jiǎng)金。它們也有非傳統(tǒng)的提交程序。
招聘–這些是由想要雇傭數(shù)據(jù)科學(xué)家的公司贊助的。這些仍然是相對不常見的。
入門 - 這些比賽的結(jié)構(gòu)類似于特色比賽,但它們沒有獎(jiǎng)金池。它們的特點(diǎn)是更容易的數(shù)據(jù)集,大量的教程,以及滾動(dòng)的提交窗口,因此你可以在任何時(shí)候參加它們。“入門
”比賽對初學(xué)者來說是很好的,因?yàn)樗鼈兘o你一個(gè)低風(fēng)險(xiǎn)的學(xué)習(xí)環(huán)境,而且它們還得到許多社區(qū)創(chuàng)建的教程的支持。
第五步:競爭
有了一定基礎(chǔ)后,是時(shí)候進(jìn)入 "特色 "競賽了。一般來說,這需要更多的時(shí)間和努力才能獲得好的排名。出于這個(gè)原因,我建議明智地選擇你的比賽項(xiàng)目。參加那些能讓你接觸到符合你長期目標(biāo)的技術(shù)和工藝的比賽。在這里我想要提醒大家的事,參與比賽是為了最大限度地提高學(xué)習(xí)效果,而不是收入。雖然獎(jiǎng)金是好的,但更有價(jià)值(和可靠)的獎(jiǎng)勵(lì)是你為你的職業(yè)生涯發(fā)展的技能。
在參與比賽前后,你可以查閱任何與你要解決的問題類似的過去的比賽。Kaggle通常會在他們的博客(No Free Hunch)上發(fā)布對過去比賽獲勝者的采訪。看看你是否可以將類似的方法應(yīng)用于你的問題。另外,獲獎(jiǎng)?wù)咭步?jīng)常在github上發(fā)布他們的解決方案代碼,作為開放源碼項(xiàng)目。密切關(guān)注比賽論壇上的任何有用的帖子或討論。值得注意的是,Kaggle比賽需要持續(xù)的努力和承諾,你需要不斷地努力讓你的提交材料變得更好,直到最后。如果你暫時(shí)不參加,其他人會越來越好,你的排名會下降。
總結(jié)
以上是生活随笔為你收集整理的Kaggle入门五大步,跟着做就对了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 军人的转业费中的住房是啥?
- 下一篇: 上古的孩子们念古佛修回古遗骨