資深大數(shù)據(jù)專家多年實戰(zhàn)經(jīng)驗總結,拒絕晦澀,開啟大數(shù)據(jù)與機器學習妙趣之旅。以降低學習曲線和閱讀難度為宗旨,系統(tǒng)講解統(tǒng)計學、數(shù)據(jù)挖掘算法、實際應用案例、數(shù)據(jù)價值與變現(xiàn),以及高級拓展技能,并清晰勾勒出大數(shù)據(jù)技術路線與產(chǎn)業(yè)藍圖。
本書共分18章。用通俗易懂的語言,結合大量案例與漫畫,不枯燥,實用、接地氣。
第1~5章,這部分是大數(shù)據(jù)入門所需的系統(tǒng)性知識,剖析大數(shù)據(jù)產(chǎn)業(yè)、數(shù)據(jù)與信息算法等的關系,妙解數(shù)學基礎(排列組合、概率、統(tǒng)計與分布),以及指標化運營及體系構建。這部分補足讀者的產(chǎn)業(yè)與相關概念認知,以及所需的數(shù)學知識。為下面的數(shù)據(jù)挖掘算法的理解與應用夯實基礎。
第6~8章,這部分介紹數(shù)據(jù)挖掘基礎知識與算法,講解了與數(shù)據(jù)息息相關的信息論,重點講解了:多維向量空間(向量和維度、矩陣及其計算、上卷和下鉆);
回歸(線性回歸、殘差分析、擬合相關問題);
聚類(K-Means算法、有趣模式、孤立點、層次與密度聚類,聚類的評估等);
分類(樸素貝葉斯、決策樹歸納、隨機森林、隱馬爾科夫模型、SVM、遺傳算法)。
第11~18章,這部分介紹生產(chǎn)應用與高級擴展。其中第11~15章介紹生產(chǎn)應用實踐,涵蓋關聯(lián)分析、用戶畫像、推薦算法、文本挖掘、人工神經(jīng)網(wǎng)絡。這些也是工業(yè)界和學術界研究的熱點。第16章講解了著名的大數(shù)據(jù)框架及其安裝與配置,如Hadoop、Spark、Cassandra、PrestoDB。第17章從速度與穩(wěn)定性維度介紹了大數(shù)據(jù)系統(tǒng)的架構與調(diào)優(yōu)。第18章則從數(shù)據(jù)運營、評估、展現(xiàn)與變現(xiàn)場景層面進行了解讀。
附錄部分給出了大數(shù)據(jù)平臺運行可能需要的軟件和庫,以及群眾如何看待炙手可熱的大數(shù)據(jù)。
資深大數(shù)據(jù)專家多年實戰(zhàn)經(jīng)驗總結,拒絕晦澀,開啟大數(shù)據(jù)與機器學習妙趣之旅
以降低學習曲線和閱讀難度為宗旨,重點講解了統(tǒng)計學、數(shù)據(jù)挖掘算法、實際應用案例、數(shù)據(jù)價值與變現(xiàn),以及高級拓展技能,清晰勾勒出大數(shù)據(jù)技術路線與產(chǎn)業(yè)藍圖
目前很多大中型企業(yè)都有數(shù)據(jù)分析崗位,尤其是和自己業(yè)務結合緊密的分析崗位。企業(yè)求賢若渴,而求職者對數(shù)據(jù)分析崗位望而卻步。這就是當前大數(shù)據(jù)分析市場的尷尬。
原因有三:
●數(shù)學基礎薄弱:很多應用中的統(tǒng)計學、概率學,成為學習中的巨大阻力。
●學習成本高:數(shù)學和相關的算法過于抽象,布道者往往忽略了很多解釋性的內(nèi)容,使得讀者學習起來費時費力。
●變現(xiàn)不確定:這也是數(shù)據(jù)分析人員的尷尬。個人對數(shù)據(jù)的加工增值以及變現(xiàn)有多大的貢獻難以度量。
本書通俗易懂,有高中數(shù)學基礎即可看懂,同時結合大量案例與漫畫,將高度抽象的數(shù)學、算法與應用,與現(xiàn)實生活中的案例和事件一一做了關聯(lián),將源自生活的抽象還原出來,幫助讀者理解后,又帶領大家將這些抽象的規(guī)律與算法應用于實踐,貼合讀者需求。同時,本書不是割裂講解大數(shù)據(jù)與機器學習的算法和應用,還講解了其生態(tài)環(huán)境與關聯(lián)內(nèi)容,讓讀者更全面地知曉淵源與未來,是系統(tǒng)學習大數(shù)據(jù)與機器學習的不二之選:
●大數(shù)據(jù)產(chǎn)業(yè)解讀——剖析產(chǎn)業(yè)情況,人才供需、職業(yè)選擇與相應“武器”庫;
●步入大數(shù)據(jù)之門——解讀數(shù)據(jù)、信息、算法,以及與大數(shù)據(jù)應用的關系;
●大數(shù)據(jù)基石——結合大量示例和漫畫,趣味講解大數(shù)據(jù)算法應掌握的數(shù)學知識,無障礙學習;
●大數(shù)據(jù)算法奧義——信息論、向量空間、回歸、聚類、分類等*為核心的算法的釋義與應用,舉重若輕;
●大數(shù)據(jù)熱門應用——關聯(lián)分析、用戶畫像、推薦算法、文本挖掘、人工神經(jīng)網(wǎng)絡等*實用、*需要了解的應用的原理與實現(xiàn);
●大數(shù)據(jù)主流框架——介紹了主流的大數(shù)據(jù)框架(Hadoop、Spark和Cassandra);
●系統(tǒng)架構與調(diào)優(yōu)——從速度與穩(wěn)定性方面給出調(diào)優(yōu)的一般性“內(nèi)功心法”;
●大數(shù)據(jù)價值與變現(xiàn)——從運營指標、AB測試、大數(shù)據(jù)價值與變現(xiàn)場景多維度解讀。
為什么要寫這本書
不知從何時開始我們已周身沒入大數(shù)據(jù)時代的潮流,不知不覺被卷入了大數(shù)據(jù)時代。
無論是每天上網(wǎng)看網(wǎng)頁、聊QQ、聊微信,或者登錄銀行、網(wǎng)購、買票,或者出行、投宿,甚至是出入任何公眾場合、駕車、用水用電……我們無時無刻不在生產(chǎn)著各種數(shù)據(jù)。而同時我們也在消費著其他人生產(chǎn)的數(shù)據(jù),我們使用的眾多家電產(chǎn)品,每一個設計細節(jié)都融入了設計者對用戶體驗數(shù)據(jù)的調(diào)查與分析;我們使用的每一部手機、每一臺電腦,每一個部件的產(chǎn)出都融入著多得無法想象的指標數(shù)據(jù)控制下的生產(chǎn)與監(jiān)控;我們訪問的每一個網(wǎng)頁、每一個軟件,每一次享受到的貼心的產(chǎn)品改動和服務的升級,無不浸透著無數(shù)的數(shù)據(jù)匯集與精細的分析和反饋。這是一場慢慢到來的、貫穿所有產(chǎn)業(yè)的革命,這是一次潤物細無聲的各行業(yè)精耕細作的開端。
不管我們是不是愿意,不管我們有沒有意識到,我們現(xiàn)在已經(jīng)身處大數(shù)據(jù)時代的奇點,而未來要迎接的是大數(shù)據(jù)奇點爆炸給我們帶來的沖擊力。我們需要力量來駕馭浪里的航船,我們需要乘風破浪前進的動力。
在這一次遠航中,我們不必擔心自己的能力水平無法感知數(shù)據(jù)這種磅礴之力的氣魄,不必擔心晦澀難懂的公式定理會讓我們感到阻力。
請相信我,這是一本通俗易懂的大數(shù)據(jù)圖書,這是一本輕松愉悅的數(shù)據(jù)挖掘和機器學習的讀本,這是一本沒有門檻的機器學習實戰(zhàn)手冊。讓我們一起揚帆遠航吧!
本書特色
從行為脈絡來看,本書基本上是從數(shù)據(jù)統(tǒng)計、數(shù)據(jù)指標理解、數(shù)據(jù)模型、聚類/分類與機器學習、數(shù)據(jù)應用、大數(shù)據(jù)框架補充知識,以及擴展討論這樣的角度來層層深入完成的。
這種方式會給讀者比較好的帶入感,讓大家——尤其是不擅長數(shù)學的讀者降低對大數(shù)據(jù)與機器學習算法的恐懼感。如果讀者朋友對排列組合、統(tǒng)計分布這些基礎知識比較了解,完全可以考慮跳過這些部分直接去讀后面更感興趣的內(nèi)容。
為了調(diào)節(jié)閱讀氣氛,我們還嘗試加入了一些漫畫插圖。為了讓讀者朋友能夠更快地進行實踐,我們幾乎在每一個算法講解后都配有Python或者SQL語言的實現(xiàn)部分。相信這些能夠幫助大家更快、更輕松地閱讀本書。
讀者對象
。1)對大數(shù)據(jù)感興趣但是完全不了解的技術人員。
。2)對機器學習和數(shù)據(jù)挖掘比較感興趣的技術人員。
。3)大數(shù)據(jù)初級從業(yè)人員。
如何閱讀本書
本書一共分為18章。
第1章~第5章為入門所需基礎知識及對數(shù)據(jù)指標運營的闡述。
第6章~第10章是對數(shù)據(jù)挖掘基礎知識與算法的介紹。
第11章~第18章為生產(chǎn)應用與高級擴展。
其中,第1章~第15章正文內(nèi)容,以及第17章、第18章的正文內(nèi)容由高揚編寫。
全書所有的Python代碼由衛(wèi)崢編寫與補充整理。
第16章、附錄全部由尹會生編寫。
全書所有的漫畫插畫由萬娟創(chuàng)作完成。
勘誤和支持
由于水平有限,編寫時間倉促,書中難免會出現(xiàn)一些錯誤或者不準確的地方,懇請讀者批評指正。如果你有更多的寶貴意見,歡迎掃描下方的二維碼,關注“奇點大數(shù)據(jù)”微信公眾號和我們進行互動討論。關注大數(shù)據(jù)尖端技術發(fā)展,關注“奇點大數(shù)據(jù)”。
同時,你也可以通過郵箱77232517@qq.com聯(lián)系到我,期待能夠得到你的真摯反饋,在技術之路上互勉共進。
致謝
特別感謝:萬娟女士為本書做的漫畫插畫內(nèi)容。
萬娟女士現(xiàn)任深圳星盤科技有限公司UI設計師,是我在多年工作中遇到過的最敬業(yè)的UI設計師之一,在2013年一起合作的過程中給我留下了非常深刻的印象。
她多次參加全國和國際藝術比賽,曾獲得全國青少年繪畫大賽銅獎,中國–新加坡國際青少年繪畫比賽優(yōu)秀獎,以及全國大學生工業(yè)設計大賽三等獎。從小酷愛繪畫,理想是開一個屬于自己的畫室。
她給我留下的最深刻的印象用兩個詞可以描述:一個詞是“敬業(yè)”,不管是在過去共事期間的合作,還是在為本書創(chuàng)作插畫的過程中,為了保證進度帶病堅持創(chuàng)作,都讓我非常感動;另一個詞是“唯美”,不僅人長得美,作品設計風格也透出現(xiàn)代與時尚的氣息。
此外還要對所有支持和關心本書成書的各界朋友表示由衷的感謝:
衷心感謝北京郵電大學軟件學院楊談老師對本書的審校工作。
衷心感謝騰訊公司數(shù)據(jù)分析師彭瑤女士對本書的審校工作。
衷心感謝重慶工商大學黃輝老師、楊藝老師對本書的大力支持。
衷心感謝機械工業(yè)出版社華章公司對本書的支持與幫助。
衷心感謝“奇點大數(shù)據(jù)”微信群友對本書的關注與支持。
高揚
高揚,金山軟件西山居資深大數(shù)據(jù)架構師與大數(shù)據(jù)專家,有多年編程經(jīng)驗(多年日本和澳洲工作經(jīng)驗)和多年大數(shù)據(jù)架構設計與數(shù)據(jù)分析、處理經(jīng)驗,目前負責西山居的大數(shù)據(jù)產(chǎn)品市場戰(zhàn)略與產(chǎn)品戰(zhàn)略。專注于大數(shù)據(jù)系統(tǒng)架構以及變現(xiàn)研究。擅長數(shù)據(jù)挖掘、數(shù)據(jù)建模、關系型數(shù)據(jù)庫應用以及大數(shù)據(jù)框架Hadoop、Spark、Cassandra、Prestodb等的應用。負責西山居紫霞系統(tǒng)——大數(shù)據(jù)日志處理系統(tǒng)的系統(tǒng)架構與設計工作。
衛(wèi)崢,西山居軟件架構師,多年的軟件開發(fā)和架構經(jīng)驗,精通C/C++、Python、Golang、JavaScript等多門編程語言,近幾年專注于數(shù)據(jù)處理、機器學算法的研究、應用與服務研發(fā)。曾在新浪網(wǎng)平臺架構部負責音視頻轉碼平臺的架構和研發(fā)工作,為新浪微博,新浪微盤,秒拍等提供視頻在線觀看服務。51CTO講師。
尹會生,西山居高級系統(tǒng)工程師。曾任新浪研發(fā)中心技術經(jīng)理、北京尚觀科技高級講師。在新浪廣告、微博廣告、西山居大數(shù)據(jù)平臺架構中擔任關鍵角色。擅長企業(yè)集群解決方案和內(nèi)核調(diào)優(yōu)經(jīng)驗,并提供高性能和高可用性集群咨詢服務。近4年專注于Hadoop集群、Spark集群在推薦系統(tǒng)和BI相關領域的解決方案。
萬娟,星盤科技有限公司UI設計師平面,對VI設計、包裝、海報設計等、商業(yè)插畫、App交互、網(wǎng)頁設計等有獨到認識。多次參與智能家居和智能音箱等項目的UI設計。多次參加國際和國內(nèi)藝術和工業(yè)設計比賽,并獲獎。從小酷愛繪畫,理想是開一個屬于自己的畫室。
第1章大數(shù)據(jù)產(chǎn)業(yè)1
1.1大數(shù)據(jù)產(chǎn)業(yè)現(xiàn)狀1
1.2對大數(shù)據(jù)產(chǎn)業(yè)的理解2
1.3大數(shù)據(jù)人才3
1.3.1供需失衡3
1.3.2人才方向3
1.3.3環(huán)節(jié)和工具5
1.3.4門檻障礙6
1.4小結8
第2章步入數(shù)據(jù)之門9
2.1什么是數(shù)據(jù)9
2.2什么是信息10
2.3什么是算法12
2.4統(tǒng)計、概率和數(shù)據(jù)挖掘13
2.5什么是商業(yè)智能13
2.6小結14
第3章排列組合與古典概型15
3.1排列組合的概念16
3.1.1公平的決斷——扔硬幣16
3.1.2非古典概型17
3.2排列組合的應用示例18
3.2.1雙色球彩票18
3.2.2購車搖號20
3.2.3德州撲克21
3.3小結25
第4章統(tǒng)計與分布27
4.1加和值、平均值和標準差27
4.1.1加和值28
4.1.2平均值29
4.1.3標準差30
4.2加權均值32
4.2.1混合物定價32
4.2.2決策權衡34
4.3眾數(shù)、中位數(shù)35
4.3.1眾數(shù)36
4.3.2中位數(shù)37
4.4歐氏距離37
4.5曼哈頓距離39
4.6同比和環(huán)比41
4.7抽樣43
4.8高斯分布45
4.9泊松分布49
4.10伯努利分布52
4.11小結54
第5章指標55
5.1什么是指標55
5.2指標化運營58
5.2.1指標的選擇58
5.2.2指標體系的構建62
5.3小結63
第6章信息論64
6.1信息的定義64
6.2信息量65
6.2.1信息量的計算65
6.2.2信息量的理解66
6.3香農(nóng)公式68
6.4熵70
6.4.1熱力熵70
6.4.2信息熵72
6.5小結75
第7章多維向量空間76
7.1向量和維度76
7.1.1信息冗余77
7.1.2維度79
7.2矩陣和矩陣計算80
7.3數(shù)據(jù)立方體83
7.4上卷和下鉆85
7.5小結86
第8章回歸87
8.1線性回歸87
8.2擬合88
8.3殘差分析94
8.4過擬合99
8.5欠擬合100
8.6曲線擬合轉化為線性擬合101
8.7小結104
第9章聚類105
9.1K-Means算法106
9.2有趣模式109
9.3孤立點110
9.4層次聚類110
9.5密度聚類113
9.6聚類評估116
9.6.1聚類趨勢117
9.6.2簇數(shù)確定119
9.6.3測定聚類質(zhì)量121
9.7小結124
第10章分類125
10.1樸素貝葉斯126
10.1.1天氣的預測128
10.1.2疾病的預測130
10.1.3小結132
10.2決策樹歸納133
10.2.1樣本收集135
10.2.2信息增益136
10.2.3連續(xù)型變量137
10.3隨機森林140
10.4隱馬爾可夫模型141
10.4.1維特比算法144
10.4.2前向算法151
10.5支持向量機SVM154
10.5.1年齡和好壞154
10.5.2“下刀”不容易157
10.5.3距離有多遠158
10.5.4N維度空間中的距離159
10.5.5超平面怎么畫160
10.5.6分不開怎么辦160
10.5.7示例163
10.5.8小結164
10.6遺傳算法164
10.6.1進化過程164
10.6.2算法過程165
10.6.3背包問題165
10.6.4極大值問題173
10.7小結181
第11章關聯(lián)分析183
11.1頻繁模式和Apriori算法184
11.1.1頻繁模式184
11.1.2支持度和置信度185
11.1.3經(jīng)典的Apriori算法187
11.1.4求出所有頻繁模式190
11.2關聯(lián)分析與相關性分析192
11.3稀有模式和負模式193
11.4小結194
第12章用戶畫像195
12.1標簽195
12.2畫像的方法196
12.2.1結構化標簽196
12.2.2非結構化標簽198
12.3利用用戶畫像203
12.3.1割裂型用戶畫像203
12.3.2緊密型用戶畫像204
12.3.3到底“像不像”204
12.4小結205
第13章推薦算法206
13.1推薦思路206
13.1.1貝葉斯分類206
13.1.2利用搜索記錄207
13.2User-basedCF209
13.3Item-basedCF211
13.4優(yōu)化問題215
13.5小結217
第14章文本挖掘218
14.1文本挖掘的領域218
14.2文本分類219
14.2.1Rocchio算法220
14.2.2樸素貝葉斯算法223
14.2.3K-近鄰算法225
14.2.4支持向量機SVM算法226
14.3小結227
第15章人工神經(jīng)網(wǎng)絡228
15.1人的神經(jīng)網(wǎng)絡228
15.1.1神經(jīng)網(wǎng)絡結構229
15.1.2結構模擬230
15.1.3訓練與工作231
15.2FANN庫簡介233
15.3常見的神經(jīng)網(wǎng)絡235
15.4BP神經(jīng)網(wǎng)絡235
15.4.1結構和原理236
15.4.2訓練過程237
15.4.3過程解釋240
15.4.4示例240
15.5玻爾茲曼機244
15.5.1退火模型244
15.5.2玻爾茲曼機245
15.6卷積神經(jīng)網(wǎng)絡247
15.6.1卷積248
15.6.2圖像識別249
15.7深度學習255
15.8小結256
第16章大數(shù)據(jù)框架簡介257
16.1著名的大數(shù)據(jù)框架257
16.2Hadoop框架258
16.2.1MapReduce原理259
16.2.2安裝Hadoop261
16.2.3經(jīng)典的WordCount264
16.3Spark框架269
16.3.1安裝Spark270
16.3.2使用Scala計算WordCount271
16.4分布式列存儲框架272
16.5PrestoDB——神奇的CLI273
16.5.1Presto為什么那么快273
16.5.2安裝Presto274
16.6小結277
第17章系統(tǒng)架構和調(diào)優(yōu)278
17.1速度——資源的配置278
17.1.1思路一:邏輯層面的優(yōu)化279
17.1.2思路二:容器層面的優(yōu)化279
17.1.3思路三:存儲結構層面的優(yōu)化280
17.1.4思路四:環(huán)節(jié)層面的優(yōu)化280
17.1.5資源不足281
17.2穩(wěn)定——資源的可用282
17.2.1借助云服務282
17.2.2鎖分散282
17.2.3排隊283
17.2.4謹防“雪崩”283
17.3小結285
第18章數(shù)據(jù)解讀與數(shù)據(jù)的價值286
18.1運營指標286
18.1.1互聯(lián)網(wǎng)類型公司常用指標287
18.1.2注意事項288
18.2AB測試289
18.2.1網(wǎng)頁測試290
18.2.2方案測試290
18.2.3灰度發(fā)布292
18.2.4注意事項293
18.3數(shù)據(jù)可視化295
18.3.1圖表295
18.3.2表格299
18.4多維度——大數(shù)據(jù)的靈魂299
18.4.1多大算大299
18.4.2大數(shù)據(jù)網(wǎng)絡300
18.4.3去中心化才能活躍301
18.4.4數(shù)據(jù)會過剩嗎302
18.5數(shù)據(jù)變現(xiàn)的場景303
18.5.1數(shù)據(jù)價值的衡量的討論303
18.5.2場景1:征信數(shù)據(jù)307
18.5.3場景2:宏觀數(shù)據(jù)308
18.5.4場景3:畫像數(shù)據(jù)309
18.6小結310
附錄AVMwareWorkstation的安裝311
附錄BCentOS虛擬機的安裝方法314
附錄CPython語言簡介318
附錄DScikit-learn庫簡介323
附錄EFANNforPython安裝324
附錄F群眾眼中的大數(shù)據(jù)325
寫作花絮327
參考文獻329