如何成為一名數(shù)據(jù)科學(xué)家

如何成為一名數(shù)據(jù)科學(xué)家

本文總結(jié)了數(shù)據(jù)科學(xué)領(lǐng)域的資源,很大程度上參考了Quora的這篇文章,根據(jù)博主的經(jīng)驗(yàn)在內(nèi)容上做了適當(dāng)?shù)恼{(diào)整,僅供參考

1.基礎(chǔ)知識(shí)

課程方面要學(xué)的有:多值微積分、數(shù)值分析、線性幾何、概率論、Python

微積分在機(jī)器學(xué)習(xí)和各種求概率中非常重要。線性幾何、矩陣對(duì)于機(jī)器學(xué)習(xí)的大多數(shù)概念都是必不可少的。Python這種編程語言非常適合搞數(shù)據(jù)科學(xué)。其他的知識(shí)(比如隨機(jī)森林,pandas,A/B測(cè)試)隨著你的工作開展和學(xué)習(xí)會(huì)慢慢接觸到,這些都不是基本的問題。

如果你還是學(xué)生,一定要學(xué)好計(jì)算科學(xué)和統(tǒng)計(jì)學(xué),選課的時(shí)候要記得選線性幾何、矩陣、計(jì)算科學(xué)、概率論等相關(guān)的課程。

2.Python是數(shù)據(jù)科學(xué)家最重要的語言

Python有著像matlab一樣強(qiáng)大數(shù)值計(jì)算工具包NumPy;有著繪圖工具包matplotlib;有著科學(xué)計(jì)算工具包SciPy(基于Numpy和matplotlib的)。這三者為Python提供了像Matlab一樣強(qiáng)大的矩陣控制能力,這是Python完勝Perl和Ruby的地方。

當(dāng)然,除了Python之外,R,Matlab/Octave,Mathematica/Sage也正在崛起。這些語言也有著一些優(yōu)勢(shì)。不過,就拿R來說,R的數(shù)據(jù)框架和相關(guān)的控制能力已經(jīng)被Python的pandas工具包實(shí)現(xiàn)了。Scikit-learn也提供了像R一樣強(qiáng)大的機(jī)器學(xué)習(xí)算法庫。 Mathematica/Sage中“notebook”的概念也被IPython notebooks實(shí)現(xiàn)了。

當(dāng)然,Python也不是萬能的,比如:

語法比起Matlab和Octave來說還是笨重了,R的語法就好很多

Python缺少像ggplot2這種靜態(tài)圖和D3這種可交互圖,matplotlib用起來還是比較復(fù)雜

處理大數(shù)據(jù)時(shí),Numpy和pandas這些庫有些捉襟見肘,Continuum正在致力于解決這個(gè)問題,目前來看還沒有完成

對(duì)于數(shù)據(jù)控制,缺少像LINQ那樣的內(nèi)置的聲明式的語言。Pandas對(duì)數(shù)據(jù)控制的能力還是比較低級(jí),而且當(dāng)你深入研究Pandas的時(shí)候很可能會(huì)被它的語法整崩潰

缺少面向數(shù)據(jù)科學(xué)家的專門的IDE,R的R Studio就不錯(cuò)

對(duì)于數(shù)據(jù)科學(xué)家而言,Python可能是最重要的語言了,如前文所述,它有著非常豐富的生態(tài)系統(tǒng)。

R語言能夠在處理過的數(shù)據(jù)上運(yùn)行機(jī)器學(xué)習(xí)算法,但是Python直接能夠處理數(shù)據(jù),而Pandas幾乎可以像SQL那樣對(duì)數(shù)據(jù)進(jìn)行控制。Matplotlib能夠讓你對(duì)數(shù)據(jù)和結(jié)果進(jìn)行可視化,以便快速理解你的數(shù)據(jù)。Scikit-learn提供了機(jī)器學(xué)習(xí)算法支持,Theano提供了深度學(xué)習(xí)框架(還可以使用GPU加速)。用過R、matlab、Octive、Python、SAS和Microsoft Analysis Services的人都推薦用Python。

3.加入社區(qū)

Meetup:到Meetup上找一些你感興趣的talk,在線的學(xué)習(xí)數(shù)據(jù)科學(xué),認(rèn)識(shí)一些數(shù)據(jù)科學(xué)家或者將來的數(shù)據(jù)科學(xué)家。

博客:這里有個(gè)國(guó)外比較具有影響力的數(shù)據(jù)科學(xué)家的博客列表,可以選一些follow。

Quora、twitter:數(shù)據(jù)科學(xué)第一手的信息資源的來源一般是twitter、Quora上的用戶,例如

Jeff Hammerbacher @hackingdata

Peter Skomoroch @peteskomoroch

Ryan Rosario @datajunkie

Michael E Driscoll @medriscoll

Joseph Turian @turian

Nathan Yau @flowingdata

Peter Skomoroch @peteskomoroch

Russell Jurney @rjurney

Bradford Cross @bradfordcross

J.D. Long @cmastication,Jimmy Lin @lintool

Kevin Weil @kevinweil

Mat Kelcey @mat_kelcey

Edwin Chen @edchedch

Data Drinking Group @chrisalbon/data-drinking-group

Big Data @dataspora/bigdata

Data Science @pinoystartup/sim-data-team

Strata Program Committee @strataconf/strata-committee

到Quora和Twitter上去follow這些人吧,別忘了follow自己這個(gè)領(lǐng)域最牛的那幾個(gè)人,比如博主follow了Socher。另外,這個(gè)網(wǎng)站分析了twitter上哪些人在數(shù)據(jù)科學(xué)領(lǐng)域最具影響力。Quora上有很多資源,跟stackoverflow不同的是,Quora比較像知乎,會(huì)有人給你一些像survey類型的經(jīng)驗(yàn),一般問題都比較抽象,回答比較系統(tǒng);stackoverflow更擅長(zhǎng)具體的問題,尤其是編程方面的細(xì)節(jié)問題。

新浪微博:由于博主只是一個(gè)普通的微博用戶,且個(gè)人較偏向于文本方向,對(duì)大咖們的了解還不夠深入,難免有缺漏,如果有缺漏了請(qǐng)多包涵且告知。以下是我個(gè)人關(guān)注的微博大咖們:

王威廉

王偉DL

劉知遠(yuǎn)THU

張棟_機(jī)器學(xué)習(xí)

李航博士

丕子

winsty

黃亮-算法時(shí)代

梁斌penny

licstar

老師木

數(shù)盟社區(qū)

52nlp

好東西傳送門

西瓜大丸子湯

數(shù)據(jù)挖掘研究院

愛可可-愛生活

龍星鏢局

另外,好東西傳送門的日?qǐng)?bào)每天都會(huì)收錄微博精華,懶得刷微博的同學(xué)可以看這里http://memect.com/

