如何成為一名數據科學家?
Intuit資深數據科學家&創新領袖George Roumeliotis認為,數據科學家是一個結合了應用數學、計算機科學、商業資訊和新產品開發的綜合職位,最后一項目前在數據科學中的比例越來越大。一名出色的數據科學家應該像瑞士軍刀一樣多才多藝,能夠在諸多領域都有所作為,并且在一兩個區域內擁有深邃的真知灼見。
數據科學家需要有三個方面的技能或素質:經典統計學或者機器學習、計算機科學和商業咨詢能力。
其中,數據科學家的技術列表大概包括了統計學、機器學習、SQL和Hadoop,以及一門類似Java一類的主流編程語言。
先說數據庫技術,熟練使用SQL語言和Hadoop絕對是繞不過去的條件,如果你還是一名在校大學生,你一定要學會它。可以參加一些相關的基礎課程,并要確保課程里包含了一個至少有一部分需要你動手去完成的項目。
再說編程技術,學會R語言是重中之重。這個語言寫起來不那么漂亮,但是絕對是一個非常通用的語言。另外,你需要學會一門主流的編程語言,比如Java或者C++。當然,學會一門主流的腳本語言,例如Python和Perl也是很有用的。
如果你需要給這些語言或者技術做一個優先級排序或者估計一下它們的比例,大概是這個樣子的:
同樣,商業咨詢能力也是很重要的,它是區分數據科學家與數據“技術宅”的重要指標,一個具有商業咨詢能力的數據科學家就像是一個資深的麥肯錫咨詢師,可以流暢地在商業和技術兩個區域騰挪閃轉,并且是一名能被人信任的商業顧問或者領袖。
那么,怎樣才能成為具備這些能力的數據科學家呢?對于有志于數據科學的本科或者研究生同學,哈佛大學應用統計專業教授Joe Blitzstein給出了學習建議:
充分利用在線資料:在網上可以找到大量關于數據科學的資料,不要只埋頭在書本里。動手做Kaggle之類的競賽:除了看書和學習在線課程以外,切記一定要去Kaggle網站上動手做一些類似Kaggle的競賽。Kaggle上有非常有趣的數據集以及問題等待大家去處理,大部分都是關于預測變量的。你可以嘗試一個或者幾個比賽,找到那些你感興趣的數據集,大膽地參與其中,也可以從中找到各種各樣關于回歸模型和機器學習的問題。去看那些不同的問題,然后嘗試去用每一個問題提供的數據解決它們,你將會對于用什么方法解決什么問題有更深的理解。這些東西中有很多都是很難通過課程來學會的,需要上手寫代碼做東西才能知道。
努力去做數學、統計學和計算機這三種學科的交叉型人才,并且牢牢地打好基礎。專注于解決現實問題,要記住深度比廣度有用。解決一些有難度的問題,這樣你可以將自己的課堂所學運用于現實生活中,獲得更多的想法,以及能準確地判斷這些想法與數據科學有沒有關聯。要多問問題,以及嚴謹求實:隨時隨地問自己一個很基本的問題:“有誰會關心這個問題?”多想想你做這一切的動機。為什么這些變量相互關聯?為什么這個數據集有意思?我們能用它回答什么問題?當你使用不同的統計方法的時候,不要只是像用架子上的一個黑盒子一樣,拿過來用它產出結果。一定要多問問題!這些結果有意義嗎?你如何評估你使用的方法是不是靠譜的?或者說你怎么知道用這個復雜模型的效果要比隨便去猜更準確?你怎么知道它更好?它在哪些方面更好?它確實比一些很簡單的模型好嗎?不停地去試問這些東西,然后去比較它們。無論結果有沒有變好,都一定要深究下去。
如果你想獲得更多關于如何成為數據科學家的方法,可以去閱讀這本《數據科學家訪談錄》。這本書對25位世界知名的數據科學家進行了深度的訪談,從不同的視角和維度,將他們的智慧、經驗、指導和建議凝聚成冊。每一篇訪談都是一次深度的交流,涵蓋了這些數據科學家從菜鳥起步,運用各種知識武裝和充實自己,一直到成為一名卓有成效的數據科學家的全過程。通過閱讀本書中的訪談,讀者可以形成對數據科學的宏觀認識和了解,更深刻地認識和體驗數據科學家的角色,并且從這些前輩的過往經歷中學到寶貴的知識和經驗,以應用于自身的成長和事業中。
更多精彩內容,請關注@人民郵電出版社 頭條官方號