大數據分析原理與實踐 (Big data analysis principle and practice)
內容描述
本書介紹了大數據分析的多種模型、所涉及的算法和技術、實現大數據分析系統所需的工具以及大數據分析的具體應用。本書共16章。第1章為緒論,就大數據、大數據分析等概念進行了闡釋,並對本書內容進行了概述;第2~7章介紹了關聯分析模型、分類分析模型、聚類分析模型、結構分析模型和文本分析模型;第8章介紹大數據分析的數據預處理問題;第9章介紹降維方法;第10章介紹了數據倉庫的概念、內涵、組成、體系結構和建立方法,還介紹了分佈式數據倉庫系統和內存數據倉庫系統。第11章介紹大數據分析算法中的回歸算法、關聯規則挖掘算法、分類算法以及聚類算法的實現。第12~14章介紹了三種用於實現大數據分析算法的平臺,即並行計算平臺、流式計算平臺和大圖分析平臺。第15章和第16章介紹兩類大數據分析的具體應用,分別講述了社會網絡分析和推薦系統。本書可作為高等院校大數據相關專業的教學用書,也可以作為從事大數據相關工作的工程技術人員的參考用書。
目錄大綱
序
前言
教學建議
第1章緒論1
1.1什麼是大數據1
1.2哪裡有大數據3
1.3什麼是大數據分析4
1.4大數據分析的過程、技術與難點5
1.5全書概覽8
小結10
習題10
第2章大數據分析模型11
2.1大數據分析模型建立方法11
2.2基本統計量13
2.2.1全表統計量14
2.2.2皮爾森相關係數15
2.3推斷統計16
2.3.1參數估計16
2.3.2假設檢驗20
2.3.3假設檢驗的阿里雲實現23
小結28
習題28
第3章關聯分析模型30
3.1回歸分析31
3.1.1回歸分析概述31
3.1.2回歸模型的拓展35
3.1.3回歸的阿里雲實現43
3.2關聯規則分析52
3.3相關分析54
小結57
習題58
第4章分類分析模型60
4.1分類分析的定義60
4.2判別分析的原理和方法61
4.2.1距離判別法61
4.2.2 Fisher判別法64
4.2.3貝葉斯判別法67
4.3基於機器學習分類的模型71
4.3.1支持向量機72
4.3.2邏輯回歸74
4.3.3決策樹與回歸樹75
4.3.4 k近鄰78
4.3.5隨機森林78
4.3. 6樸素貝葉斯81
4.4 分類分析實例82
4.4.1二分類實例82
4.4.2多分類實例94
小結101
習題102
第5章聚類分析模型105
5.1聚類分析的定義105
5.1.1基於距離的親疏關係度量105
5.1.2基於相似係數的相似性度量108
5.1.3個體與類以及類間的親疏關係度量110
5.1.4變量的選擇與處理111
5.2聚類分析的分類111
5.3聚類有效性的評價112
5.4聚類分析方法概述112
5.5聚類分析的應用113
5.6聚類分析的阿里雲實現114
小結119
習題119
第6章結構分析模型122
6.1短路徑122
6.2鏈接排名123
6.3結構計數125
6.4結構聚類126
6.5社團發現128
6.5.1社團的定義128
6.5.2社團的分類128
6.5.3社團的用途128
6.5.4社團的數學定義128
6.5.5基於阿里雲的社團發現130
小結132
習題133
第7章文本分析模型135
7.1文本分析模型概述135
7.2文本分析方法概述136
7.2.1 SplitWord 136
7.2.2詞頻統計137
7.2.3 TF—IDF 138
7.2.4 PLDA 140
7.2.5 Word2Vec 147
小結148
習題149
第8章大數據分析的數據預處理150
8.1數據抽樣和過濾150
8.1.1數據抽樣150
8.1.2數據過濾154
8.1.3基於阿里雲的抽樣和過濾實現154
8.2數據標準化與歸一化157
8.3數據清洗159
8.3.1數據質量概述159
8.3.2缺失值填充160
8.3.3實體識別與真值發現162
8.3.4錯誤發現與修復169
小結171
習題171
第9章降維173
9.1特徵工程173
9.1.1特徵工程概述173
9.1.2特徵變換175
9.1.3特徵選擇178
9.1.4特徵重要性評估183
9.2主成分分析191
9.2.1什麼是主成分分析191
9.2.2主成分分析的計算過程192
9.2.3基於阿里雲的主成分分析194
9.2.4主成分的表現度量195
9.3因子分析196
9.3.1因子分析概述196
9.3.2因子分析的主要分析指標196
9.3.3因子分析的計算方法197
9.4壓縮感知203
9.4.1什麼是壓縮感知203
9.4.2壓縮感知的具體模型204
9.5面向神經網絡的降維205
9.5.1面向神經網絡的降維方法概述205
9.5.2如何利用神經網絡降 維206
9.6基於特徵散列的維度縮減207
9.6.1特徵散列方法概述207
9.6.2特徵散列算法207
9.7基於Lasso算法的降維208
9.7.1 Lasso方法簡介208
9.7.2 Lasso方法209
9.7 .3 Lasso算法的適用情景211
小結211
習題212
第10章面向大數據的數據倉庫系統214
10.1數據倉庫概述214
10.1.1數據倉庫的基本概念214
10.1.2數據倉庫的內涵215
10.1.3數據倉庫的基本組成215
10.1.4數據倉庫系統的體系結構216
10.1.5數據倉庫的建立217
10.2分佈式數據倉庫系統221
10.2.1基於Hadoop的數據倉庫系統221
10.2.2 Shark:基於Spark的數據倉庫系統227
10.2.3 Mesa 228
10.3內存數據倉庫系統231
10.3.1 SAP HANA 231
10.3.2 HyPer 234
10.4阿里雲數據倉庫簡介236
小結238
習題239
第11章大數據分析算法240
11.1大數據分析算法概述240
11.2回歸算法242
11.3關聯規則挖掘算法248
11.4分類算法255
11.4.1二分類算法256
11.4.2多分類算法273
11.5聚類算法283
11.5.1 k means算法283
11.5.2 CLARANS算法291
小結293
習題293
第12章大數據計算平台295
12.1 Spark 295
12.1.1 Spark簡介295
12.1.2基於Spark的大數據分析實例296
12.2 Hyracks 299
12.2.1 Hyracks簡介299
12.2.2基於Hyracks的大數據分析實例299
12.3 DPark 305
12.3.1 DPark簡介305
12.3.2基於DPark的大數據分析實例306
12.4 HaLoop 308
12.4.1 HaLoop簡介308
12.4.2基於HaLoop的大數據分析實例308
12.5 MaxCompute 309
12.5.1 MaxCompute簡介309
12.5.2 MaxCompute實戰案例介紹310
12.5.3基於MaxCompute的大數據分析實例316
12.5.4 MaxCompute的現狀及前景320
小結321
習題321
第13章流式計算平台322
13.1流式計算概述322
13.1.1流式計算的定義322
13.1.2流式計算的應用322
13.1.3流式計算平台的發展324
13.2 Storm 324
13.2.1 Storm簡介324
13.2.2 Storm的結構325
13.2.3基於Storm的大數據分析實例326
13.3分佈式流處理系統Samza 331
13.3.1 Samza簡介331
13.3.2 Samza的原理332
13.3.3基於Samza的 數據分析實例334
13.4 Cloud Dataflow 339
13.4.1 Cloud Dataflow簡介339
13.4.2 Cloud Dataflow開發模型340
13.4.3 Cloud Dataflow的應用實例340
13.5阿里雲StreamCompute 341
13.5.1阿里雲StreamCompute的原理341
13.5.2基於StreamCompute的實時數據統計342
13.5.3訂單統計實例347
小結348
習題349
第14章大圖計算平台350
14.1大圖計算框架概述350
14.2 GraphLab 350
14.2.1 GraphLab的計算模型350
14.2.2基於GraphLab的大圖分析實例351
14.3 Giraph 353
14.3.1 Giraph簡介353
14.3.2 Giraph的原理353
14.3.3 Giraph的應用354
14.3.4基於Giraph的大圖分析實例354
14.4 Neo4j 358
14.4.1 Neo4j簡介358
14.4.2基於Noe4j的大圖分析實例359
14.5 Apache Hama 360
14.5.1 Apache Hama簡介360
14.5.2 Apache Hama的結構361
14.5.3 Apache Hama的工作原理362
14.6 MaxCompute Graph 363
14.6.1 MaxCompute Graph的原理363
14.6. 2 MaxCompute Graph的使用與配置方法364
14.5.3基於MaxCompute Graph的大圖分析實例371
小結376
習 377
第15章社交網絡378
15.1為社交網絡建模378
15.1.1社交網絡概述378
15.1.2社交圖378
15.2社交網絡的結構379
15.2.1社交網絡的統計學構成379
15.2.2社交網絡的群體形成381
15.3基於社交網絡語義分析的利益衝突發現382
15.4社交網絡中的社區發現384
15.4.1動態社交網絡中的社區識別框架384
15.4.2基於經驗比對算法的網絡社區檢測387
15.5社交網絡中的關聯分析388
15.5.1社交網絡中的關係強度模型388
15.5.2社交網絡中“正向鏈接”與“負向鏈接”的預測391
15.6社交網絡中的影響力預測393
15.7基於阿里雲的社團發現實例396
小結403
習題403
第16章推薦系統405
16.1推薦系統概述405
16.2協同過濾408
16.2.1協同過濾簡介408
16.2.2面向物品的協同過濾算法408
16.2.3改進的近鄰法410
16.2.4集成協同過濾方法412
16.3基於用戶評價的推薦413
16.4基於人的推薦415
16.4.1基於用戶偏好學習的在線 推薦415
16.4.2混合推薦系統418
16.5基於標記的推薦422
16.6社交網絡中的推薦423
16.6.1基於信號的社交網絡推薦423
16.6.2基於在線主題的社交網絡推薦425
16.7基於阿里雲的個性推薦系統搭建427
小結439
習題439
參考文獻441
附錄
作者介紹
王宏志,博士,博士生導師,哈爾濱工業大學計算機科學與技術學院副教授,中國計算機學會高級會員,YOCSEF黑龍江省分論壇AC。2008年7月在哈爾濱工業大學計算機軟件與理論學科獲得博士學位,博士論文獲得“中國計算機學博士論文”和“哈爾濱工業大學博士論文”。
研究方向包括XML數據管理、圖數據管理、數據質量、信息集成等。先後被評為“微軟學者”、“中國數據庫工程師”和“IBM博士英才”。曾先後擔任全國數據庫會議等多個學術會議的程序委員會委員和IEEE TKDE等多個重要國際期刊的審稿人。