個(gè)人加的幾個(gè)QQ群

自然語言處理 174735435

龍星課程-機(jī)器學(xué)習(xí) 163973179

神經(jīng)網(wǎng)絡(luò)?/?深度學(xué)習(xí) 385206220

Deep Learning高質(zhì)量 209306058

生物醫(yī)學(xué)文本挖掘BIONLP 290210559

數(shù)盟【數(shù)據(jù)分析1群】 321311420

4.配置你的環(huán)境

Python的安裝

RR studio

Sublime Text(比notepad++和ue更適合寫代碼,個(gè)人用的eclipse+PyDev)

5.學(xué)習(xí)相關(guān)工具的使用

Python: 可以結(jié)合官方教程笨辦法學(xué)Python英文原版)、Think Python:How to Think Like a Computer Scientist來學(xué)習(xí)。書可以從這里找?guī)妆尽.?dāng)然,找到最適合自己的方式是最好的,以上只是提供一些選擇而已,博主當(dāng)時(shí)是學(xué)的Udacity的programming language外加Natural Language Processing With Python

R: 推薦swirl,一個(gè)數(shù)據(jù)科學(xué)和R配套學(xué)習(xí)的教程

Sublime Text:這個(gè)網(wǎng)站還不錯(cuò),從配置到快捷鍵,里邊的視頻在youtube上

