關於Kaggle的一些數據分析

寫在前面

最近在知乎上看了幾篇關於Kaggle數據分析比賽的含金量以及影響力之類的回答。

其中正面的觀點有:

  • 獲得兩次前10%可以較為輕鬆地找到數據挖掘方向的崗位
  • 獲得過前10,HR會與你談笑風生

負面的觀點有:

  • 和科研沒什麼關係。
  • 比賽是真實業界的簡化版本,只能反映部分水平。

查了一下,沒有找到相關數據分析。

那麼Kaggle比賽的難度及含金量到底如何呢?本文的目的就是填補統計數據的空缺,並在此基礎上進行一定的分析。(只統計Kaggle站內的比賽信息)

由於Kaggle不斷的在推出新的比賽,所以本文章暫定為每三個月更新一次。想要獲取最新信息請點贊+收藏,謝謝~

標題圖片來源於網路,侵刪。

首更:下面的數據全部截止至2017年09月17日。

Kaggle是什麼?

kaggle.com/

Kaggle是全球範圍的數據分析競賽平台。簡單來講,企業可以通過提供數據與獎金/職位的方式在Kaggle上舉辦比賽。而個人用戶則可以在平台上參與比賽。一個標準的比賽流程為:下載數據,進行分析,提交結果。提交的結果會通過平台在線評價,實時更新排行榜。每場比賽會歷時數月,截止日期過後根據排行榜發放獎勵。

要注意到,比賽期間提交結果後獲得的評分是「公開排行榜」的評分,即只用一部分(大概20%~30%)測試數據給出評分。比賽截止後平台會用剩餘的測試數據對提交上來的結果再進行一次評價,得出最終評分,根據此評分產生「最終排行榜」。因此公開排行榜和最終排行榜有一定差別是正常現象。獎金和獎牌都是根據最終排行榜放出的。

即使不為沖榜,Kaggle也是個極好的學習平台。很多人會在論壇上分享代碼,idea以及小技巧。不負責任的說,如果沒有Kaggle,XGBoost的流行起碼要再晚個一兩年吧。

(20170917的截圖。可以看到當前進行的比賽中有2個總獎金超過100W美刀)

Kaggle的排行榜

雖然上一節的圖片里的獎金非常誘人,但絕大多數比賽只有前三名可以拿到獎金,難度非常之大。那麼沒拿到獎金的用戶可以獲得什麼呢?

上圖是排行榜獎牌發放的規則,可以看到參與隊伍少於100的比賽,10%的用戶可以拿到金牌,共40%的用戶能拿到獎牌。而參與隊伍1000+的比賽只有前10%的人能拿到獎牌了。

因此,根據比賽的參加人數的不同,獎牌含金量會有所不同

但從另一種角度上來看,參加人數較多的比賽也有可能是因為門檻較低,從本文第一張圖片里可以看出,前兩個比賽的獎金都超過100W美刀,但參加人數卻有10倍+的差別。這是因為第一個比賽是根據安檢場景中的三維圖像分析拍攝到的旅客是否具有威脅,大多數人會對此一頭霧水。而第二個比賽是根據美國房產的一些數據(如地理位置,面積,建築年限等)估算房子的價值(簡單來說是這樣子,真實情況解釋起來比較頭疼,有興趣的同學可以自行前往官網查看)。顯然第一個比賽門檻高,難度大,所以參賽人數較少,但獎牌含金量按理來說更高。這就是典型的參賽門檻導致的獎牌含金量的區別。

另外,參加比賽的單位是「隊伍」而不是個人(當然隊伍里也可以只有一個人,即solo play),如果某支隊伍獲得了金牌,那麼該隊伍中所有成員都能獲得一塊金牌。可以想像到10人隊伍參加比賽獲得金牌,和solo play獲得金牌的難度是不一樣的。

因此,根據隊伍人數的不同,獎牌含金量會有所不同

本文主要的關注點就在於獎牌的含金量。請各位帶著上面我提到的3個因素,來看接下來的數據環節。

大家最喜歡的數據環節

Kaggle成立於2010年,至今歷時7年。

共舉辦比賽263場(包括新手教學賽,研究性質的比賽,及未截止的比賽等)。

在已截止的比賽之中,177場發放獎金,227場發放獎牌。

在發放獎金or發放獎牌的比賽里,共有172967人次參加比賽,28437人次(16.4%)獲得獎牌,其中:

  • 金牌3729人次 (2.2%)
  • 銀牌11659人次 (6.7%)
  • 銅牌13049人次 (7.5%)

在參加了比賽的172967人次中,共有83514位不同的用戶。獲得過獎牌的用戶有15950位(19.1%),其中:

  • 獲得過金牌的用戶有2247位 (2.7%)
  • 獲得過銀牌的用戶有7560位 (9.1%)
  • 獲得過銅牌的用戶有9856位 (11.8%)

在右圖的人數統計中,由於某些用戶獲得過多種獎牌,數據之間有所重疊,我嫌麻煩就只畫了獲得獎牌/未獲獎牌的比例。

從7年的數據的統計中,可以看出來拿到過獎牌的用戶還不到參賽總人數的五分之一。所以大致上來看獲得過獎牌的用戶可以說是五里挑一的人才了(不考慮上文提到過的幾個因素的話)。

(下一章節里會有更詳細的分析)

另外需要提到在Kaggle里有一套用戶評級系統,一共5級:

LV1:Novice 【菜鳥】,剛註冊就是這個級別

LV2:Contributor 【貢獻者】,補充註冊信息,參加一次比賽,在論壇投一次票就是這個級別

