作者:羅賓
羅賓,世界500強(qiáng)全球化IT項(xiàng)目中國(guó)區(qū)負(fù)責(zé)人,服務(wù)于快速消費(fèi)品、零售行業(yè)十余年。某領(lǐng)先BI公司大中華區(qū)高級(jí)顧問(wèn),豐富的BI行業(yè)知識(shí)以及BI項(xiàng)目咨詢、管理和實(shí)施經(jīng)驗(yàn)。 博客專欄: https://ask./blog/luobin
這張完美的圖,囤了好久了,今天拿出來(lái),仔細(xì)研讀一下,分享給大家。
先把全文整體瀏覽一遍……,主要是走這8步: 學(xué)好統(tǒng)計(jì)、數(shù)學(xué)和機(jī)器學(xué)習(xí) 學(xué)會(huì)編程 理解數(shù)據(jù)庫(kù) 探索數(shù)據(jù)科學(xué)工作流 提升到大數(shù)據(jù)層面 成長(zhǎng)、交流和學(xué)習(xí) 全身心投入工作 混社會(huì)(社區(qū)和論壇)
好了,先來(lái)熱個(gè)身,什么是數(shù)據(jù)科學(xué)(家)?
2010的解讀和2015的還不太一樣,2010認(rèn)為是“數(shù)學(xué)好,業(yè)務(wù)精,技術(shù)強(qiáng)”,也就是說(shuō): 理論基礎(chǔ)要扎實(shí)——數(shù)學(xué)和統(tǒng)計(jì)學(xué)要掌握的好 豐富的行業(yè)知識(shí)——對(duì)所在的業(yè)務(wù)領(lǐng)域、行業(yè)知識(shí)要精通 技術(shù)牛人或大神——裝的了機(jī),調(diào)的通網(wǎng),寫(xiě)的了代碼,玩的轉(zhuǎn)數(shù)據(jù)……
以上是修成正果的節(jié)奏,要是跑偏了呢,一般會(huì)這樣:
數(shù)學(xué)不太好——很危險(xiǎn)!沒(méi)有嚴(yán)謹(jǐn)?shù)姆椒ㄕ摚ɡ碚撘罁?jù)),就有可能在瞎折騰; 業(yè)務(wù)不太熟——運(yùn)用不到工業(yè)界(企業(yè)),就只會(huì)是個(gè)紙上談兵的理論家; 技術(shù)不太強(qiáng)——沒(méi)有現(xiàn)代IT技術(shù)的武裝,就只會(huì)是個(gè)搞傳統(tǒng)研究的老專家;
下面這張圖,很好的解釋了這些細(xì)節(jié): 但是2015這張圖,又是幾個(gè)意思呢? 人工智能包含機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)又包含了深度學(xué)習(xí);大數(shù)據(jù)領(lǐng)域跟三者都有交叉,但又是另外一個(gè)全新的領(lǐng)域。 數(shù)據(jù)挖掘(Data Mining),是AI人工智能和Big Data都會(huì)涉及到的領(lǐng)域,主要就是那些基礎(chǔ)算法,預(yù)測(cè)、分類(lèi)、聚類(lèi)、關(guān)聯(lián)等。 數(shù)據(jù)科學(xué),就在此應(yīng)運(yùn)而生,跟AI和Big Data都有交叉,但不涉及深度學(xué)習(xí)。
太混亂了,一句話解釋:數(shù)據(jù)科學(xué)(家)就是人工智能、機(jī)器學(xué)習(xí)和大數(shù)據(jù)領(lǐng)域的復(fù)合型學(xué)科(人才) 再來(lái)看看需要什么樣的學(xué)歷背景: 一句話概括:技校就行,本科不錯(cuò),碩士最好,博士當(dāng)然可以,但人不多(總?cè)祟^就不多) 下面那句名言,說(shuō)數(shù)據(jù)科學(xué)家基本就是這種人:你跟他談技術(shù),他和你談業(yè)務(wù);你要談業(yè)務(wù),他就搬理論……想不到,你是這樣的數(shù)據(jù)科學(xué)家。 小結(jié)一下,數(shù)據(jù)科學(xué)家就是復(fù)合型人才,差不多智商的都可以上。但是,以我敏銳的洞察和經(jīng)驗(yàn),注意到這是DataCamp做的宣傳圖,它會(huì)把這事描述的相對(duì)容易,門(mén)檻低嘛大家都有興趣來(lái)學(xué),這樣的圖,其實(shí)也是軟文的一種(老外的軟文)。下圖是DataCamp的首頁(yè),主要是提供在線的、收費(fèi)的數(shù)據(jù)科學(xué)課程的 好,我們把書(shū)翻到第1頁(yè),先來(lái)看第1步——學(xué)好統(tǒng)計(jì)、數(shù)學(xué)和機(jī)器學(xué)習(xí)(走遍天下都不怕) 首先,關(guān)于數(shù)學(xué),有一些非常好的資源可以利用:
可汗學(xué)院 官網(wǎng)是https://www. 網(wǎng)易公開(kāi)課(可汗學(xué)院)也有部分翻譯過(guò)的課程 麻省理工學(xué)院MIT的OCW https://ocw./index.htm
其次,關(guān)于統(tǒng)計(jì)學(xué): 優(yōu)達(dá)學(xué)城的統(tǒng)計(jì)學(xué)入門(mén)(Intro to Statistics) https://cn./ OpenIntro的Statistics https://www./ DataCamp自己也有幾門(mén)課程
最后,關(guān)于機(jī)器學(xué)習(xí) 斯坦福在線的ML課程,應(yīng)該就是大大牛Andrew Ng的課程 Coursera的practical machine learning 這里搜一下就有:https://www./ 約翰霍普金斯大學(xué)的課程 DataCamp自己也有幾門(mén)課程
好了,發(fā)散一下思路,現(xiàn)在好的課程,在網(wǎng)上已經(jīng)是鋪天蓋地了,只要你有本事,想學(xué)什么都可以。所以,現(xiàn)在擠破頭的學(xué)區(qū)房,10年以后可能會(huì)是個(gè)大笑話;當(dāng)然,擠進(jìn)名校,還有提升圈子、階層的作用,這樣看,又不好笑了…… 翻到第2頁(yè),再來(lái)看第2步——學(xué)會(huì)編程 想起一個(gè)說(shuō)法,說(shuō)以后編程可能會(huì)是像英語(yǔ)一樣的,每個(gè)人的最基礎(chǔ)的技能了,所以,程序員可以先偷著樂(lè)一下。 首先你要具備一些計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí) 然后嘗試一些基礎(chǔ)性的開(kāi)發(fā)工作 再選定一門(mén)好的(或你喜歡的)編程語(yǔ)言 開(kāi)源的R和Python(當(dāng)前最火) 商業(yè)工具:SAS, SPSS 等等 交互式的去學(xué)吧!就是學(xué)習(xí)、練習(xí)、交流、實(shí)踐、思考,反復(fù)學(xué)習(xí),刻意練習(xí)。(DataCamp剛才還很含蓄,現(xiàn)在憋不住要推自己的課程了……)
好,再來(lái)看第3步——理解數(shù)據(jù)庫(kù) 既然要跟數(shù)據(jù)打交道,那么對(duì)數(shù)據(jù)存放和管理的地方——數(shù)據(jù)庫(kù)的深刻理解,一定必不可少:
MySQL:經(jīng)典的關(guān)系型數(shù)據(jù)庫(kù),開(kāi)源,體積小,速度快,成本低;中小型網(wǎng)站或企業(yè)開(kāi)發(fā)之必備;同Linux,Apache,PHP形成最高效、經(jīng)典的開(kāi)發(fā)環(huán)境LAMP Oracle:領(lǐng)先的企業(yè)級(jí)數(shù)據(jù)庫(kù),高效率,功能強(qiáng)大,可移植性好,高可靠性,高吞吐量 Cassandra:高可用性和高可擴(kuò)展性的NoSQL數(shù)據(jù)庫(kù)(屬于列式存儲(chǔ)),支持大規(guī)模分布式數(shù)據(jù)存儲(chǔ)和高并發(fā)數(shù)據(jù)訪問(wèn) CouchDB:一個(gè)Erlang語(yǔ)言開(kāi)發(fā)的Apache的頂級(jí)開(kāi)源項(xiàng)目,是一個(gè)面向文檔的NoSQL數(shù)據(jù)庫(kù) PostgreSQL:加州大學(xué)伯克利分校研發(fā)的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS) MongoDB:也是一個(gè)面向文檔的NoSQL數(shù)據(jù)庫(kù),非關(guān)系數(shù)據(jù)庫(kù)中最像關(guān)系數(shù)據(jù)庫(kù)的,對(duì)數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格
需要對(duì)數(shù)據(jù)庫(kù)加深理解的,可以移步至: MongoDB University https://university./
斯坦福在線(又來(lái)了) Introduction to Database Datastax https://www./
TutorialsPoint http://www./
好,再來(lái)看第4步——探索數(shù)據(jù)科學(xué)工作流 此處,對(duì)于數(shù)據(jù)科學(xué)家的日常,我們又分為6小步走: 數(shù)據(jù)收集 運(yùn)用各種方法(復(fù)制、導(dǎo)出,爬蟲(chóng)等),將原始數(shù)據(jù)收集起來(lái),存儲(chǔ)到一個(gè)地方(文本文件,Excel,數(shù)據(jù)庫(kù)等)。 數(shù)據(jù)探索 使用一些基本的數(shù)據(jù)可視化工具,對(duì)數(shù)據(jù)做一個(gè)初步探查,看看大致的狀況和數(shù)據(jù)分布情況。 數(shù)據(jù)清理 對(duì)重復(fù)數(shù)據(jù),錯(cuò)誤數(shù)據(jù)進(jìn)行處理;對(duì)數(shù)據(jù)格式、規(guī)范進(jìn)行統(tǒng)一;對(duì)部分?jǐn)?shù)據(jù)進(jìn)行分拆或者合并。 數(shù)據(jù)建模 根據(jù)需要求解的問(wèn)題,選用合適的數(shù)據(jù)模型進(jìn)行建模,并輸出數(shù)據(jù)分析的結(jié)果。 數(shù)據(jù)驗(yàn)證 選用合適的統(tǒng)計(jì)分析工具,對(duì)數(shù)據(jù)分析輸出的結(jié)果進(jìn)行驗(yàn)證,確認(rèn)分析結(jié)果在合理的誤差范圍或精度要求之內(nèi)。 制作報(bào)告 將數(shù)據(jù)分析的結(jié)果和由此得出的結(jié)論,結(jié)合業(yè)務(wù)實(shí)際,制作出合理的數(shù)據(jù)分析報(bào)告。
這里,需要了解幾個(gè)通俗的說(shuō)法: 程序——幾行代碼,完成一個(gè)輸入到輸出的函數(shù),或者過(guò)程,我們叫程序。 程序包(或者庫(kù))——預(yù)先寫(xiě)好的,通用的,規(guī)范的一堆程序文件,可以在我們的程序里調(diào)用。 工具(開(kāi)發(fā)環(huán)境,IDE,軟件)——通常是圖形化界面下的,可以進(jìn)行程序開(kāi)發(fā)的一整套工具(軟件)。
那么,對(duì)于以上6個(gè)步驟,就可以簡(jiǎn)單的解釋了: 數(shù)據(jù)收集 Python:可以調(diào)用Numpy和Pandas等科學(xué)計(jì)算的“庫(kù)”來(lái)做 R語(yǔ)言:可以調(diào)用readxl, data.table等“庫(kù)”來(lái)做 數(shù)據(jù)探索 Python:可以調(diào)用Bokeh或Matplotlib等數(shù)據(jù)可視化“庫(kù)”來(lái)做 R語(yǔ)言:可以調(diào)用ggvis, ggplot2等“庫(kù)”來(lái)做 其它:可以使用可視化軟件vega來(lái)實(shí)現(xiàn) 數(shù)據(jù)清理 Python:可以調(diào)用Pandas等“庫(kù)”來(lái)做 R語(yǔ)言:可以調(diào)用dplyr, data.table等“庫(kù)”來(lái)做 其它:可以使用數(shù)據(jù)清理和轉(zhuǎn)化軟件Data Wrangler來(lái)實(shí)現(xiàn) 數(shù)據(jù)建模 Python:可以使用開(kāi)源機(jī)器學(xué)習(xí)框架Scikit-learn來(lái)做 R語(yǔ)言:可以調(diào)用caret這個(gè)機(jī)器學(xué)習(xí)“包”來(lái)做 其它:可以使用數(shù)據(jù)挖掘工具rapidminer來(lái)實(shí)現(xiàn) 數(shù)據(jù)驗(yàn)證 Python:可以調(diào)用statsmodels庫(kù)來(lái)做 R語(yǔ)言:可以調(diào)用statmod庫(kù)來(lái)做 其它:可以使用開(kāi)源數(shù)據(jù)挖掘軟件KNIME來(lái)實(shí)現(xiàn) 制作報(bào)告 Python:可以使用Jupyter工具來(lái)實(shí)現(xiàn) R語(yǔ)言:可以使用R Studio自帶的R Markdown來(lái)實(shí)現(xiàn) 其它:可以使用商業(yè)化BI軟件Tableau, Spotfire等來(lái)實(shí)現(xiàn)
不錯(cuò),已經(jīng)走完一半了,接下來(lái),我們走第5步——提升到大數(shù)據(jù)層面 首先,我們來(lái)理解,所謂的“大數(shù)據(jù)”到底比“小數(shù)據(jù)”,大在哪里? 流行的說(shuō)法有4V和3V之說(shuō),其中3個(gè)V是指: Velocity——更快的數(shù)據(jù)產(chǎn)生速度。主要?dú)w因于進(jìn)入新的數(shù)據(jù)時(shí)代(比如從PC時(shí)代-->互聯(lián)網(wǎng)-->移動(dòng)互聯(lián)網(wǎng)-->物聯(lián)網(wǎng)),數(shù)據(jù)產(chǎn)生速度的量級(jí)開(kāi)始猛增 Volume——更大、更多的數(shù)據(jù)量。數(shù)據(jù)產(chǎn)生快了,量自然就多了 Variety——更多樣的數(shù)據(jù)種類(lèi)。除了以前的結(jié)構(gòu)化數(shù)據(jù),還有文本、文檔;圖片、圖像;音頻、視頻;XML、HTML等等大量的非結(jié)構(gòu)化數(shù)據(jù)
4V就是在此基礎(chǔ)上增加了一個(gè)Value,數(shù)據(jù)的價(jià)值。 其次,我們來(lái)看看最經(jīng)典的大數(shù)據(jù)框架——Hadoop,曾經(jīng)這個(gè)以“黃色小象”為logo的hadoop,就幾乎是大數(shù)據(jù)的代名詞。簡(jiǎn)單理解hadoop,它就是一個(gè)分布式的大數(shù)據(jù)系統(tǒng)基礎(chǔ)架構(gòu): 因?yàn)閿?shù)據(jù)“大”了,一臺(tái)服務(wù)器(單機(jī))處理不過(guò)來(lái)了,所以需要團(tuán)結(jié)一個(gè)個(gè)的服務(wù)器(集群),來(lái)協(xié)同處理;或者說(shuō),把一個(gè)大的數(shù)據(jù)任務(wù),分解出來(lái),處理完成,再合并起來(lái)。Hadoop就把這個(gè)分布式系統(tǒng)的框架,搭好了。 計(jì)算機(jī)的兩個(gè)重要組成部分,處理器CPU負(fù)責(zé)計(jì)算,內(nèi)存(硬盤(pán))負(fù)責(zé)存儲(chǔ),所以,對(duì)應(yīng)的,MapReduce就是Hadoop的分布式計(jì)算框架;HDFS就是Hadoop的分布式文件存儲(chǔ)系統(tǒng)。
最后,關(guān)于Spark,業(yè)界其實(shí)一直流傳著Hadoop是一個(gè)大坑的說(shuō)法,實(shí)施起來(lái)并沒(méi)有傳說(shuō)中那么好,(當(dāng)然也造就了一大批hadoop填坑的工作崗位)。主要問(wèn)題在于MapReduce,計(jì)算引擎這塊,Spark算是第二代引擎,對(duì)大數(shù)據(jù)計(jì)算時(shí)的中間輸出結(jié)果,使用內(nèi)存計(jì)算進(jìn)行了優(yōu)化,大大提升了數(shù)據(jù)處理速度(號(hào)稱提升了100倍),所以可用于大規(guī)模的實(shí)時(shí)數(shù)據(jù)流處理和交互式分析。 接下來(lái),我們?cè)賮?lái)看第6步——成長(zhǎng)、交流和學(xué)習(xí) 學(xué)了這么多,也該出來(lái)練練手了: 參加一些數(shù)據(jù)挖掘或算法挑戰(zhàn)競(jìng)賽 最著名的是Kaggle,國(guó)內(nèi)有阿里的天池。將所學(xué)的技能,去解決工業(yè)界(企業(yè))遇到的實(shí)際問(wèn)題,并獲取一定的獎(jiǎng)金,何樂(lè)而不為? 結(jié)交各路豪杰(現(xiàn)在叫大牛/大神) 一個(gè)人學(xué)容易閉門(mén)造車(chē),或者一個(gè)問(wèn)題卡死在哪里,無(wú)從下手。多認(rèn)識(shí)一些志同道合的朋友,可以增長(zhǎng)見(jiàn)識(shí),開(kāi)拓思路,學(xué)習(xí)進(jìn)度也可以大大提升。 參與一些實(shí)際項(xiàng)目(積累項(xiàng)目經(jīng)驗(yàn)) 跟幾個(gè)人創(chuàng)建一個(gè)合作小團(tuán)隊(duì),實(shí)打?qū)嵉娜ネ瓿梢粋€(gè)實(shí)際的小項(xiàng)目,會(huì)在很大程度上提升你的個(gè)人資歷和背景,實(shí)踐出真知。 提升你的直覺(jué)(心理表征) 反復(fù)的學(xué)習(xí)、演練、實(shí)踐、再學(xué)習(xí),便可以讓個(gè)人知識(shí)、技能和經(jīng)驗(yàn)不斷螺旋式上升,慢慢的,以前棘手的問(wèn)題,已經(jīng)可以下意識(shí)的給出結(jié)論或者解決辦法,就像可以完全依靠直覺(jué)來(lái)處理一樣,其實(shí),這就是刻意練習(xí)所強(qiáng)化出來(lái)的心理表征的作用。
下面看第7步——全身心投入工作 演練完了,就找一份全職的工作吧,可以從實(shí)習(xí)生做起,一路打怪升級(jí),做到真正的數(shù)據(jù)科學(xué)家。你的實(shí)踐經(jīng)驗(yàn)也會(huì)在這個(gè)過(guò)程中,繼續(xù)得到更大的提升。
另外,類(lèi)似Kaggle這樣的平臺(tái),也提供數(shù)據(jù)科學(xué)家的工作招聘,你可以把競(jìng)賽的成績(jī)直接顯示到你的簡(jiǎn)歷里。能力如果足夠出色,薪水從來(lái)不是問(wèn)題。 居然要寫(xiě)完了……來(lái)看最后一步,天龍8步——混社會(huì)(社區(qū)和論壇)
工作也有了,收入也杠杠的,那么……好山好水好無(wú)聊啊,總得找點(diǎn)事情做做,那就去混社會(huì)吧(當(dāng)然是數(shù)據(jù)科學(xué)家的社會(huì)),有好多種操作方式:
時(shí)刻關(guān)注行業(yè)或領(lǐng)域最新資訊,保證不落伍,談資滿滿。 不能一味索取,也要貢獻(xiàn)一些產(chǎn)出,知識(shí)經(jīng)驗(yàn)分享,代碼共享,思路分享……不一而足。
|