SQL: 個(gè)人感覺這個(gè)不太重要,而且SQL相對(duì)來說較簡(jiǎn)單,對(duì)找工作也許有點(diǎn)用處

結(jié)合概率統(tǒng)計(jì)來學(xué)習(xí): 以上這些語言比起C、Java來說語法很簡(jiǎn)單,有基礎(chǔ)的同學(xué)很輕松就能掌握,對(duì)于這類同學(xué)來說,可以結(jié)合概率統(tǒng)計(jì)順便把編程語言給學(xué)了。例如:針對(duì)Python的Think Statspdf)、針對(duì)R的An Introduction to Statistical Learning(MOOC)、應(yīng)該掌握的統(tǒng)計(jì)學(xué)知識(shí)點(diǎn)可以參考這里

6.哈佛的data science公開課

不必多說,看了再說,視頻配套PPT配套實(shí)驗(yàn)配套作業(yè)

7.到Kaggle上找一些基礎(chǔ)的競(jìng)賽練手

剛開始的時(shí)候最好不要直接參加由獎(jiǎng)金的競(jìng)賽,因?yàn)檫@些競(jìng)賽的數(shù)據(jù)往往很大、復(fù)雜、晦澀,不適合學(xué)習(xí)。可以先學(xué)(wan)學(xué)(wan)Scikit-learn,拿這個(gè)簡(jiǎn)單的二元分類任務(wù)練手:Data Science London + Scikit-learn

接下來可以進(jìn)軍第二個(gè)任務(wù):Titanic: Machine Learning from Disaster,這個(gè)任務(wù)比第一個(gè)要稍微復(fù)雜那么一點(diǎn)(有枚舉類型的變量categorical variables,丟失的變量這些情況了)。

第三個(gè)任務(wù),可以嘗試Forest Cover Type Prediction

第四個(gè)任務(wù),可以嘗試Bike Sharing Demand,這里邊有一些時(shí)間戳數(shù)據(jù)。

第五個(gè)任務(wù),嘗試一些自然語言處理的任務(wù),如情感分析

做完這些之后,再找些自己感興趣的競(jìng)賽做做。

8.數(shù)據(jù)科學(xué)相關(guān)的知識(shí)

產(chǎn)品指標(biāo)會(huì)教你公司里邊關(guān)心什么、看重什么、他們是怎么衡量產(chǎn)品的:The 27 Metrics in Pinterest’s Internal Growth Dashboard

優(yōu)化方法能幫你理解統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí):Convex Optimization - Boyd and Vandenberghe

A/B測(cè)試其實(shí)在醫(yī)學(xué)上已經(jīng)應(yīng)用多年了,只是換了個(gè)名字而已:How do I learn about A/B Testing?

用戶行為This Explains Everything " User Behavior

Feature Engineering一些經(jīng)驗(yàn)一個(gè)案例

大數(shù)據(jù)技術(shù)針對(duì)大數(shù)據(jù)技術(shù)的工具、框架How do I learn big data technologies?

Machine LearningHow do I learn Machine Learning?

Natural Language Processing自然語言處理需要把文本數(shù)據(jù)數(shù)學(xué)化,并且要盡量不丟失文本的“含義”。文本挖掘會(huì)讓你接觸全新的、令人興奮的數(shù)據(jù)(做了都說好,誰做誰知道)How do I learn Natural Language Processing (NLP)?

時(shí)間序列分析How do I learn about time series analysis?

數(shù)據(jù)文明data-driven.pdf

9.參與/solo個(gè)頂層產(chǎn)品

用已掌握的數(shù)據(jù)科學(xué)和軟件工程技能做出個(gè)讓別人看了會(huì)點(diǎn)贊的成品出來,可以是網(wǎng)站、處理數(shù)據(jù)的新方法、炫酷的可視化等等。要做這么個(gè)成品,可以先看看以下內(nèi)容:

