零基礎自學兩月後三月三次輕鬆進入kaggle比賽top20小結

記錄下本人飛行器專業(機械加力學)出身:

1.沒有機器學習理論知識(大部分機器學習知識來自知乎)

2.沒有計算機科班知識(只會給CAX軟體做二次開發會寫點python腳本),

3.硬體很差,沒有GPU(只有8G內存條還因為最近漲價捨不得加內存)

如標題所說,零基礎自學兩月後三月三次進入kaggle比賽top20經歷。(純solo,我身邊都是跟我一樣造飛行器的,也沒能跟我組隊的)

本文純粹是國慶無聊,寫出來吹吹牛逼,若有人看到,勿見怪。

第一次參加比賽(18/3274 ,Sberbank Russian Housing Market)差兩名金牌

這是一個房價預測題,我從kernel下載了一個baseline,看到都是把預測目標設置為房屋總價,我想我們平時說房價不都愛說均價多少多少嗎,然後我就改了幾行語句,把目標改為預測均價,再乘以面積。然後我就分分鐘進前20名了~~~~~~~~

第二次參加比賽(209/3835 ,Mercedes-Benz Greener Manufacturing)

回歸題,在參加完房價比賽花了一周玩玩,然後讀完kernel後確定是個下注比賽,從kernel下載了一個baseline,再根據自己分析下了一個把握最大的(改一個數),然後混個銅牌。

第三次參加比賽(20/2623 ,Instacart Market Basket Analysis)差五名金牌

購物籃問題,但是又被轉化成了xgboost問題,還是從kernel下載了一個baseline,然後我看到當時排第一的說F1-score優化對成績提升很高,並有人給了論文,我英語不好懶得讀論文,然後根據我自己的理解寫了一個F1-score優化,然後用baseline的probability,分分鐘就進了25名。這讓我對參加kaggle的人水平產生了懷疑,很難想像比賽進行了兩個月,第一名明確告訴大家寫F1-score優化有用的情況下,居然沒幾個人寫出來,最後還是一個grandmaster公布了F1-score優化代碼,才一堆人分數往上沖的。

第四次參加比賽(20/1095 ,Web Traffic Time Series Forecasting)差八名金牌

時間序列問題,我零基礎,又沒硬體搞神經網路,所以沒打算參加,但是在比賽結束的前一周去瞄一眼發現居然kerne里最好的baseline居然是median。於是我就在最後一個周末用lightgbm做了個預測median的模型,把時間序列題轉化成了回歸題,就這樣居然也拿到了20名。呵呵。。(注:寫文章的時候是13名,最終20名,算是保住了標題)

小結:

1.能連著沒花多多少時間拿top20,還是有點好運氣成分的,並且搞得我現在有點不敢參加新比賽了,怕破壞了我現在看起來不錯的成績。

2.然而又感覺運氣不是太好,連著都是差幾名金牌,要不然該是master了。

3.感覺機器學習和我現在從事的CAE工作差不多,都是用別人的黑盒子加一點自己的二次開發,最後拼的還是人的體力、機器的算力和人對理論使用的經驗(不是推導是使用)。

4.xgboost真是大大降低了機器學習的門檻,對於新手比較難搞得「缺失值」,「歸一化」,「調參」

都解決的很好。可以讓我這種新手都毫不費力的和其他人站在一個起跑線上,哈哈!

PS:

看知乎上都說kaggle對找工作有幫助,那像我這種拿了三個solo top20,但事實上卻不懂機器學習理論和數據結構演算法的可以轉行嗎?~~~~~~~~~~


推薦閱讀:

關於L1、L2正規化的一些疑問?
卷積神經網路保證「位移、尺度、形變不變性」該怎麼理解?
通過攝像頭自動識別並輸入身份寶驗證碼
怎麼看待現在一些論文提出的新點子就只在mnist或者cifar上跑跑實驗?
數學 · RNN(二)· BPTT 演算法

TAG:数据挖掘 | Kaggle | 机器学习 |