講個找數據科學工作的捷徑 刷Kaggle題迅速入門data scient

2021-03-02 大數據應用

小編今天翻到論壇2015年的文章,說的很有道理的,越來越多的人參加kaggle比賽希望拿個名次做data scientist工作敲門磚,人潮湧湧,單靠自己倒騰折騰,去年還可以練練手增加經驗,今時不比往日啊,

所以我們組織了kaggle比賽的獲獎選手,作為導師帶你一起刷!

我們的小夥伴,曾經物理phd,沒有。。。基礎,在去年airbnb kaggle比賽中就獲得。。。相當不錯的名次,一把幫他拿下。。。。interview 機會和。。。工作offer

轉載:BBS 未名空間站,作者:phunter (程式獵人:LA摸機會資深成員)

貢獻一個我之前寫的貼,刷Kaggle的題是快速成為data scientist的捷徑之一,這和什
麼山寨leetcode不一樣,那個刷200題對實際工作毫無幫助(對面試也幾乎無幫助),
刷Kaggle只要刷一倆題,差不多花三個月的業餘時間,智力正常的理工科大學畢業生都
能對data science這個東西有個初步但是全面的了解,在數據清理,數據操作,建立模
型,評價模型和結果這些方面都有實際深入的了解,不會再出現「面試官問overfit了
怎麼辦,我說了Cross Validation,面試官看起來不高興」然後下面回帖幫樓主的都是
不知所云樓主看了也是雲裡霧裡這樣的慘劇。你要是學好了就會發現,其實那個面試官
自己也不太懂就知道個概念才會問那個的問題,照著這個教程來,分分鐘和面試官對L1
和L2 regularization 對稀疏feature的表現談笑風生,如果搞的深入點把深度學習順
道也會了,說個「其實dropout也是regularization什麼什麼的」,保證面試官立刻給
你跪舔,再也不敢上來賣弄概念自尋羞辱。


怎樣快糙猛的開始搞Kaggle比賽

本文寫給想開始搞Kaggle比賽又害怕無從下手的小朋友們。

最近比較多人問我怎麼快速成為數據科學家可以掙錢多幹活少整天獵頭追跳槽漲一倍。
我一般的答案是,沒有這好事,但是搞搞Kaggle的比賽有助於快速成為數據科學家,之
後掙錢多少看個人。關於Kaggle比賽是什麼,限於篇幅關係,請自行谷歌。

我不是專業機器學習的人,但是我見的太多了。對於有一定數理基礎的人來說,快速起
步搞起來個Kaggle比賽並且獲得不錯的名次,難度並非難於成為王思聰的官方老婆。這
裡有三個部分的知識需要強化:

1. 數理基礎。基本上高考數學不錯的理工科學生,學過了大一大二的數學基礎課程(
包括微積分、數理統計、數理方程、集合論等),不存在任何問題。如果想測試一下自
己,那就看看這個題目:

如果一個妹子喜歡我可能因為我帥或者我有錢,因為我既帥又有錢的概率是0.1,只是
因為我有錢的概率是0.5,問,如果妹子喜歡我只是因為我就是帥的概率是多少?

如果能不費力氣(心算更好)的解答這個問題,基本上這部分知識是足夠了。

2. 機器學習。Kaggle比賽多依靠機器來自動處理,機器學習幾乎是必須要的技能。開
始搞Kaggle需要的機器學習技能並不深入,只是需要對於機器學習的常見幾個方法有基
本了解即可,比如說對於一個問題,你可以認識到它是個classification的問題啊還是
regression的問題啊,為什麼機器可以根據你輸入的一個矩陣來算出來分類結果啊。推
薦Coursera上Andrew Ng的機器學習課程 https://www.coursera.org/course/ml 一個
捷徑就是,如果你時間緊的話,只要知道什麼叫做Supervised learning並且會自己實
現一個Logistic Regression,差不多就夠了。

順便,scikit learn有個極快速的入門,請自行前往觀看(請不要私信問我作業面試題之
類的,作業和面試題都要自己寫啊,我只能婉拒)
http://scikit-learn.org/stable/tutorial/statistical_inference/s