數(shù)據(jù)科學(xué)中的toy problem

如何搭建一個(gè)推薦引擎

怎么利用利用閑暇時(shí)間快速搭建Python項(xiàng)目

如何衡量一個(gè)twitter用戶的影響力

開放的大規(guī)模數(shù)據(jù)集

郵件優(yōu)先級(jí)相關(guān)算法

一些優(yōu)秀的數(shù)據(jù)科學(xué)project

10.公開和社交

在github上創(chuàng)建公開的倉庫,寫博客,把你的研究工作、參與的項(xiàng)目、Kaggle競(jìng)賽的解決方案、見解和想法都貼出來,這會(huì)讓你提升影響力,為你的簡(jiǎn)歷準(zhǔn)備素材,跟通靈玉的其他人建立聯(lián)系。

11.獲得數(shù)據(jù)科學(xué)的實(shí)習(xí)或工作

BAT都有相關(guān)領(lǐng)域的實(shí)習(xí)崗位,另外這里有些國(guó)外的提供實(shí)習(xí)機(jī)會(huì)的公司

搞不清自己該申請(qǐng)數(shù)據(jù)科學(xué)還是軟件開發(fā)的實(shí)習(xí)?參考這里

現(xiàn)在很多公司在初秋一直到冬天都會(huì)招聘數(shù)據(jù)科學(xué)崗位實(shí)習(xí),僅僅是實(shí)習(xí)的話,記得不要花過多的時(shí)間去準(zhǔn)備,直接去應(yīng)聘就行。

12.在線書籍

Elements of Statistical Learning: data mining, inference, and prediction. 2nd Edition.

Introduction to Statistical Learning: Page on usc.edu

Think Stats: Probability and Statistics for Programmers

13.像數(shù)據(jù)科學(xué)家一樣思考

以上已經(jīng)詳細(xì)的介紹了數(shù)據(jù)科學(xué)家所需要的具體技巧。想要像數(shù)據(jù)科學(xué)家一樣思考,建立正確的態(tài)度,只有這些技術(shù)是遠(yuǎn)遠(yuǎn)不夠的。以下列出了成為合格數(shù)據(jù)科學(xué)家的7項(xiàng)挑戰(zhàn):

(1) 保持對(duì)數(shù)據(jù)的好奇

作為一名數(shù)據(jù)科學(xué)家,你要自己找問題并且自己做出回答。數(shù)據(jù)科學(xué)家要自然而然的對(duì)他們看到的數(shù)據(jù)產(chǎn)生好奇,并找到解決問題的創(chuàng)新性方法。

很多時(shí)候數(shù)據(jù)科學(xué)并不只是分析,而是找出一個(gè)有趣的問題并且找到解決方案。

這里有兩個(gè)典型的案例:

Hilary: the most poisoned baby name in US history

A Look at Fire Response Data

總結(jié): 對(duì)你感興趣的問題或者主題進(jìn)行思考,然后用數(shù)據(jù)的方式作出回答。

(2) 用懷疑的眼光閱讀新聞

數(shù)據(jù)科學(xué)家的很多貢獻(xiàn)往往是,他們從一堆信息里找出了哪些是重要的、哪些是假的(這是機(jī)器很難取代數(shù)據(jù)科學(xué)家的原因),這種習(xí)慣性的懷疑的眼光在任何科學(xué)領(lǐng)域都是有益的,尤其是在發(fā)展速度快的領(lǐng)域,因?yàn)檫@些領(lǐng)域更容易被假象誤導(dǎo)。

在看新聞的時(shí)候練習(xí)批判性的眼光吧,很多文章本質(zhì)上都是有瑕疵的。這里有兩個(gè)例子,評(píng)論里有答案:

Easier:You Love Your iPhone. Literally

Harder:Who predicted Russia’s military intervention?

總結(jié):每當(dāng)你看到新的文章時(shí),記得持懷疑的態(tài)度,對(duì)文章進(jìn)行評(píng)論,并指出它的問題在哪。

(3) 把數(shù)據(jù)看成是改善消費(fèi)者產(chǎn)品的工具

