如何成為一名數據科學家 | 學習篇(附視頻中字)
數據科學家是21世紀最性感的職業,那麼該如何成為一名數據科學家呢?HackerEarth的主題演講中就回答了這一系列的問題。
HackerEarth的主題演講圍繞如何成為一名數據科學家解答了一系列問題。在這裡我們把內容分成上下兩篇,如何成為一名數據科學家之學習篇和面試篇。今天先給大家帶來學習篇的內容。
在本篇中Jesse steinweg - woods向大家講解了為什麼現在是成為數據科學家的最佳時機;如何邁出成為數據科學家的第一步等問題。
關於主講人:
Jesse steinweg - woods是Tronc的一名資深數據科學家,主攻文章的推薦系統和理解客戶行為。此前,他在Argo Group Insurance工作,主要利用機器學習技術採用了新的定價模型。他在德克薩斯A&M大學獲得了大氣科學博士學位,他的研究領域是數值天氣和氣候預測。
CDA字幕組該講座視頻進行了漢化,附有中文字幕的視頻如下:
如何在2017年成為一名數據科學家(一)_騰訊視頻
針對不方面開視頻的小夥伴,CDA字幕組也貼心的整理了文字版本,文字版本如下:
歡迎收看今天的HackerEarth研討會,今天的主題是關於如何成為一名數據科學家。我對此非常期待,希望你們也是如此。
讓我簡單的自我介紹一下,我叫Jesse Steinweg-Woods。我在德克薩斯州A&M大學獲得大氣科學專業的博士學位。我研究主攻數值天氣和天氣預測。之前我在Argo Group Insurance工作,2015年11月我成為了一名數據科學家。
我通過機器學習技術進行定價模型相關工作,這對於保險業來說是很新穎的。之後我將擔任Tronc公司的一名高級數據科學家。
Tronc主要負責美國一些報紙的在線內容。例如洛杉磯時報、芝加哥論壇報、巴爾的摩太陽報、奧蘭多哨兵報等等。我之後可能會參與到報紙網站推薦系統的開發,以及更好的理解用戶等方面的工作。
為什麼要成為數據科學家?
首先我想談談為什麼現在可能是成為數據科學家的好時機。
美國的Glassdoor是一個關注大量工作的統計信息,上面會發布公司面試、薪資信息。他們收集大量的數據 ,然後針對以下內容進行調查:包括工作的滿意度、工作崗位的需求量、薪資、工作與生活的平衡等方面。然後把這些都整合為得分,得出最好工作的名單。
2016年數據科學家名列第一。但今年在Glassdoor上個月發布的名單中,數據科學家連續兩年名列最好的工作的首位。目前它的成績很不錯。
indeed 數據科學家職業發展趨勢
如果看到indeed關於數據科學家工作趨勢的圖,你可以看到它確實呈上升趨勢。
我第一次聽說數據科學這個概念是在2013年10月。之後經過一些思考和研究,我發現這實際是一個我可以從事的工作。
從這之後數據科學一直在上升發展。尤其是在2016年達到一個頂峰,這是市場需求。
這份工作能夠給你提供良好的工作與生活平衡,有不錯的薪資,讓你有機會在眾多的行業中工作,這是很有發展的。
如何成為數據科學家
這裡有些關於數據科學家的搞笑表情包。我覺得這很搞笑,當中也有些是貼近事實。
對於不同的人群數據科學是不同的,這使得它很難以理解。不僅源於從事該工作的人群,也源於招募數據科學家人群的公司。
關於這份工作需要些什麼?這當中存在許多誤解,我將嘗試從我自己的角度進行解釋。
是否需要博士學位?
我發現經常被問到的是,數據科學家是否需要博士學位?
如果你詢問沒有博士學位的數據科學家,他們馬上會回答"不需要」。
但是如果是像我一樣,有博士學位的數據科學家給出的答案會很微妙。我不會回答不需要,而會說"這得看情況"。可能對人們來說,這不是一個滿意的答案。
讓我們看到來自招聘論壇Burtch Works的數據統計。
去年他們對許多數據科學家進行了調查。在這裡你可以看到,許多數據科學家的實際上有博士學位。很大一部分至少有碩士學位,只有8%擁有學士學位。
我還看了一些我認識的數據科學家的簡歷,以及各種就業市場的情況,這些都符合我對該領域的了解。
因此,如果你想成為一名數據科學家,至少在美國,擁有碩士及以上學歷是很重要的。我並不是說如今只有本科學歷就無法成為數據科學家,有一些出色的數據科學家僅有本科學歷。對於大多數人來說,獲得碩士及以上學歷在求職時是非常重要的。
我認為博士學位能讓你更容易邁入求職大門。博士學歷表明你能夠在高強度下,面對棘手的問題並且快速的學習。作為數據科學家你需要大量的工作,我想這就是僱主看重博士學位的原因。
我還注意到,最終如果你想晉陞到領導層。有博士學位會比有碩士學位更容易一些。並不是說這是不可能發生,但有博士學會會容易一些。
數據科學家的主要教育背景
數據科學家的背景涉及的領域較廣,最熱門的背景是數學和統計學。
有些人有工程學背景,以及計算機科學。數據科學混合了計算機科學、數學以及統計。
自然科學。我的博士學歷是關於大氣科學。該部分處於第四位。
然後是社會科學、經濟學、商科、運籌學甚至還有醫學,這些相關性不高。
數據科學中Python和R語言是最熱門的兩個編程語言。
不同背景的人群在選擇這兩種編程語言上有一定相關性。
統計學家更多使用R語言。但對於工程學、計算機科學和自然科學,Python顯然更受歡迎。社會科學和經濟領域更傾向於使用R語言。當然存在一些例外。
要掌握的基礎知識
1. 選擇一個為數據科學設計的開源語言
這裡你基本上只有兩個選擇Python或R語言。
如果你對以上所有語言都不太熟悉,我個人建議你選擇Python。
如果你都熟悉這些語言的話,R語言也是不錯的選擇。
但假如你是新手,你對這些一無所知那麼建議選擇Python。如果你已經很熟悉R語言了,那麼就使用R語言。然後熟悉數據科學家在R語言中使用的流行的庫。
曾經我研究過僱主一般更需要哪種職業技能。當中Python比R語言略勝一籌。
你還會發現在SAS和MATLAB上划了很大的叉,我不建議學習這些語言。因為它們不是開源的,它們需要付費,而且很昂貴。在找工作時這會有一定的局限性。例如創業公司缺少資金,他們需要很快的得到結果。他們不會有資金投入在Sas上 因為其license是很昂貴的。
這些需要付費的非開源工具的另一個缺點在於,使用文檔少。
如Python和R語言的開源工具,就很容易在Stack Overflow等網站上找到你問題的答案。
由於SAS屬於北卡羅萊納州,編寫該語言的公司。獲得相關幫助的唯一途徑是通過用戶手冊,或者熟悉SAS的人。比起Python和R語言,獲得相關幫助是非常困難。
同時你也會遇到靈活性問題。大部分時間你唯一能使用的只有SAS和MATLAB工具。但是由於Python和R語言都很開放,你可以改變它的代碼,非常的靈活。在數據科學中靈活性十分重要。因為在不同項目中要用到的東西也大不相同。
Burtch Works的調查再次證明了這點。
看到右側的預測分析專家和左側數據科學家,可以在SAS的使用上看到很大的區別。
預測分析更類似數據分析中SAS佔43%,但在數據科學家中一直下降到3%。因此可以在工具使用上看到巨大的差異。預測分析中Python使用率僅為16%,但在數據科學家中一路攀升到53%。
因此通過這些信息,我認為你應該選擇開源的工具,如Python或R語言。並遠離那些昂貴的工具,如SAS或MATLAB。
我更喜歡Python,我認為從長遠的角度這是更好的工具。這些是使用在Python數據棧中的一些常規的庫。
Python Data Stack
建議學好使用這些庫。
panda是十分出色的用於操縱數據的庫,當中有數據框。如果你經常用的話,這將是你的主力。這是我遇到的設計得最出色的庫之一。我強烈推薦。
NumPy和SciPy這兩個庫構成了其他很多庫的主幹。在快速高效地計算矩陣,處理優化問題,需要快速計算數字和矩陣方面的問題時,這兩個庫很實用。它們構成了其他很多工具的基礎。
Matplotlib用於進行可視化。還有在Matplotlib上產生的工具例如Seaborn。Seaborn更容易使用一些,這也是對Matplotlib的抱怨之一,它不是太好使用。我同意這一點。
IPython能讓在交互環境中輸入代碼,得到結果。Jupyter notebook能更好的記錄你的工作,並與他人分享。
scikit-learn包含一些機器學習的庫,適用於各種問題。文檔十分出色,因此是值得掌握的庫。因為文檔十分出色,比較容易學。
2. 學好SQL很重要
學習SQL要麼是通過實習,要麼是通過自己摸索。好消息是SQL並不難學,它需要多練習。
我發現最適合練習SQL的就是這個網站http://sqlzoo.net。這能夠引導你完成許多作為數據科學家的常見操作。因為與資料庫交互是非常重要的,不能輕視這點。
當參加面試時,如果完全沒有SQL的經驗,這可能會給你亮紅燈。所以確保掌握SQL是非常重要的。
3. 機器學習
這裡我推薦三個資源,吳恩達的Coursera課程非常熱門,在此我強烈推薦。
雖然是用MATLAB進行的編碼,但是你不必使用MATLAB,這只是他教學的方式。我會更專註於他是如何進行這些演算法的。這是開始進行機器學習的不錯方式。
如果你準備好學習一些骨灰級內容的話,《統計學習導論》是不錯的選擇。這本書非常偏重數學部分,並不適合初學者。
當中使用R語言,我認為每個骨灰級的數據科學家都應該讀讀這本書。因為它詳盡的囊括了所有你可能用到的機器學習演算法,這是針對該主題我所知最好的書。我承認這本書很難讀,但是如果你真的想好好掌握這方面內容的話,這本書是不二之選。
當然還有scikit-learn文檔。
這是這個庫的優勢之一是有很多可以看的教程,可以指導你學習處理許多模型。以及根據對象的組成代碼應該如何運行,如何與管道、交叉驗證進行交互等等。這些都包含在文檔中,通過這些教程會大大的幫助你。
4. 貝葉斯統計
數據科學家還需要掌握一些貝葉斯統計。這當然也取決於工作,有些工作比起其他工作更需要掌握這個。但對於大多數工作 開始掌握一些基礎則足以。
我建議這兩個資源。
《Bayesian Methods for Hackers》
這是Cameron Davidsonpilonon寫的。在github是免費的,有交互代碼的例子。你可以結合notebook一起看,能夠很好的理解。更多的是以計算機科學的視角解讀,如何使用貝葉斯統計,以及如何考慮最終要處理的基礎統計問題。
《Statistics for Hackers》
是很出色的演講,可以通過這個鏈接看到相關幻燈片。主講人是華盛頓大學的教授Jake VanderPlas。我強烈推薦。
5. 概率分布
你需要掌握基本概率分布。需要了解它們的表達和含義。理解它們是非常重要的,因為當你構建模型時需要了解一開始數據是如何分布的。
那麼在完成數據科學家的第一步之後,該怎麼面試找工作呢?關於數據科學存在什麼誤解和假象呢?之後我們將帶來如何成為一名數據科學家之面試篇,敬請期待哦。
推薦閱讀:
※數據科學家的自我修養
※[重溫Statistics] P-Value
※[Python入門] 04 文件與函數
※對數據科學感興趣?先看看這些
※「數據達人養成計劃」Live知識要點