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