試著了解一款互聯(lián)網(wǎng)產(chǎn)品,檢查它的主要渠道。有沒有結(jié)賬渠道?注冊(cè)渠道?訂單渠道?

反復(fù)的檢查這些渠道,然后提出一些假設(shè)方案來提升核心指標(biāo)(比如轉(zhuǎn)化率、用戶分享數(shù)、注冊(cè)用戶數(shù)量等)。設(shè)計(jì)實(shí)驗(yàn)來驗(yàn)證你的假設(shè)是否真的會(huì)改變這些指標(biāo)。

總結(jié):通過反饋郵件跟這個(gè)網(wǎng)站分享你的idea

(4) 像貝葉斯一樣思考

像貝葉斯一樣思考,用先驗(yàn)來作判斷。這意味著,要想樹立起數(shù)據(jù)科學(xué)家的思維方式,就必須一方面能夠周詳考慮新觀測(cè)到的信息,另一方面又需要以往的直覺和經(jīng)驗(yàn)(貝葉斯里的先驗(yàn))。

比如,檢查下數(shù)據(jù),發(fā)現(xiàn)今天的用戶參與量明顯下降了,下面哪種原因是最有可能的呢?

用戶參與量就是會(huì)突然的減少

網(wǎng)站的某些功能down掉了

登陸模塊down掉了

盡管1也能夠作為一種解釋,但是2和3看上去比1更靠譜,因?yàn)楦鶕?jù)先驗(yàn)概率來看,2和3的概率要比1更大。

再比如,你是Tesla公司的高級(jí)工程師,而在上個(gè)月中,5輛Tesla S著火了。有可能是什么原因呢?

生產(chǎn)質(zhì)量下降了,現(xiàn)在Tesla的安全性應(yīng)當(dāng)被重新測(cè)試

安全性不是問題,因?yàn)榕c其他同行汽油車相比,Tesla S著火的概率已經(jīng)算很低的了

即使沒什么經(jīng)驗(yàn)的人也可能會(huì)得出1這樣的結(jié)論,如果你經(jīng)常做質(zhì)量測(cè)試,那你的先驗(yàn)對(duì)2是否正確就會(huì)更有把握。不過,你應(yīng)該繼續(xù)尋找分別支持兩個(gè)結(jié)論的信息,并繼續(xù)尋找提升質(zhì)量的辦法,那么問題來了:什么樣的信息應(yīng)該值得留意呢?

總結(jié):回想一下你上一次沒有用先驗(yàn)來指導(dǎo)思考就得出結(jié)論是什么時(shí)候,從現(xiàn)在開始避免再犯類似的錯(cuò)誤。

(5) 了解每種工具的能力

“Knowledge is knowing that a tomato is a fruit, wisdom is not putting it in a fruit salad.” - Miles Kington

知識(shí)會(huì)指導(dǎo)你實(shí)現(xiàn)經(jīng)典的線性回歸,而經(jīng)驗(yàn)會(huì)告訴你這在實(shí)際當(dāng)中幾乎不會(huì)用到。

知識(shí)會(huì)讓你了解k-means聚類的5種變種,而經(jīng)驗(yàn)會(huì)告訴你實(shí)際當(dāng)中幾乎不會(huì)單獨(dú)在數(shù)據(jù)上聚類,以及k-means在特征過多的時(shí)候表現(xiàn)是多么的不如人意。

知識(shí)會(huì)告訴你一堆復(fù)雜的技術(shù),而經(jīng)驗(yàn)會(huì)告訴你怎么在有限的時(shí)間里從這里邊為你的公司選擇一個(gè)最能產(chǎn)生效益的。

當(dāng)你到Coursera或EdX上學(xué)一門課的時(shí)候,你可能會(huì)隨著課程開發(fā)出一堆工具,除非你能搞清楚在什么場(chǎng)合下用哪個(gè)合適,否則這一堆工具毫無實(shí)際作用。

