Kaggle比賽入門指南

2021-10-03 22:54:29 字數 1874 閱讀 6237

首先說,絕大部分的kaggle比賽是data mining(dm)比賽(除少數是和discrete optimization還有computer vision(cv) 有關),最重要的是和machine learning(ml)關係不大。這是很多人乙個誤區,往往希望在kaggle上學到很多ml的知識。kaggle教給我的第一件事情,就是讓我清晰領會到了這兩者之間的不同:ml一般從模型或者演算法出發,講的是模型或者演算法本身存在的不合理的地方,然後提出新的假設,從而去優化模型或演算法。在這個過程中並不針對某乙個具體的特殊的問題。而dm恰恰相反,它是從資料本身問題本身出發,希望針對問題的特性來設計最適合的方案。關鍵是在於對問題和資料的理解。之前總是覺得,dm/cv的*****都好水,到處找乙個應用套。在我想明白這個問題之後,我就開始懂得欣賞dm/cv的*****。其次,我覺得在乙個dm的比賽中,最能鍛鍊到的是對於資料的"嗅覺"。

舉乙個最有趣的例子,往往在比賽中會存在data leakage的情況,也就是說,某些和label相關的資訊不小心會洩漏在feature中。有人通過這樣的feature取得了很好的成績之後,往往有人覺得非常鄙視。當然我不是說data leakage是一件好事情,但是在這背後往往隱藏的是發現leakage的人對於資料本身深刻的認識。這並不是每個人都能做到的。換句話講,就算沒有leakage,這群人還是會排名很前。在kaggle的比賽中,能收穫最大的就是這種嗅覺。這其實也把我自己訓練成了乙個data believer:也許一次兩次的巧合真的是意外,但是如果巧合總是持續發生,那麼背後一定有乙個原因。

第一點也是最重要的一點就是專注,

第二點,永遠不要放棄。

希望總存在於絕望之後。每個比賽都會有乙個瓶頸期。耐心地去突破它後,就是一片開闊天空。

第三點,切記只看不做。

很多人只喜歡紙上談兵,武斷覺得這個問題,或者這個資料就應該是怎樣。很多資料的特質都是要真正動手做進去才能發現其中的奧妙,針對這些特質設計的一些feature或者model,往往都能帶來極大的提高。第四點,才是多看,尤其是在比賽結束之後。很多leader會在比賽結束之後部分甚至全部地公布自己的解法。這個時候返回去看看在比賽中自己忽略掉了什麼地方,才是成長最最重要的。第一年的比賽教給了我在乙個實際的推薦系統裡session的重要性。第二年的比賽教給了我機器不是萬能的,人肉一些規則往往更有效。每一年其實都對實際的data mining問題有新的認識,也更清楚了哪些*****是真的work,哪些是在灌水。這其實也就是我來做比賽的最大目的吧。

前面提到kaggle主要是以data mining的比賽為主,那麼這個答案就非常直接了:feature engineering 無數經驗告訴我們,做kaggle比賽如果是抱著machine learning的態度,沉迷於facny的模型而忽略資料本身,一定會死得很慘很慘!當然,基本的ml知識還是有的。在比賽中,最常用的分類器一般是gradient boosting tree(gbdt)和random forest(對,你沒看錯,不是那個在教科書中推dual時讓很多人痛不欲生的svm)一些常見的預處理技巧,比如pca,kmeans,tf/idf,hashing等等都還是必須的。這裡就不展開講了。最後,但是非常關鍵的一點是ensemble 從kdd cup到imagenet,我從來沒見過ensemble不會改善結果的情況,只是多與少的問題。不做ensemble就意味著你自己告別了一大塊寶藏。總結我覺得kaggle是乙個對於每個想成為所謂的data scientist的同學最好的試煉廠。在這裡,你就會知道課上學到的那些東西和能解決乙個實際問題所需要的能力的差距。更何況,在學校裡往往是拿不到任何大規模的資料。絕大多數課堂上用的還是只有幾百個幾千個資料的uci dataset。kaggle是縮小這個gap最好的乙個地方。

kaggle比賽之悟

一 模型與特徵哪個重要?參與sberbank russian housing market比賽,一開始使用sklearn的嶺回歸函式ridge 殘差值一直是0.37左右,然後同樣的特徵又使用了xgboost,殘差值降到了0.34左右,提高的還是挺顯著的。但是另外一些參賽選手,使用xgboost,殘差...

kaggle泰坦尼克比賽總結

泰坦尼克資料探勘比賽是kaggle上的新手入門賽,作為乙個基礎還沒打好的菜雞強行敲了一波 但是大部分還是跟著別人的思路,看著別人的 寫的。因此 就不放了,放了跟搬運沒啥區別。單純總結一下學習感悟吧。做資料探勘的第一步就是讀取資料之後進行分析和預處理。所要用到的python 庫有pandas,nump...

Kaggle入門爬梯之路

髒資料 不符合要求,不能進行分析的資料 缺失值 異常值 不一致的值 重複的資料 含有特殊符號的資料 資料缺失值分析 刪除 可能值進行插補 不處理 簡單的統計量的分析 資料應該有實際意義,手工去除不符合實際的資料 3 原則 異常值 一組測定值中與平均值的偏差超過3倍標準差的值 排除p x u 3 0....