3. Coding。限於篇幅只介紹Python。我可沒有說什麼欽定Python,你問我支持不支持
,我用python我當然支持。基本的python編程得熟練,如果不熟練可以先學習 Learn 
Python the Hard Way。會了python之後,把scikit-learn的基本教程的
classification的部分練練,你會發現在Andrew Ng課上學的知識,在python裡面實際
跑跑簡單數據,能對課上的知識深刻的理解。同時,如果有富餘時間的話,可以順道看
看numpy和pandas的一些基礎操作,這些是用來數據處理好工具。

上面三點對一個數理基礎不錯的人來說,差不多幾周的空餘時間就可以了,如果是在校
學生可能更快。

開始搞Kaggle的時候,建議選個入門容易的比賽。如何選擇,簡單來說就選個參賽人多
的就好了,基本上認真搞搞結果還不會差呢。如果一個比賽還有自帶Tutorial 就更好
了。比如我們可以選鐵達尼號的比賽,根據乘客的信息來判斷他是不是可能在沉船中
遇難。地址是 https://www.kaggle.com/c/titanic-gettingStarted 

這個比賽有個很好的tutorial,第一次參加比賽的,可以在比賽過程裡遇到但是不限於
如下的問題:

1. 數據怎麼讀取

2. 有missing value怎麼辦

3. 一等艙二等艙之類的feature為什麼得當作categorial feature

4. 。。。。

等等等等之類的問題。這些問題都是在數據科學領域的實際工作每天都能遇到的。最好
的學習方法就是針對這個問題,你看Discuss Forum和Tutorial裡面教你怎麼解決,自
己google一下看別人寫好的代碼怎麼解決這些問題。這階段我建議靠自己的力量搜索答
案而不是去論壇上問一些伸手黨類的SB問題,即使問了也沒關係有人會替你解答的但是
這不是慢嘛。

然後你會開始訓練你的模型,又會遇到但是不限於以下的問題

1. 啥叫random forest,咋用,為什麼我調了這幾個參數不靈呢

2. 怎麼我本地結果很好,但是提交名次掉成狗

3. 原來我要Cross Validation啊(Andrew Ng的課裡說到的那些看起來很無聊的曲線現
在知道是為什麼了吧)

4. 。。。。。。

等等之類的。這些問題也是實際工作每天都能遇到的。你就看人家怎麼調你就跟著模仿
,然後體會思考一下不同調法對結果有什麼區別。這比在@七月問答 上面問「如果某某
情況我的隨機森林的參數該怎麼調才能避免這個情況」之類,對問題領悟的更深刻。折
磨過幾波模型調參,你就差不多知道這些模型的套路是什麼了。

然後你開始刷名次,又會遇到但是不限於以下的問題:

1. 怎麼CV的結果挺好但是上去還是比不過呢

2. 那誰說用Vowel Wabbit對每個分類做優化怎麼搞啊

3. 組合模型這概念我知道,但是實際怎麼組合呢

4. 。。。。。。


經過這些,你差不多就知道解決一個實際的機器學習問題需要做什麼事情了。對的,這
就是數據科學家幾乎每天的工作,各部分比重不一樣,但是理解問題、數據清理、模型
調參、評估結果這些循環反覆的動作,基本上就是數據科學家需要做的。

在這個摸索挨打的過程中,你可以快速學會數據科學的常用工具(numpy scipy pandas
scikit等等),也會在別人的帶動下發現新工具(比如@陳天奇怪 的xgboost,vowpal
wabbit之類的),也會學會新技能(比如深度學習以及如何用深度學習去解決實際的
問題)。這個學習速度遠超過於看書看blog,在挨打的過程裡,回想一下從可可老師那
裡看到的每天十條數據科學經驗,會不會覺得理解的更深入了呢?

在有實際工業界工作經驗之前,搞搞Kaggle比賽幾乎是最有效的跨過」數據科學家「門
檻的方法。有了實際工作經驗,搞搞Kaggle比賽也能擴大視野,也能把前沿研究的第一
手結果用到實際問題裡。大家加油,跳槽就翻倍的高薪工作指日可待(我沒有保證能高
薪啊,不要到時候把我拉出來批判一番)

