數(shù)據(jù)分析之圖算法 基于Spark和Neo4j(圖靈出品)
定 價(jià):79 元
- 作者:馬克·尼達(dá)姆(Mark Needham),埃米·E.,霍德勒(Amy,E.,Hodler) 著,唐富年 譯
- 出版時(shí)間:2020/9/1
- ISBN:9787115546678
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁(yè)碼:195
- 紙張:膠版紙
- 版次:1
- 開本:16開
圖分析可以揭示復(fù)雜系統(tǒng)和大規(guī)模網(wǎng)絡(luò)的運(yùn)作機(jī)制,圖算法為構(gòu)建智能應(yīng)用程序提供了快速建模的框架,有助于更準(zhǔn)確、更快速地做出預(yù)測(cè)。包括商品推薦和欺詐檢測(cè)在內(nèi)的許多人工智能問題能轉(zhuǎn)換為圖論問題。本書基于Spark和Neo4j講解近20種常用的圖算法,幫助讀者拓展重要圖分析類型的相關(guān)知識(shí)和能力,更快速地發(fā)現(xiàn)數(shù)據(jù)中的模式并找到更優(yōu)的解決方案。
1.圖算法為構(gòu)建智能應(yīng)用程序提供了快速建模的框架,有助于更準(zhǔn)確、更快速地做出預(yù)測(cè);
2.本書作者是Neo4j公司開發(fā)者關(guān)系工程師,Neo4j認(rèn)證專家,在圖分析領(lǐng)域深耕多年;
3.本書基于Spark和Neo4j講解路徑查找算法、中心性算法、社團(tuán)發(fā)現(xiàn)算法等近20種常用的圖算法;
4.書中實(shí)例豐富,商品推薦和欺詐檢測(cè)在內(nèi)的許多人工智能問題能轉(zhuǎn)換為圖論問題。
莎士比亞曾說(shuō),世界是一個(gè)大舞臺(tái)。在今天看來(lái),世界是一張大圖!將人物和事件視作節(jié)點(diǎn),將節(jié)點(diǎn)之間的關(guān)系連成線,我們就能將錯(cuò)綜復(fù)雜的關(guān)系網(wǎng)絡(luò)轉(zhuǎn)化為圖,通過(guò)圖分析洞悉復(fù)雜問題的本質(zhì)。圖算法已經(jīng)廣泛應(yīng)用于數(shù)據(jù)分析領(lǐng)域,營(yíng)銷歸因分析、欺詐網(wǎng)絡(luò)檢測(cè)、客戶旅程建模、安全事故原因分析,甚至連莎士比亞戲劇的劇情分析,都會(huì)用到圖算法。
學(xué)習(xí)圖算法有助于利用數(shù)據(jù)間的關(guān)系研究智能解決方案,并構(gòu)建增強(qiáng)機(jī)器學(xué)習(xí)模型。本書作者來(lái)自Neo4j公司,在圖分析領(lǐng)域深耕多年。你將跟隨他們領(lǐng)略美妙的圖算法世界,并利用流行平臺(tái)Spark和Neo4j實(shí)現(xiàn)常用的圖算法。
- 了解如何利用圖分析揭示數(shù)據(jù)的預(yù)測(cè)性特征
- 了解如何實(shí)現(xiàn)近20種流行的圖算法
- 了解各種圖算法的適用場(chǎng)景
- 跟隨示例在Spark和Neo4j中應(yīng)用圖算法
- 結(jié)合Spark和Neo4j創(chuàng)建機(jī)器學(xué)習(xí)工作流程
馬克·尼達(dá)姆(Mark Needham)
Neo4j公司開發(fā)者關(guān)系工程師,Neo4j認(rèn)證專家,曾深度參與Neo4j因果集群的開發(fā)工作。馬克致力于幫助客戶運(yùn)用圖數(shù)據(jù)庫(kù),善于針對(duì)富有挑戰(zhàn)性的數(shù)據(jù)問題構(gòu)建綜合的解決方案。
埃米·E. 霍德勒(Amy E. Hodler)
Neo4j公司圖分析與人工智能項(xiàng)目總監(jiān),熱愛網(wǎng)絡(luò)科學(xué),在圖分析項(xiàng)目的開發(fā)和運(yùn)營(yíng)方面有著豐富的經(jīng)驗(yàn),曾成功帶領(lǐng)團(tuán)隊(duì)為EDS、微軟、惠普等公司創(chuàng)造新的商機(jī)。
序 xi
前言 xiii
第 1章 導(dǎo)論 1
1.1 何謂圖 1
1.2 何謂圖分析和圖算法 3
1.3 圖處理、圖數(shù)據(jù)庫(kù)、圖查詢和圖算法 5
1.4 為何要關(guān)心圖算法 6
1.5 圖分析用例 9
1.6 小結(jié) 10
第 2章 圖論及其概念 11
2.1 術(shù)語(yǔ) 11
2.2 圖的類型和結(jié)構(gòu) 12
2.3 圖的種類 14
2.3.1 連通圖與非連通圖 14
2.3.2 無(wú)權(quán)圖與加權(quán)圖 15
2.3.3 無(wú)向圖與有向圖 16
2.3.4 無(wú)環(huán)圖與有環(huán)圖 17
2.3.5 稀疏圖與稠密圖 18
2.3.6 單部圖、二部圖和k部圖 19
2.4 圖算法的類型 21
2.4.1 路徑查找 21
2.4.2 中心性 21
2.4.3 社團(tuán)發(fā)現(xiàn) 22
2.5 小結(jié) 22
第3章 圖平臺(tái)和圖處理 23
3.1 圖平臺(tái)和圖處理的注意事項(xiàng) 23
3.1.1 平臺(tái)注意事項(xiàng) 23
3.1.2 處理注意事項(xiàng) 24
3.2 典型平臺(tái) 25
3.2.1 選擇平臺(tái) 25
3.2.2 Apache Spark 26
3.2.3 Neo4j圖平臺(tái) 28
3.3 小結(jié) 30
第4章 路徑查找算法和圖搜索算法 31
4.1 示例數(shù)據(jù):交通圖 33
4.1.1 將數(shù)據(jù)導(dǎo)入Spark 35
4.1.2 將數(shù)據(jù)導(dǎo)入Neo4j 36
4.2 廣度優(yōu)先搜索 36
4.3 深度優(yōu)先搜索 38
4.4 最短路徑算法 40
4.4.1 何時(shí)使用最短路徑算法 41
4.4.2 使用Neo4j實(shí)現(xiàn)最短路徑算法 41
4.4.3 使用Neo4j實(shí)現(xiàn)加權(quán)最短路徑算法 43
4.4.4 使用Spark實(shí)現(xiàn)加權(quán)最短路徑算法 44
4.4.5 最短路徑算法的變體:A*算法 46
4.4.6 最短路徑算法的變體:Yen的k最短路徑算法 48
4.5 所有點(diǎn)對(duì)最短路徑算法 49
4.5.1 近觀所有點(diǎn)對(duì)最短路徑算法 50
4.5.2 何時(shí)使用所有點(diǎn)對(duì)最短路徑算法 51
4.5.3 使用Spark實(shí)現(xiàn)所有點(diǎn)對(duì)最短路徑算法 51
4.5.4 使用Neo4j實(shí)現(xiàn)所有點(diǎn)對(duì)最短路徑算法 52
4.6 單源最短路徑算法 53
4.6.1 何時(shí)使用單源最短路徑算法 54
4.6.2 使用Spark實(shí)現(xiàn)單源最短路徑算法 55
4.6.3 使用Neo4j實(shí)現(xiàn)單源最短路徑算法 57
4.7 最小生成樹算法 57
4.7.1 何時(shí)使用最小生成樹算法 58
4.7.2 使用Neo4j實(shí)現(xiàn)最小生成樹算法 59
4.8 隨機(jī)游走算法 61
4.8.1 何時(shí)使用隨機(jī)游走算法 61
4.8.2 使用Neo4j實(shí)現(xiàn)隨機(jī)游走算法 61
4.9 小結(jié) 63
第5章 中心性算法 64
5.1 示例數(shù)據(jù):社交圖 66
5.1.1 將數(shù)據(jù)導(dǎo)入Spark 67
5.1.2 將數(shù)據(jù)導(dǎo)入Neo4j 67
5.2 度中心性算法 68
5.2.1 可達(dá)性 68
5.2.2 何時(shí)使用度中心性算法 69
5.2.3 使用Spark實(shí)現(xiàn)度中心性算法 69
5.3 接近中心性算法 70
5.3.1 何時(shí)使用接近中心性算法 71
5.3.2 使用Spark實(shí)現(xiàn)接近中心性算法 72
5.3.3 使用Neo4j實(shí)現(xiàn)接近中心性算法 74
5.3.4 接近中心性算法變體:Wasserman & Faust算法 75
5.3.5 接近中心性算法變體:調(diào)和中心性算法 77
5.4 中間中心性算法 78
5.4.1 橋與控制點(diǎn) 78
5.4.2 計(jì)算中間中心性得分 79
5.4.3 何時(shí)使用中間中心性算法 79
5.4.4 使用Neo4j實(shí)現(xiàn)中間中心性算法 80
5.4.5 中間中心性算法變體:RA-Brandes算法 82
5.5 PageRank算法 83
5.5.1 影響力 84
5.5.2 PageRank算法公式 84
5.5.3 迭代、隨機(jī)沖浪者和等級(jí)沉沒 85
5.5.4 何時(shí)使用PageRank算法 86
5.5.5 使用Spark實(shí)現(xiàn)PageRank算法 87
5.5.6 使用Neo4j實(shí)現(xiàn)PageRank算法 88
5.5.7 PageRank算法變體:個(gè)性化PageRank算法 90
5.6 小結(jié) 91
第6章 社團(tuán)發(fā)現(xiàn)算法 92
6.1 示例數(shù)據(jù):軟件依賴圖 94
6.1.1 將數(shù)據(jù)導(dǎo)入Spark 96
6.1.2 將數(shù)據(jù)導(dǎo)入Neo4j 97
6.2 三角形計(jì)數(shù)和聚類系數(shù) 97
6.2.1 局部聚類系數(shù) 97
6.2.2 全局聚類系數(shù) 98
6.2.3 何時(shí)使用三角形計(jì)數(shù)和聚類系數(shù) 98
6.2.4 使用Spark實(shí)現(xiàn)三角形計(jì)數(shù)算法 99
6.2.5 使用Neo4j實(shí)現(xiàn)三角形計(jì)數(shù)算法 99
6.2.6 使用Neo4j計(jì)算局部聚類系數(shù) 100
6.3 強(qiáng)連通分量算法 101
6.3.1 何時(shí)使用強(qiáng)連通分量算法 102
6.3.2 使用Spark實(shí)現(xiàn)強(qiáng)連通分量算法 102
6.3.3 使用Neo4j實(shí)現(xiàn)強(qiáng)連通分量算法 103
6.4 連通分量算法 106
6.4.1 何時(shí)使用連通分量算法 106
6.4.2 使用Spark實(shí)現(xiàn)連通分量算法 106
6.4.3 使用Neo4j實(shí)現(xiàn)連通分量算法 107
6.5 標(biāo)簽傳播算法 108
6.5.1 半監(jiān)督學(xué)習(xí)和種子標(biāo)簽 110
6.5.2 何時(shí)使用標(biāo)簽傳播算法 110
6.5.3 使用Spark實(shí)現(xiàn)標(biāo)簽傳播算法 110
6.5.4 使用Neo4j實(shí)現(xiàn)標(biāo)簽傳播算法 111
6.6 Louvain模塊度算法 113
6.6.1 通過(guò)模塊度進(jìn)行基于質(zhì)量的分組 114
6.6.2 何時(shí)使用Louvain模塊度算法 117
6.6.3 使用Neo4j實(shí)現(xiàn)Louvain模塊度算法 118
6.7 驗(yàn)證社團(tuán) 122
6.8 小結(jié) 122
第7章 圖算法實(shí)戰(zhàn) 123
7.1 使用Neo4j分析Yelp數(shù)據(jù) 123
7.1.1 Yelp社交網(wǎng)絡(luò) 124
7.1.2 導(dǎo)入數(shù)據(jù) 124
7.1.3 圖模型 125
7.1.4 Yelp數(shù)據(jù)概覽 125
7.1.5 行程規(guī)劃應(yīng)用程序 129
7.1.6 旅游商務(wù)咨詢 134
7.1.7 查找相似類別 138
7.2 使用Spark分析航班數(shù)據(jù) 142
7.2.1 探索性分析 144
7.2.2 熱門機(jī)場(chǎng) 144
7.2.3 源自O(shè)RD的延誤 145
7.2.4 SFO的糟糕一天 147
7.2.5 通過(guò)航空公司互連的機(jī)場(chǎng) 149
7.3 小結(jié) 154
第8章 使用圖算法增強(qiáng)機(jī)器學(xué)習(xí) 155
8.1 機(jī)器學(xué)習(xí)和上下文的重要性 155
8.2 關(guān)聯(lián)特征提取與特征選擇 157
8.2.1 圖特征 158
8.2.2 圖算法特征 158
8.3 圖與機(jī)器學(xué)習(xí)實(shí)踐:鏈接預(yù)測(cè) 160
8.3.1 工具和數(shù)據(jù) 161
8.3.2 將數(shù)據(jù)導(dǎo)入Neo4j 162
8.3.3 合著者關(guān)系圖 163
8.3.4 創(chuàng)建均衡的訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集 164
8.3.5 如何預(yù)測(cè)缺失鏈接 169
8.3.6 創(chuàng)建機(jī)器學(xué)習(xí)管道 170
8.3.7 預(yù)測(cè)鏈接:基本圖特征 171
8.3.8 預(yù)測(cè)鏈接:三角形和聚類系數(shù) 181
8.3.9 預(yù)測(cè)鏈接:社團(tuán)發(fā)現(xiàn) 184
8.4 小結(jié) 190
8.5 總結(jié) 190
附錄 額外信息及資料 191
關(guān)于作者 195
關(guān)于封面 195