加入 Kaggle 大數據競賽,總共分幾步?

轉自:https://www.leiphone.com/news/201703/V2laCNgYqI9Gs6ul.html?winzoom=1

 

日前,谷歌在 Google Cloud Next 雲計算大會上宣佈收購知名大數據競賽平臺 Kaggle。消息一出,震動了數據科學、AI、機器學習三界(詳見雷鋒網(公衆號:雷鋒網)文章:谷歌收購 Kaggle 爲什麼會震動三界?)。相信經過這條新聞的曝光,未來會出現更多的開發者和從業人員加入 Kaggle 一展身手。爲此,雷鋒網編譯了一篇國外大牛的博文,其中總結了入門 Kaggle 競賽的四個簡單步驟,希望對相關人員有所幫助。

加入 Kaggle 大數據競賽,總共分幾步?

原文作者 Jason Brownlee,機器學習專家,開發者,作家,企業家,曾在美國國防部門、初創企業和極端天氣預報機構從事機器學習的相關開發工作多年。目前爲了幫助機器學習領域更多的開發者,開設了一個名爲 Machine Learning Mastery 的網站,提供各種入門和高級的機器學習教程。

爲什麼選 Kaggle?

目前,開發者可以通過各種各樣的方式來學習和實踐機器學習技能,但爲什麼大家都選擇 Kaggle 呢?或許是因爲 Kaggle 具有以下一些特定的優勢:

● 問題的定義明確,直接提供了可用的數據庫;

● 由於行業裏充斥着各種五花八門的排行榜,因此很難找到其他更客觀的機器學習測試平臺;

● 通常每場比賽都會有許多討論和分享,參賽者可以從中學習,並參與分享;

● 通過解決現實生活中的某個特定數據問題,參賽者可以充分展示自己;

● 這是一個完全靠技術說話的平臺,只要你能解決問題,就能贏得尊重,跟學歷和學位無關。

概述

這裏,我總結了入門 Kaggle 競賽的四個簡單步驟:

1. 選定一個平臺

2. 基於標準的數據庫練習

3. 練習舊的 Kaggle 題目

4. 在 Kaggle 上比賽

就像這世上的許多事,簡單地寫出這四個步驟當然很容易,但實現起來很難。實現它們需要付出非凡的時間和精力,無疑會是一項艱苦的工作。當然,天道酬勤,只要你付出了努力,並且有條不紊地堅持下去,那麼總有一天你將成爲一名世界級的機器學習從業者。

另外,對於那些已經具備一些開發經驗的讀者,你可以直接跳到第四步開始比賽。但對於本文的主要讀者,那些入門級的用戶,我還是建議從第一步開始。

下面我們具體看看這四個步驟。

1. 選定一個平臺

同樣,擺在開發者面前的可選平臺也很多,可能最終你會發現初期的選擇糾結是沒有必要的,因爲每個開發者實際上都同時使用許多平臺,但剛開始你必須選定一個。

這裏,我推薦大家以 Python 爲起點。原因有以下幾條:

● 業界對基於 Python 的機器學習需求正在增長;

● 不像 R 語言,Python 是一個全功能的編程語言;

● Python 的生態系統已經基本成熟,可選的工具包非常豐富,例如 sklearn,pandas,statsmodels,xgboost 等;

● Python 具有一些非常好的深度學習框架:Theano,TensorFlow,Keras 等。

總之,你必須先選定一個平臺,並開始學習如何使用它。

深入閱讀:

● Python is the Growing Platform for Applied Machine Learning

地址:http://machinelearningmastery.com/python-growing-platform-applied-machine-learning/ 

● Python Machine Learning

地址:http://machinelearningmastery.com/start-here/#python 

2. 基於標準的數據庫練習

選定了平臺之後,下一步就是基於真實的數據庫展開實踐。

這裏我推薦通過 UCI machine learning repository (UCI 機器學習資源庫)來解決一些標準的機器學習問題。

UCI 官網:http://archive.ics.uci.edu/ml/index.html 

需要強調的是:將每個數據集都視爲一次小型的比賽。相關注意事項包括:

● 將數據集組織成一個隊列,並且保留測試集,將測試集分成一個公共和私人的排行榜;

● 概括每一個數據集的處理過程,堅持下去,並不斷修正這一過程,直到通過它你可以很容易地得到針對每一個小型數據集的頂級結果;

● 對每一個數據集規定時間上線,例如必須在幾個小時內完成;

● 充分利用相關數據集的文檔資料,以更好地定義既定問題和解釋特徵。

● 學習如何充分利用好每一個工具、算法和數據集。

總之,你需要認真對待每一個數據集,通過處理各種不同的數據集積累經驗,並將這些經驗應用到處理新的數據集中。

深入閱讀:

● Practice Machine Learning with Small In-Memory Datasets

http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/ 

● Applied Machine Learning Process

http://machinelearningmastery.com/start-here/#process 

加入 Kaggle 大數據競賽,總共分幾步?

3. 練習舊的 Kaggle 題目

經過以上兩步,現在你已經清楚地認識了自己的工具,並懂得如何去使用它們,是時候練習一些舊的 Kaggle 題目了。

你可以訪問那些舊的 Kaggle 比賽的數據集,並針對這些數據發佈自己的解決方案,然後在公共和私人的榜單上進行評估。

第三步的核心目的是:學習以往比賽中的頂級選手是如何處理競賽性的機器學習問題的,然後將他們的方法融入自己的解題思路之中。相關注意事項包括:

● 儘量選擇類型各不相同的問題,迫使自己學習和應用新的、與以往不同的技術;

● 研究論壇裏的帖子、頂級選手的博客、GitHub 倉庫和所有其他的相關資料,學習別人的解決方案;

● 以進入公共或私人排行榜的前 10% 爲奮鬥目標;

● 針對同一個數據集,嘗試多個不同的獲獎者的解決方案。

總之,你需要認真學習以往的優秀參賽者的解決方案和工具,並吸收他們的優點,進一步積累經驗,將這些經驗應用到新數據集的處理中。

深入閱讀:

● Machine Learning is Kaggle Competitions

http://machinelearningmastery.com/machine-learning-is-kaggle-competitions/ 

● Discover the Methodology and Mindset of a Kaggle Master: An Interview with Diogo Ferreira

http://machinelearningmastery.com/discover-the-methodology-and-mindset-of-a-kaggle-master-an-interview-with-diogo-ferreira/ 

4. 在 Kaggle 上比賽

現在,你已經可以正式參加 Kaggle 比賽了。

下面是一些參賽的注意事項:

● 一次只處理一個問題,直到被卡住;

● 以進入每個問題的私人排行榜的前 25% 或前 10% 爲奮鬥目標;

● 嘗試在論壇上自由分享,這會引發良性的互動和協作;

● 最大限度地縮短思考/閱讀一個好主意和將之付諸實踐的時間(例如幾分鐘之內);

最後需要強調的是,Kaggle 雖然的確是一場比賽,但我們應該抱着學習和分享的態度去參賽。

深入閱讀:

● How to Kick Ass in Competitive Machine Learning

http://machinelearningmastery.com/how-to-kick-ass-in-competitive-machine-learning/ 

● Master Kaggle By Competing Consistently

http://machinelearningmastery.com/master-kaggle-by-competing-consistently/ 

來源:machinelearningmastery,雷鋒網編譯

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章