數(shù)據(jù)科學(xué) 怎樣進(jìn)行大數(shù)據(jù)的入門級(jí)學(xué)習(xí)?
數(shù)據(jù)科學(xué)并沒(méi)有一個(gè)獨(dú)立的學(xué)科體系,統(tǒng)計(jì)學(xué),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘,數(shù)據(jù)庫(kù),分布式計(jì)算,云計(jì)算,信息可視化等技術(shù)或方法來(lái)對(duì)付數(shù)據(jù)。 但從狹義上來(lái)看,我認(rèn)為數(shù)據(jù)科學(xué)就是解決三個(gè)問(wèn)題: 這也就是我們做數(shù)據(jù)工作的三個(gè)大步驟: 這三個(gè)步驟未必嚴(yán)謹(jǐn),每個(gè)大步驟下面可能依問(wèn)題的不同也會(huì)有不同的小步驟,但按我這幾年的經(jīng)驗(yàn)來(lái)看,按照這個(gè)大思路走,數(shù)據(jù)一般不會(huì)做跑偏。 這樣看來(lái),數(shù)據(jù)科學(xué)其實(shí)就是門復(fù)合型的技術(shù),既然是技術(shù)就從編程語(yǔ)言談起吧,為了簡(jiǎn)練,只說(shuō)說(shuō)R和Python。但既然是薦數(shù)據(jù)科學(xué)方面的書(shū),我這里就不提R/Python編程基礎(chǔ)之類的書(shū)了,直接上跟數(shù)據(jù)科學(xué)相關(guān)的。 如果只是想初步了解一下R語(yǔ)言已經(jīng)R在數(shù)據(jù)分析方面的應(yīng)用,那不妨就看看這兩本: 我的R語(yǔ)言大數(shù)據(jù)101。其實(shí)對(duì)于一個(gè)沒(méi)有任何編程基礎(chǔ)的人來(lái)說(shuō),一開(kāi)始就學(xué)這本書(shū),學(xué)習(xí)曲線可能會(huì)比較陡峭。但如果配合上一些輔助材料,如官方發(fā)布的R basics(http://cran.r-project.org/doc/contrib/usingR.pdf),stackoverflow上有tag-R的問(wèn)題集(Newest ‘r’ Questions),遇到復(fù)雜的問(wèn)題可在上面搜索,總會(huì)找到解決方案的。這樣一來(lái),用這本書(shū)拿來(lái)入門學(xué)習(xí)也問(wèn)題不大。而且這本書(shū)作者寫(xiě)得也比較輕松,緊貼實(shí)戰(zhàn)。 使用R語(yǔ)言做數(shù)據(jù)分析的入門書(shū)。這本書(shū)的特點(diǎn)也是緊貼實(shí)戰(zhàn),沒(méi)有過(guò)多地講解統(tǒng)計(jì)學(xué)理論,所以喜歡通過(guò)情境應(yīng)用來(lái)學(xué)習(xí)的人應(yīng)該會(huì)喜歡這本入門書(shū)。而且這本書(shū)可讀性比較強(qiáng),也就是說(shuō)哪怕你手頭沒(méi)電腦寫(xiě)不了代碼,有事沒(méi)事拿出這本書(shū)翻一翻,也能讀得進(jìn)去。 但如果你先用R來(lái)從事實(shí)實(shí)在在的數(shù)據(jù)工作,那么上面兩本恐怕不夠,還需要這些: 這本書(shū)里統(tǒng)計(jì)學(xué)的理論就講得比較多了,好處就是你可以用一本書(shū)既復(fù)習(xí)了統(tǒng)計(jì)學(xué),又學(xué)了R語(yǔ)言。(S/Splus和R的關(guān)系就類似于Unix和Linux,所以用S教程學(xué)習(xí)R,一點(diǎn)問(wèn)題都沒(méi)有) 這本書(shū)實(shí)務(wù)性很強(qiáng),它教給你怎么從不同格式的原始數(shù)據(jù)文件里讀取、清洗、轉(zhuǎn)換、整合成高質(zhì)量的數(shù)據(jù)。當(dāng)然和任何一本注重實(shí)戰(zhàn)的書(shū)一樣,本書(shū)也有豐富的真實(shí)數(shù)據(jù)或模擬數(shù)據(jù)供你練習(xí)。對(duì)于真正從事數(shù)據(jù)處理工作的人來(lái)說(shuō),這本書(shū)的內(nèi)容非常重要,因?yàn)閷?duì)于任何研究,一項(xiàng)熟練的數(shù)據(jù)預(yù)處理技能可以幫你節(jié)省大量的時(shí)間和精力。否則,你的研究總是要等待你的數(shù)據(jù)。 想用R做可視化,就用這本書(shū)吧。150多個(gè)recipes,足以幫你應(yīng)付絕大多數(shù)類型的數(shù)據(jù)。以我現(xiàn)在極業(yè)余的可視化操作水平來(lái)看,R是最容易做出最漂亮的圖表的工具了。 這本書(shū)算是著名的the element of statistical learning的姊妹篇,后者更注重統(tǒng)計(jì)(機(jī)器)學(xué)習(xí)的模型和算法,而前者所涉及的模型和算法原沒(méi)有后者全面或深入,但卻是用R來(lái)學(xué)習(xí)和應(yīng)用機(jī)器學(xué)習(xí)的很好的入口。 這本書(shū)內(nèi)容同樣非常扎實(shí),很多統(tǒng)計(jì)學(xué)的學(xué)生就是用這本書(shū)來(lái)學(xué)習(xí)用R來(lái)進(jìn)行統(tǒng)計(jì)建模的。 這是Allen B. Downey寫(xiě)的著名的Think X series三大卷。其實(shí)是三本精致的小冊(cè)子,如果想快速地掌握Python在統(tǒng)計(jì)方面的操作,好好閱讀這三本書(shū),認(rèn)真做習(xí)題,答案鏈接在書(shū)里有。這三本書(shū)學(xué)通了,就可以上手用Python進(jìn)行基本的統(tǒng)計(jì)建模了。 作者是pandas的主要開(kāi)發(fā)者,也正是Pandas使Python能夠像R一樣擁有dataframe的功能,能夠處理結(jié)構(gòu)比較復(fù)雜的數(shù)據(jù)。這本書(shū)其實(shí)analysis講得不多,說(shuō)成數(shù)據(jù)處理應(yīng)該更合適。掌握了這本書(shū),處理各種糟心的數(shù)據(jù)就問(wèn)題不大了。 這本書(shū)第一章就告訴你要安裝Numpy, Scipy, Matplotlib, Pandas, IPython等等。然后接下來(lái)的十好幾章就是逐一介紹這幾個(gè)庫(kù)該怎么用。很全面,但讀起來(lái)比較枯燥,可以用來(lái)當(dāng)工具書(shū)。 這本書(shū)挺奇葩,貌似很暢銷,但作者把內(nèi)容安排得東一榔頭西一棒子,什么都講一點(diǎn),但一個(gè)都沒(méi)講透。這本書(shū)可以作為我們學(xué)習(xí)數(shù)據(jù)分析的一個(gè)索引,看到哪塊內(nèi)容有意思,就順著它這個(gè)藤去摸更多的瓜。 用Python做可視化的教材肯定不少,我看過(guò)的也就這一本,覺(jué)得還不錯(cuò)。其實(shí)這類書(shū)差別都不會(huì)很大,咬住一本啃下來(lái)就是王道。 John Tukey寫(xiě)于1977年的經(jīng)典老教材,是這一領(lǐng)域的開(kāi)山之作。如今EDA已經(jīng)是統(tǒng)計(jì)學(xué)里的重要一支,但當(dāng)時(shí)還是有很多人對(duì)他的工作不屑一顧??伤麗?ài)數(shù)據(jù),堅(jiān)信數(shù)據(jù)可以以一種出人意料的方式呈現(xiàn)出來(lái)。正是他的努力,讓數(shù)據(jù)可視化成為一門無(wú)比迷人的技術(shù)。但這本書(shū)不推薦閱讀了,內(nèi)容略過(guò)時(shí)。要想完整地了解EDA,推薦下一本: 這本書(shū)雖然標(biāo)題帶了個(gè)MATLAB,但實(shí)際上內(nèi)容幾乎沒(méi)怎么講MATLAB,只是每講一個(gè)方法的時(shí)候就列出對(duì)應(yīng)的MATALB函數(shù)。這本書(shū)的重要之處在于,這是我讀過(guò)的講EDA最系統(tǒng)的一本書(shū),除了對(duì)visualization有不輸于John Tucky的講解外,對(duì)于高維的數(shù)據(jù)集,通過(guò)怎樣的方法才能讓我們從中找到潛在的pattern,這本書(shū)也做了詳盡的講解。全書(shū)所以案例都有對(duì)應(yīng)的MATALB代碼,而且還提供了GUI(圖形用戶界面)。所以這本書(shū)學(xué)起來(lái)還是相當(dāng)輕松愉悅的。 中譯本叫“鮮活的數(shù)據(jù)”,作者是個(gè)“超級(jí)數(shù)據(jù)迷”,建立了一個(gè)叫http://flowingdata.com的網(wǎng)頁(yè)展示他的數(shù)據(jù)可視化作品,這本書(shū)告訴你該選擇什么樣的可視化工具,然后告訴你怎樣visualize關(guān)系型數(shù)據(jù)、時(shí)間序列、空間數(shù)據(jù)等,最后你就可以用數(shù)據(jù)講故事了。如果你只想感受一下數(shù)據(jù)可視化是個(gè)什么,可以直接點(diǎn)開(kāi)下面這個(gè)鏈接感受下吧!A tour through the visualization zoo(A Tour Through the Visualization Zoo) 這一塊就不多說(shuō)了,不是因?yàn)樗恢匾?,而是因?yàn)樗匾?。所以這一部分就推兩本書(shū),都是”世界名著“,都比較難讀,需要一點(diǎn)點(diǎn)地啃。這兩本書(shū)拿下,基本就算是登堂入室了。其實(shí)作為機(jī)器學(xué)習(xí)的延伸和深化,概率圖模型(PGM)和深度學(xué)習(xí)(deep learning)同樣值得研究,特別是后者現(xiàn)在簡(jiǎn)直火得不得了。但PGM偏難,啃K.Daphne那本大作實(shí)在太燒腦,也沒(méi)必要,而且在數(shù)據(jù)領(lǐng)域的應(yīng)用也不算很廣。deep learning目前工業(yè)界的步子邁得比學(xué)術(shù)界的大,各個(gè)domain的應(yīng)用如火如荼,但要有公認(rèn)的好教材問(wèn)世則還需時(shí)日,所以PGM和deep learning這兩塊就不薦書(shū)了。 要學(xué)機(jī)器學(xué)習(xí),如果讓我只推薦一本書(shū),我就推薦這本巨著。Hastie、Tibshirani、Friedman這三位大牛寫(xiě)書(shū)寫(xiě)得太用心了,大廈建得夠高夠大,結(jié)構(gòu)也非常嚴(yán)謹(jǐn),而且很有前瞻性,納入了很多前沿的內(nèi)容,而不僅僅是一部綜述性的教材。(圖表也做得非常漂亮,應(yīng)該是用R語(yǔ)言的ggplot2做的。)這本書(shū)注重講解模型和算法本身,所以需要具備比較扎實(shí)的數(shù)理基礎(chǔ),啃起這本書(shū)來(lái)才不會(huì)太吃力。事實(shí)上掌握模型和算法的原理非常重要。機(jī)器學(xué)習(xí)(統(tǒng)計(jì)學(xué)習(xí))的庫(kù)現(xiàn)在已經(jīng)非常豐富,即使你沒(méi)有完全搞懂某個(gè)模型或算法的原理和過(guò)程,只要會(huì)用那幾個(gè)庫(kù),機(jī)器學(xué)習(xí)也能做得下去。但你會(huì)發(fā)現(xiàn)你把數(shù)據(jù)代進(jìn)去,效果永遠(yuǎn)都不好。但是,當(dāng)你透徹地理解了模型和算法本身,你再調(diào)用那幾個(gè)庫(kù)的時(shí)候,心情是完全不一樣的,效果也不一樣。 Concepts and Techniques, by Jiawei Han and Micheline Kamber 數(shù)據(jù)挖掘的教材汗牛充棟,之所以推薦這本韓家煒爺爺?shù)?,是因?yàn)殡m然他這本書(shū)的出發(fā)點(diǎn)是應(yīng)用,但原理上的內(nèi)容也一點(diǎn)沒(méi)有落下,內(nèi)容非常完整。而且緊跟時(shí)代,更新的很快,我看過(guò)的是第二版,就已經(jīng)加進(jìn)去了social network analysis這種當(dāng)時(shí)的前沿內(nèi)容?,F(xiàn)在已經(jīng)有第三版了,我還沒(méi)看過(guò),但應(yīng)該也加入了不少新內(nèi)容。其實(shí)這本書(shū)并不難讀,只是篇幅較長(zhǎng),啃起來(lái)比較耗時(shí)。 其實(shí)這兩本書(shū)里單拎出來(lái)一塊內(nèi)容可能又是幾本書(shū)的節(jié)奏,比如bayesian方法,再拿出兩三本書(shū)來(lái)講也不為過(guò),我個(gè)人用到的比較多,而且也確實(shí)有不少好書(shū)。但并非是所有data scientist都要用到,所以這一塊就不再細(xì)說(shuō)。 主要講解大數(shù)據(jù)處理技術(shù)及工具,內(nèi)容涵蓋了NoSQL,MapReduce,Storage,Servers,NLP庫(kù)與工具包,機(jī)器學(xué)習(xí)工具包,數(shù)據(jù)可視化工具包,數(shù)據(jù)清洗,序列化指南等等??傊且槐巨o典式的大數(shù)據(jù)入門指導(dǎo)。 這本書(shū)是斯坦福大學(xué)Web Mining的講義,里面很多內(nèi)容與韓家煒的Data Mining那本書(shū)重合,但這本書(shū)里詳細(xì)地講了MapReduce的設(shè)計(jì)原理,PageRank(Google創(chuàng)業(yè)時(shí)期的核心排序算法,現(xiàn)在也在不斷優(yōu)化更新)講解得也比較詳細(xì)。 作者是個(gè)從事了十幾年數(shù)據(jù)工作的geek,技術(shù)博客寫(xiě)得很有個(gè)人風(fēng)格,寫(xiě)的內(nèi)容都比較偏門,通常只有具備相關(guān)數(shù)據(jù)處理經(jīng)驗(yàn)的人能體會(huì)出來(lái),絲毫不照顧初學(xué)者的感受。比如他會(huì)談到當(dāng)數(shù)據(jù)流更新太快時(shí)該怎么辦,或者M(jìn)apReduce在什么時(shí)候不好用的問(wèn)題,才不管你懂不懂相關(guān)基礎(chǔ)原理。所以這本書(shū)不太適合初學(xué)者閱讀。這本書(shū)其實(shí)是作者的博客文章的集結(jié),用how to become a data scientist的邏輯把他近幾年的博客文章串聯(lián)了起來(lái)。 這本書(shū)是由COPSS(統(tǒng)計(jì)學(xué)社主席委員會(huì),由國(guó)際各大統(tǒng)計(jì)學(xué)會(huì)的帶頭人組成)在50周年出版的一本紀(jì)念冊(cè),里面有50位統(tǒng)計(jì)學(xué)家每人分別貢獻(xiàn)出的一兩篇文章,有的回憶了自己當(dāng)年如何走上統(tǒng)計(jì)學(xué)這條路,有的探討了一些統(tǒng)計(jì)學(xué)的根本問(wèn)題,有的談了談自己在從事的前沿研究,有的則給年輕一代寫(xiě)下了寄語(yǔ)。非常有愛(ài)的一本書(shū)。 這是H大的Data science在線課,我沒(méi)有修過(guò),但口碑很好。這門課需要費(fèi)用8千刀左右,比起華盛頓大學(xué)的4千刀的Data science在線課雖貴一倍,但比斯坦福的14千刀要便宜將近一半(而且斯坦福的更偏計(jì)算機(jī))。如果想自學(xué),早有好心人分享了slides: (https://drive.google.com/folderview?id=0BxYkKyLxfsNVd0xicUVDS1dIS0k&usp=sharing)和homeworks and solutions: (https://github.com/cs109/content) PyData是來(lái)自各個(gè)domain的用Python做數(shù)據(jù)的人每年舉行一次的聚會(huì),期間會(huì)有各路牛人舉行一些規(guī)模不大的seminar或workshop,有好心人已經(jīng)把video上傳到github,有興趣的去認(rèn)領(lǐng)吧(DataTau/datascience-anthology-pydata · GitHub) 如果是做數(shù)據(jù)分析和模型開(kāi)發(fā),以我的觀察來(lái)看,使用這三種工具的最多。R生來(lái)就是一個(gè)統(tǒng)計(jì)學(xué)家開(kāi)發(fā)的軟件,所做的事也自然圍繞統(tǒng)計(jì)學(xué)展開(kāi)。MATLAB雖然算不上是個(gè)專業(yè)的數(shù)據(jù)分析工具,但因?yàn)楹芏嗳瞬皇菍I(yè)做數(shù)據(jù)的,做數(shù)據(jù)還是為了自己的domain expertise(特別是科學(xué)計(jì)算、信號(hào)處理等),而MATLAB又是個(gè)強(qiáng)大無(wú)比的Domain expertise工具,所以很多人也就順帶讓MATLAB也承擔(dān)了數(shù)據(jù)處理的工作,雖然它有時(shí)候顯得效率不高。Python雖然不是做數(shù)據(jù)分析的專業(yè)軟件,但作為一個(gè)面向?qū)ο蟮母呒?jí)動(dòng)態(tài)語(yǔ)言,其開(kāi)源的生態(tài)使Python擁有無(wú)比豐富的庫(kù),Numpy, Scipy 實(shí)現(xiàn)了矩陣運(yùn)算/科學(xué)計(jì)算,相當(dāng)于實(shí)現(xiàn)了MATLAB的功能,Pandas又使Python能夠像R一樣處理dataframe,scikit-learn又實(shí)現(xiàn)了機(jī)器學(xué)習(xí)。 雖然現(xiàn)在人們都說(shuō)傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)如Oracle、MySQL越來(lái)越無(wú)法適應(yīng)大數(shù)據(jù)的發(fā)展,但對(duì)于很多人來(lái)說(shuō),他們每天都有處理數(shù)據(jù)的需要,但可能一輩子都沒(méi)機(jī)會(huì)接觸TB級(jí)的數(shù)據(jù)。不管怎么說(shuō),不論是用關(guān)系型還是非關(guān)系型數(shù)據(jù)庫(kù),SQL語(yǔ)言是必須要掌握的技能,用什么數(shù)據(jù)庫(kù)視具體情況而定。 目前最受歡迎的非關(guān)系型數(shù)據(jù)庫(kù)NoSQL之一,不少人認(rèn)為MongoDB完全可以取代mySQL。確實(shí)MongoDB方便易用,擴(kuò)展性強(qiáng),Web2.0時(shí)代的必需品。 MapReduce是當(dāng)前最著名也是運(yùn)用最廣泛的分布式計(jì)算框架,由Google建立。Hadoop/Spark/storm都是基于MapReduce的框架建立起來(lái)的分布式計(jì)算系統(tǒng),要說(shuō)他們之間的區(qū)別就是,Hadoop用硬盤存儲(chǔ)數(shù)據(jù),Spark用內(nèi)存存儲(chǔ)數(shù)據(jù),Storm只接受實(shí)時(shí)數(shù)據(jù)流而不存儲(chǔ)數(shù)據(jù)。一言以蔽之,如果數(shù)據(jù)是離線的,如果數(shù)據(jù)比較復(fù)雜且對(duì)處理速度要求一般,就Hadoop,如果要速度,就Spark,如果數(shù)據(jù)是在線的實(shí)時(shí)的流數(shù)據(jù),就Storm。 Google開(kāi)發(fā)的一個(gè)易于操作的數(shù)據(jù)清洗工具,可以實(shí)現(xiàn)一些基本的清洗功能。 一個(gè)可交互的數(shù)據(jù)可視化工具,操作簡(jiǎn)單,開(kāi)箱即用。而且圖表都設(shè)計(jì)得非常漂亮。專業(yè)版1999美刀,終身使用。媒體和公關(guān)方面用得比較多。 跟Tableau類似,都是那種可交互的可視化工具,不需要編程基礎(chǔ),生成的圖表在美學(xué)和設(shè)計(jì)上也是花了心血的。更擅長(zhǎng)復(fù)雜網(wǎng)絡(luò)的可視化。 作者:郭小賢 來(lái)源:知乎 End.
R programming
R in action:
Data analysis and graphics using R:
Modern applied statistics with S:
Data manipulation with R:
R Graphics Cookbook:
An introduction to statistical learning with application in R:
A handbook of statistical analysis using R:
Python
Think Python,Think Stats,Think Bayes:
Python For Data Analysis:
Introduction to Python for Econometrics, Statistics and Data Analysis:
Practical Data Analysis:
Python Data Visualization Cookbook:
Exploratory Data Analysis 和 Data Visualization
Exploratory Data Analysis:
Exploratory Data Analysis with MATLAB:
Visualize This:
Machine Learning & Data Mining
The Element of Statistical Learning:
Data Mining:
還有一些印象比較深刻的書(shū):
Big Data Glossary:
Mining of Massive Datasets:
Developing Analytic Talent:
Past, Present and Future of Statistical Science:
其它資料
Harvard Data Science:
PyData:
工具
R/Python/MATLAB(必備):
SQL(必備):
MongoDB(可選):
Hadoop/Spark/Storm(可選):
OpenRefine(可選):
Tableau(可選):
?? 個(gè)人覺(jué)得很系統(tǒng),是一個(gè)系統(tǒng)學(xué)習(xí)數(shù)據(jù)科學(xué)的方向,很贊
??
這也叫是干貨?我看過(guò)
http://www.8kvv.com 上面干貨很多特別全,建議看看
?? ?? ?? ?? ?? ??
??