Kaggle机器学习入门实战 -- Titanic乘客生还预测
如果你打算研究機(jī)器學(xué)習(xí)或是今后想從事數(shù)據(jù)科學(xué)相關(guān)的工作,Kaggle應(yīng)該是一個(gè)繞不過去的名字。
Kaggle是2010年在舊金山創(chuàng)立的一個(gè)數(shù)據(jù)建模和數(shù)據(jù)分析競賽平臺(tái),在很短的時(shí)間內(nèi)就聲名鵲起,去年被google收購,在業(yè)界具有很高的知名度和權(quán)威性,企業(yè)可以在上面發(fā)布數(shù)據(jù)和想要解決的問題,并進(jìn)行“懸賞”,數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)的愛好者們可以基于這個(gè)平臺(tái)提交自己的模型和預(yù)測結(jié)果,平臺(tái)會(huì)根據(jù)測試集對(duì)參賽者進(jìn)行評(píng)分排名,排名最高幾位可以分享獎(jiǎng)金,更重要的是,kaggle為全世界數(shù)據(jù)分析及機(jī)器學(xué)習(xí)愛好者們提供了一個(gè)交流學(xué)習(xí)的平臺(tái),里面不乏機(jī)器學(xué)習(xí)的頂尖高手,各大公司也常年在kaggle上招募比賽名次好的團(tuán)隊(duì)和選手,良好的kaggle競賽履歷絕對(duì)是簡歷上的加分項(xiàng),如果你參加過多次Featured(商業(yè)問題,有獎(jiǎng)金)和Research(學(xué)術(shù)類)類型的比賽,并且多次進(jìn)入TOP10%甚至TOP5%,那么你只用蹲在家里,獵頭自會(huì)找上門。
Kaggle分為5個(gè)大的板塊:
- Competitions(競賽)
分為商業(yè)競賽、學(xué)術(shù)類競賽、入門級(jí)競賽和一些由大公司如Google、Fackbook不定時(shí)舉辦的邀請(qǐng)賽。
- Datasets(數(shù)據(jù)集)
公司或個(gè)人貢獻(xiàn)的各類型的數(shù)據(jù)集,搞機(jī)器學(xué)習(xí)最怕找不到數(shù)據(jù),kaggle給大家獲取數(shù)據(jù)練習(xí)提供了一些捷徑。
- Kernels(數(shù)據(jù)分析及建模)
有點(diǎn)類似GitHub的代碼管理,說直白點(diǎn)就是給用戶提供了云上的數(shù)據(jù)分析和建模的環(huán)境,不過涉及到代碼上傳,我廠童鞋請(qǐng)慎用...
- Discussion(討論區(qū))
里面有全世界各地的數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)的專家和愛好者,針對(duì)題目、算法、建模等熱烈的討論,冥思苦想幾天的問題看看大牛們的解題思路說不定就秒懂。
- Jobs(工作)
一些公司會(huì)直接在kaggle上放出數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)類的崗位,基本都是歐美的中小型公司。
一、Kaggle競賽的一般步驟
下圖是kaggle競賽步驟的簡單示意圖,中間迭代的步驟也可以看做是一般機(jī)器學(xué)習(xí)建模及驗(yàn)證的步驟,需要特別注意的是,比賽結(jié)束以前,kaggle提供用來驗(yàn)證的測試數(shù)據(jù)集是Public數(shù)據(jù)集,提供給大家進(jìn)行及時(shí)驗(yàn)證和反饋模型效果的,所以在Publlic Leaderboard上的排名和得分并不是最終結(jié)果,待比賽結(jié)束后,會(huì)用Private數(shù)據(jù)集進(jìn)行最終的計(jì)分和排名,目的是防止模型過擬合,能真正在未知數(shù)據(jù)上取得好成績的才是優(yōu)秀的模型。
好了,說了這么多,不在Kaggle上刷刷榜,怎么好意思說自己在學(xué)習(xí)數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)呢:-),我們以Kaggle上最為知名的入門題目 Titanic: Machine Learning from Disaster(利用機(jī)器學(xué)習(xí)預(yù)測泰坦尼克乘客是否生還)為例,看看怎么玩Kaggle。
二、軟件環(huán)境
sklearn + numpy + pandas + seaborn
我使用的是sklearn,很成熟的機(jī)器學(xué)習(xí)框架,最新版本也支持深度神經(jīng)網(wǎng)絡(luò),當(dāng)然數(shù)據(jù)處理和可視化還需要用到numpy,pandas,seaborn,當(dāng)然你也可以使用tensorflow等其他框架,kaggle并不要求上傳模型本身,只需要預(yù)測結(jié)果就可以了,強(qiáng)烈推薦大家使用python3.6的科學(xué)發(fā)行版Anaconda,這些庫里面都有。
三、理解題目&下載數(shù)據(jù)
題目地址:https://www.kaggle.com/c/titanic
這是Kaggle上熱度最高的題目,迄今為止參賽的隊(duì)伍已經(jīng)超過10000支,基本上所有參與Kaggle的人都會(huì)拿這個(gè)題目練手。所以題目雖簡單,但取得好的名次也不容易。
總結(jié)
以上是生活随笔為你收集整理的Kaggle机器学习入门实战 -- Titanic乘客生还预测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LayoutInflate部分源码解析
- 下一篇: ArrayList初步