相關焦點

  • 數據科學入門前需要知道的10件事
    他在22歲時開始自學數據科學,目前已經自學成才,文摘菌編譯了這篇文章,希望能把以下需要注意的10件事告訴剛入門的你。我從2004年開始數據科學之旅。那個時候『數據科學』概念才剛被提出,當時廣泛使用的術語是『數據挖掘』。一直到2012年『數據科學』這個概念才引起人們注意,且一篇由Thomas Davenport 和 D.J.
  • kaggle、TDS、arXiv等,我最喜歡的數據科學資源
    /my-10-favorite-resources-for-learning-data-science-online-c645aa3d0afb當我聲明數據科學正在成為最受歡迎的工作領域之一時,我想你不會與我爭辯,特別是考慮到《哈佛商業評論》將 "數據科學家 "評為21世紀最性感的工作。
  • 語言學博士、Kaggle數據分析師:這4項數據科學技能,讀研學不到
    大數據文摘作品編譯:王一丁、吳雙、Yawei Xia學校裡教的數據科學和實際工作中的數據科學的差距,那麼這可能會是當你準備進入數據科學行業工作時面臨的一個問題:在Python和R之後,SQL是數據科學中使用最廣泛的第三種工具(而你很可能對它的掌握程度並不夠)。SQL(通常讀作「sequel」)是一種與資料庫交互的程式語言。SQL雖然在學術研究中用的不多,但在行業中卻應用十分廣泛。
  • 總結丨波音Data Scientist分享數據職場之路
    在boeing當了半年多的data scientist,感覺在真實的工作環境中,數據很難找,公司裡有上百個不同的資料庫,所以找數據是一個非常頭疼的事情,有時花了很多時間找到的數據其實覆蓋率非常差,比如只能覆蓋10%的數據。而學校裡的項目,是都給了現成的數據,而且不會存在很多數據缺失等問題。
  • 除Kaggle外,還有哪些頂級數據科學競賽平臺
    在數據科學圈晃蕩的小夥伴,很少有不知道Kaggle的。平臺連結:https://towardsdatascience.com/top-competitive-data-science-platforms-other-than-kaggle-2995e9dad93c
  • 柯西科研 | 超高含金量海外量化數據科學背景提升項目—Kaggle
    在暑期三個月的實習中,我感覺工業界做的事情和學術界相差很大,比如現在業界比較受歡迎的幾個advanced model,學校都沒聽說過,但在實習期間manager直接讓用;如果不是因為做過Kaggle,項目導師詳細講過並給過code,我的工作表現就不會這麼高效和備受稱讚。
  • 重啟數據科學:如何開啟第二次的學習?
    若你想重新學習機器學習和數據科學,該從何處下手呢?筆者最近就打算重拾數據科學,有趣的是,預期和實際開始學習的方式截然不同。不同人對學習方式各不相同。有人更喜歡看視頻學習,有些人選擇看書,還有許多人選擇參加付費課程督促自己學習。而筆者更喜歡逐步推進、由易到難的方式,從一些實例開始,然後逐步轉向更為深奧的理論。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    推薦一個數據平臺:www.kaggle.com數據科學的很多數據是來源於kaggle,這個平臺上有很多公開的數據,而且這些數據都是真實的數據,因此我們後面通過pandas去處理的數據都是從kaggle上下載的數據。●註冊並激活kaggle帳號首先你需要在kaggle註冊一個帳號,才能下載它的數據。
  • 機器學習Kaggle入門,房價預測比賽
    機器學習Kaggle入門,自行車租賃預測比賽第一個問題是分類問題,第二個問題是回歸問題。現在這篇文章,會側重介紹kaggle的實際操作」現場「,方便大家去跟著思路學習進入到kaggle的真實世界,不僅知道怎麼做模型預測,還知道數據在哪下載,在哪提交。其次,這個房價預測的比賽相比之前的兩個案例是特徵多了很多,面對特徵突然」爆炸「,本文提供簡單的處理思路。
  • 14個超有趣的數據科學項目,數據集都準備好了!
    對於對數據,數據分析或數據科學感興趣的人,我們提供了一份可以利用業餘時間完成的數據科學項目清單,一共14個! 難易程度:介於簡單到中等之間 數據集: https://www.kaggle.com/berkeleyearth/climate-change-earth-surface-temperature-data/kernels 探索性數據分析項目
  • Kaggle 開放數據研究基金,1 月 9 日截止申請
    申請基金的人員可以是研究生、博士生、研究科學家、博士後研究員和受到認可的大學的教員,kaggle 歡迎這些人申請 Kaggle 開放數據研究補助金(以條款為準)。獲得資助的研究人員在發表他們的研究成果時,將被要求在 Kaggle 上公開他們的數據和代碼。這項撥款旨在幫助推進個別研究項目,而不是支持更廣泛的研究計劃,這些項目將在撥款後的六個月內公布。
  • Kaggle平臺入門(二)Titanic初試身手
    前兩天有讀者反饋剛接觸kaggle,之前發Titanic入門的文章涉及到XGBoost,對新手不太友好。
  • Kaggle最受歡迎的10個競賽數據集下載
    點擊上方藍色字體關注公眾號這周兩篇文章:最近有人問有沒有相關數據集,這幾天抽時間整理了以下數據集,標題即是Kaggle
  • Kaggle金牌得主的Python數據挖掘框架,機器學習基本流程都講清楚了
    作者 | 劉早起來源 | 早起Python導語:很多同學在學習機器學習時往往掉進了不停看書、刷視頻的,但缺少實際項目訓練的坑,有時想去練習卻又找不到一個足夠完整的教程,本項目翻譯自kaggle入門項目Titanic金牌獲得者的Kernel,該篇文章通過大家並不陌生的泰坦尼克數據集詳細的介紹了如何分析問題、數據預處理、建立模型、特徵選擇、模型評估與改進
  • 除了Kaggle,這裡還有一些含金量高的數據科學競賽哦
    李詩萌、王淑婷除了大名鼎鼎的 kaggle,數據科學家可以參加的數據競賽平臺其實還蠻多的。數據科學比賽不僅是算法的應用。從本質上講算法是一種工具,任何人都可以寫幾行代碼來使用它。參加這些比賽的主要原因是它們能提供很好的學習機會。當然,競賽中的問題和現實問題不一定一樣,但這些平臺可以讓你將學到的知識付諸實踐,還能讓你了解自己和他人的差距。
  • 【數據競賽】高質量數據科學競賽平臺匯總
    1. kaggle一個比較權威的全球性的數據競賽平臺,也是一個很好的技術和數據分享社區。可以找到各個領域的比賽和數據,最重要的是可以找到很多有用的經驗貼和一個開源的代碼,可以幫助小白前進,小編做個幾個比賽,該平臺對我的幫助很大,學到很多東西。
  • 最新Kaggle年度報告!年輕多金、年薪百萬的數據科學家你愛了嗎?
    *報告連結:https://www.kaggle.com/c/kaggle-survey-2020這個領域有三個主要成員(不難猜),它們是 AWS、谷歌雲平臺、微軟 Azure。值得注意的是,越來越多的數據科學家開始採用全部上雲的方式。
  • 刷題兩個月,從入門到字節跳動offer,這是我的模板|GitHub1.2k星
    按照他的經歷來說,四月份找工作開始,從0開始刷LeetCode,現在已經是字節跳動的員工了。於是就通過各種刷題文章,專欄,視頻等總結了一套自己的刷題模板。最科學的刷題方式,最快速的刷題路徑,到底是怎樣的呢?
  • 圖像分類:13個Kaggle項目的經驗總結
    在這篇文章中,我將給你很多資源來學習,聚焦於從13個Kaggle比賽中挑選出的最好的Kaggle kernel。://www.kaggle.com/c/aesthetic-visual-analysis/notebooks數據每一個機器學習/深度學習解決方案都從原始數據開始。
  • 每天一個數據科學項目,數據集都準備好了!
    編譯:張大筆茹、夏雅薇相信很多同學一直苦於沒有數據集可以練習,這裡給大家提供了一份可以利用業餘時間完成的數據科學項目清單,一共14個!難易程度:介於簡單到中等之間數據集:https://www.kaggle.com/berkeleyearth/climate-change-earth-surface-temperature-data/kernels探索性數據分析(EDA),也稱為數據挖掘,意思是數據分析過程中使用了多種技術來更好理解數據。