總結(jié):在真實(shí)數(shù)據(jù)上嘗試各種工具,發(fā)現(xiàn)他們各自的優(yōu)點(diǎn)和不足。哪種工具在這種場(chǎng)合下最好,為什么?

(6) 給別人講一個(gè)復(fù)雜的概念

Richard Feynman是怎么判斷哪個(gè)概念他能懂,哪個(gè)不懂呢?

Feynman稱得上是一位偉大的老師,他能夠向一些什么都不懂的學(xué)生講明白一些較深的知識(shí),這一點(diǎn)他為自己感到自豪。有人告訴他說:“Dick,跟我解釋一下,為什么自選1/2粒子服從費(fèi)米 - 狄拉克統(tǒng)計(jì)”,他考慮了一下聽眾的知識(shí)水平,然后說,“我會(huì)針對(duì)這個(gè)專門為新生講一次課的。”過了幾天他說:“我做不到。這個(gè)知識(shí)沒有辦法簡(jiǎn)化到新生能聽懂的地步。這意味著我們并沒有真的搞懂了這個(gè)知識(shí)點(diǎn)”

Richard Feynman與眾不同的地方就在于他能夠提煉復(fù)雜的概念,把他們轉(zhuǎn)換成可以理解的想法。類似的,一流的數(shù)據(jù)科學(xué)家與眾不同的地方就是他們能夠誠(chéng)懇的分享他們的想法并且對(duì)這些想法作出解釋和分析。

總結(jié):把你懂的一種技術(shù)概念介紹給你的朋友吧,也可以是在知乎、Quora或者優(yōu)酷、youtube上。

(7) 說服其他人什么才是重要的

對(duì)一個(gè)數(shù)據(jù)科學(xué)家來說,比解釋他們的分析更重要的,可能是與大家交流某個(gè)見解的價(jià)值和潛在的影響。

數(shù)據(jù)科學(xué)的某個(gè)具體的任務(wù)將會(huì)商品化編程數(shù)據(jù)科學(xué)工具,然后不斷的完善。新工具會(huì)讓一些任務(wù)更新迭代,比如手寫版應(yīng)用、data wrangling(數(shù)據(jù)清洗)、甚至是某些預(yù)測(cè)建模。

然而,數(shù)據(jù)科學(xué)家發(fā)現(xiàn)并和別人分享什么才是重要的,這種能力永遠(yuǎn)不會(huì)過時(shí)。數(shù)據(jù)量在逐漸增加,對(duì)數(shù)據(jù)的一些潛在的見解也在增加,公司總會(huì)需要數(shù)據(jù)科學(xué)家來找出該怎么做才能對(duì)任務(wù)進(jìn)行優(yōu)化。

數(shù)據(jù)科學(xué)家在企業(yè)中扮演的角色,是數(shù)據(jù)和公司之間的使者。數(shù)據(jù)科學(xué)家成功與否,關(guān)鍵在于他/她是怎么講故事的、以及對(duì)公司帶來了什么樣的影響,其他的技能都是對(duì)這種能力的一種放大。

總結(jié):從統(tǒng)計(jì)學(xué)的角度來講故事吧,跟別人交流你在數(shù)據(jù)上的重要發(fā)現(xiàn),針對(duì)觀眾關(guān)心的事做些具有說服力的presentation。

14.關(guān)于找工作

15.不同人群如何成為數(shù)據(jù)科學(xué)家定制版

本科生如何成為數(shù)據(jù)科學(xué)家

博士生如何成為數(shù)據(jù)科學(xué)家

沒有任何技術(shù)的人如何數(shù)據(jù)科學(xué)家

沒有本科學(xué)歷如何成為數(shù)據(jù)科學(xué)家

沒有博士學(xué)歷如何成為數(shù)據(jù)科學(xué)家

物理專業(yè)的博士如何成為數(shù)據(jù)科學(xué)家

正在從事其他行業(yè)工作的人如何成為數(shù)據(jù)科學(xué)家

不會(huì)編程如何成為數(shù)據(jù)科學(xué)家

更多的數(shù)據(jù)科學(xué)FAQ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容