LV3:Expert 【專家】,獲得過2次銅牌。在2017年,基本上要在比賽中進前10%才能拿到銅牌。

LV4:Master 【Master】,獲得過1金2銀。

LV5:Grandmaster 【大師】,獲得過5金且至少solo過1金。

在用戶排行頁面可以看到各級別的人數 Kaggle Rankings :

(根據Kaggle的系統,潛水太久的人不會顯示在統計之中)

這套系統對新人不太友好,比如一位剛註冊用戶,solo一次比賽得到1金,他仍是LV1. solo過2金,也只能算在LV3. 另外,此系統除了LV5要求solo 1次金牌之外,其他等級都可以通過組隊划水獲得。為了嘗試解決這兩個問題,後面的內容里我將用別的方法來評價用戶的實力。

接下來看看7年來比賽的總體情況。

177場帶有獎金的比賽里:

  1. 獎金<=500刀:19場
  2. 500刀<獎金<=5,000刀:34場
  3. 5,000刀<獎金<=20,000刀:59場
  4. 20,000刀<獎金<=50,000刀:35場
  5. 50,000刀<獎金<=200,000刀:24場
  6. 200,000刀<獎金:6場

比賽的獎金近年呈上升趨勢。Kaggle早年很多比賽的獎金都是不超過1000刀的,但近兩年來在發放獎金的比賽中已經基本看不到1W刀以下的了。下一章節會有更詳細的數據。

在總計228場帶有獎金or發放獎牌的比賽里:

  1. 參賽隊伍<100:43場
  2. 100<=參賽隊伍<250:53場
  3. 250<=參賽隊伍<1000:81場
  4. 1000<=參賽隊伍:51場

各種比賽參賽的隊伍近年呈上升趨勢。下一章節會有更詳細的數據。

更詳細的數據

零、比賽場次年度變化情況

228場發放獎金or發放獎牌的比賽按年份分布如上圖所示。上圖中橫軸的年份,是按照比賽的截止日期來劃分的。比如說某比賽2015年10月開始,2016年1月截止,那麼這次比賽將算在2016年內。接下里的根據年份劃分的統計都是如此。

上圖只統計了發放獎金or發放獎牌的比賽。從場次上來看,除了2010,2011年較少以外,2012年以後差別並不大。

另外2017年截至9月17號已經完結的比賽為23場

一、參賽人次年度變化情況

參加Kaggle比賽的人逐年增長,和前一張圖結合起來看,2012年往後,單場比賽平均參與的人數肯定也是逐年增長的。

另外,截至9月17日,2017年度中已完結的比賽里,共有31856人次參賽。

二、比賽總獎金年度變化情況

截至9月17日,2017年度中已截止的比賽里,共發放獎金1790000美元,已超過往年最大值。

三、獎牌發放百分比年度變化情況

隨著參賽人數的增長,獎牌獲取的難度是越來越大的。因此獎牌獲取的人次的百分比基本是逐年降低的。反過來說,獎牌的含金量是逐年提升的。上文中提到過如果按全體數據來計算,獲得獎牌大概是五里挑一的人才。那麼算上時間的因素,在2016年獲得獎牌已經稱得上是八里挑一的人才了。(接下來的分析中會考慮更多因素)

四、首次獲得獎牌的人數變化

上一章節中提到過共有83514位不同的用戶參加過比賽。獲得過獎牌的用戶有15950位(19.1%)。

  • 獲得過金牌的用戶有2247位 (2.7%),他們首次獲金的時間按年度分布如下:

    (2017年截止至9月17日,有340人首次獲得金牌)

  • 獲得過銀牌的用戶有7560位 (9.1%),他們首次獲銀的時間按年度分布如下:

    (2017年截止至9月17日,有1386人首次獲得銀牌)

  • 獲得過銅牌的用戶有9856位 (11.8%),他們首次獲銅的時間按年度分布如下:

    (2017年截止至9月17日,有1643人首次獲得銅牌)

(下方是建築工地)

五、按隊伍人數切割獎牌進行統計

本文最開始提到過,10人組隊拿金牌和solo play拿金牌難度是不一樣的。在這一小節里我們將用平均值來切割獎牌:10人組隊拿金牌,則每個人只算拿到0.1塊金牌;4人組隊拿金牌,則每個人算拿到0.25塊金牌。以此類推,只有solo play算拿到整塊金牌。

以此為基礎,首先讓我們來看看拿到過1.0塊獎牌以上的用戶有多少人。

【建設中...】

六、???

【建設中...】

附贈!Kaggle極限記錄!

在單場比賽中提交次數最多的隊伍提交了幾次?

在單場比賽中以最少的提交次數獲得金牌的隊伍提交了幾次?

在單場比賽中只提交了一次的隊伍,最高排名能達到多少?

有沒有在單場比賽中提交超過100次但最終卻沒進能前50%的隊伍?

Solo獲得金牌次數最多的用戶是誰?一共幾次?

在公開排行榜中排第一,在最終排行榜名次掉落最多的,排名掉了百分之幾?

在最終排行榜中排第一,名次上升最多的,排名上升了百分之幾?

【建設中...】

(催更只需點贊+收藏+關注即可,完成全套操作我就明白你們的意思了~ 另外各位看官想看什麼樣的數據也可以在下方評論區提出,我看看能不能辦到)


推薦閱讀:

自動生成硬體優化內核:陳天奇等人發布深度學習編譯器TVM
機器學習之Logistic回歸(五)
Deep Reinforcement Learning for Dialogue Generation
盤點丨2016年機器學習十大文章整理
Bagging

TAG:机器学习 | Kaggle | 数据分析 |