怎麼著手玩kaggle?

已經上過coursera上ng的ml課和學校的數據挖掘概論,最近的畢設還是和字典學習有關,多少算有點ML基礎,語言的話熟悉python和MATLAB。也會用Markdown寫文本,註冊kaggle有一會了,可能平時忙就是不知道該怎麼下手,現在放假有時間了想好好玩玩,請問各位大佬要從哪著手呢?它有好多模塊看得我眼花繚亂,具體有啥區別呢?它的鼓勵機制又是怎麼樣的?


謝邀!

推薦一本很薄的書:

可以考慮入手,這本書例子很多,適合入門,有基礎的一個星期看完就可以到kaggle參加一些比賽了。

當然,看完書還不行,多泡在 kaggle的kernel模塊,裡面有大神們的分析詳細代碼以及剖析,每一個比賽中的點贊數前十名都可以看一下,自己可以 fork下來,在他的基礎上自己完。


1. 熟悉python里的numpy,pandas和matplotlib三大神器,做前期的數據分析和預處理,包括特徵工程部分

2. 熟悉sklearn,裡面有不少機器學習的東西

3. 熟悉Keras,tensorflow等深度學習框架,有時候dl效果更好

4. 看之前比賽冠軍的分享,或者看一些好的kernels

5. 劃分好訓練集和驗證集

6. 了解調參trick

7. 整個過程無非就是理解題意,做好數據分析,數據預處理,然後最重點是搞好特徵工程,然後xgboost,lightgbm,gbdt,fm,dl等等演算法跑加調參,最後bagging和stacking集成


第一步,搬磚。看看別人的 kernels 怎麼寫,理解每一步,多跑別人的代碼找找感覺。

第二步,假設對 ML 的演算法都比較熟了,在別人的 kernels 基礎上調參,堆模型,做特徵工程。

第三步,逐漸發現別人的代碼的不足,建立自己的 pipeline,調參方法論,ensemble 策略。一套好的流程很重要,因為每一次提交背後可能需要多次迭代和實驗,隨時記錄踩過的、還沒踩的坑。計划下一步做哪些嘗試。

以上是鍛煉動手能力,真正排名靠前的,需要一點不一樣的想法。ML 教程和經典中的一些理論,在實戰中往往不適用。建議跟蹤比賽中每一個重要的帖子,翻過往同類比賽的總結,這樣學到的東西更多。


選擇一個最簡單的項目(Titanic),一步一步來。

1.理解競賽描述「Competition Detail」

2.下載數據「Get the Data」,訓練模型,得到結果

3.提交結果「Make a submission」


起手gbt,不好就上dl。。。。多看forum,拿top10要時間,進top20%靠調參


推薦閱讀:

如何看待Kaggle最新比赛Zillow禁止中国居民参加第二轮?
kaggle:Titanic: Machine Learning from Disaster,有什麼比較好的feature可以提取,哪位大神hit 80%了?
如何看待 Kaggle 被 Google 收購?
機器學習如何在小樣本高維特徵問題下獲得良好表現?
Kaggle 的比賽在 Machine Learning 領域中屬於什麼地位?

TAG:數據挖掘 | 機器學習 | Kaggle |