数据分析之图算法:基于Spark和Neo4j

书名:数据分析之图算法:基于Spark和Neo4j
作者:[英]马克·尼达姆(MarkNeedham)/[美]埃米·E.霍德勒(AmyE.Hodler)
译者:唐富年
ISBN:9787115546678
出版社:人民邮电出版社
出版时间:2020-9-12
格式:epub/mobi/azw3/pdf
页数:195
豆瓣评分: 6.9

书籍简介:

图分析可以揭示复杂系统和大规模网络的运作机制,图算法为构建智能应用程序提供了快速建模的框架,有助于更准确、更快速地做出预测。包括商品推荐和欺诈检测在内的许多人工智能问题能转换为图论问题。本书基于Spark和Neo4j讲解近20种常用的图算法,帮助读者拓展重要图分析类型的相关知识和能力,更快速地发现数据中的模式并找到更优的解决方案。

作者简介:

马克·尼达姆(Mark Needham)

Neo4j公司开发者关系工程师,Neo4j认证专家,曾深度参与Neo4j因果集群的开发工作。马克致力于帮助客户运用图数据库,善于针对富有挑战性的数据问题构建综合的解决方案。

埃米·E. 霍德勒(Amy E. Hodler)

Neo4j公司图分析与人工智能项目总监,热爱网络科学,在图分析项目的开发和运营方面有着丰富的经验,曾成功带领团队为EDS、微软、惠普等公司创造新的商机。

书友短评:

@ 刘亦奇 这种类型的书本身就是偏向于具体应用和实践的,开卷有益吧。英文版整体的图例非常漂亮,每一章开头都有一个比较好的图来帮初学者理解,但要是要深挖图里的东西,这本书应该是不够的。整体行文思路是,先交代基本建图和构成,后按具体的算法划分为图基本特征描述(单源最短路算法等)、节点和子图特征(中心度等)以及社群发现和标签传播算法,最后给了一个Yelp的具体例子来讲实现。整体感觉思路是非常清晰了,因为主要目的是教用户使用,所以深度不太够。Spark 大部分是同 Neo4j 进行交互,Neo4j 主要是处理所有的算法层面,Spark 则是多数据输入等。整体来说,还是有收获的,主要是学习了作者的思维框架,代码质量一般。 @ 浅指 这种类型的书本身就是偏向于具体应用和实践的,开卷有益吧。英文版整体的图例非常漂亮,每一章开头都有一个比较好的图来帮初学者理解,但要是要深挖图里的东西,这本书应该是不够的。整体行文思路是,先交代基本建图和构成,后按具体的算法划分为图基本特征描述(单源最短路算法等)、节点和子图特征(中心度等)以及社群发现和标签传播算法,最后给了一个Yelp的具体例子来讲实现。整体感觉思路是非常清晰了,因为主要目的是教用户使用,所以深度不太够。Spark 大部分是同 Neo4j 进行交互,Neo4j 主要是处理所有的算法层面,Spark 则是多数据输入等。整体来说,还是有收获的,主要是学习了作者的思维框架,代码质量一般。 @ 亦歌 各种常见的算法包括路径发现,中心性,社区发现,机器学习等都给典型的应用场景,以及用neo4j和spark实现的过程,但是有一些应用场景写的模棱两可,不是我的理解有问题,就是翻译有问题。不过可以学习作者的思路然后去网上找资料了解相关应用,对于图算法的应用来讲,还是一本很不错的入门书籍。 @ 浅指 适合入门速读,内容快速掌握 @ pior 书中对中心性算法和社团发现算法的讲解还算是清楚,附带代码质量不高,没有详细解读。

书籍目录

第1章 导论 1
1.1 何谓图 1
1.2 何谓图分析和图算法 3
1.3 图处理、图数据库、图查询和图算法 5
1.4 为何要关心图算法 6
1.5 图分析用例 9
1.6 小结 10
第2章 图论及其概念 11
2.1 术语 11
2.2 图的类型和结构 12
2.3 图的种类 14
2.3.1 连通图与非连通图 14
2.3.2 无权图与加权图 15
2.3.3 无向图与有向图 16
2.3.4 无环图与有环图 17
2.3.5 稀疏图与稠密图 18
2.3.6 单部图、二部图和k部图 19
2.4 图算法的类型 21
2.4.1 路径查找 21
2.4.2 中心性 21
2.4.3 社团发现 22
2.5 小结 22
第3章 图平台和图处理 23
3.1 图平台和图处理的注意事项 23
3.1.1 平台注意事项 23
3.1.2 处理注意事项 24
3.2 典型平台 25
3.2.1 选择平台 25
3.2.2 Apache Spark 26
3.2.3 Neo4j图平台 28
3.3 小结 30
第4章 路径查找算法和图搜索算法 31
4.1 示例数据:交通图 33
4.1.1 将数据导入Spark 35
4.1.2 将数据导入Neo4j 36
4.2 广度优先搜索 36
4.3 深度优先搜索 38
4.4 最短路径算法 40
4.4.1 何时使用最短路径算法 41
4.4.2 使用Neo4j实现最短路径算法 41
4.4.3 使用Neo4j实现加权最短路径算法 43
4.4.4 使用Spark实现加权最短路径算法 44
4.4.5 最短路径算法的变体:A*算法 46
4.4.6 最短路径算法的变体:Yen的k最短路径算法 48
4.5 所有点对最短路径算法 49
4.5.1 近观所有点对最短路径算法 50
4.5.2 何时使用所有点对最短路径算法 51
4.5.3 使用Spark实现所有点对最短路径算法 51
4.5.4 使用Neo4j实现所有点对最短路径算法 52
4.6 单源最短路径算法 53
4.6.1 何时使用单源最短路径算法 54
4.6.2 使用Spark实现单源最短路径算法 55
4.6.3 使用Neo4j实现单源最短路径算法 57
4.7 最小生成树算法 57
4.7.1 何时使用最小生成树算法 58
4.7.2 使用Neo4j实现最小生成树算法 59
4.8 随机游走算法 61
4.8.1 何时使用随机游走算法 61
4.8.2 使用Neo4j实现随机游走算法 61
4.9 小结 63
第5章 中心性算法 64
5.1 示例数据:社交图 66
5.1.1 将数据导入Spark 67
5.1.2 将数据导入Neo4j 67
5.2 度中心性算法 68
5.2.1 可达性 68
5.2.2 何时使用度中心性算法 69
5.2.3 使用Spark实现度中心性算法 69
5.3 接近中心性算法 70
5.3.1 何时使用接近中心性算法 71
5.3.2 使用Spark实现接近中心性算法 72
5.3.3 使用Neo4j实现接近中心性算法 74
5.3.4 接近中心性算法变体:Wasserman & Faust算法 75
5.3.5 接近中心性算法变体:调和中心性算法 77
5.4 中间中心性算法 78
5.4.1 桥与控制点 78
5.4.2 计算中间中心性得分 79
5.4.3 何时使用中间中心性算法 79
5.4.4 使用Neo4j实现中间中心性算法 80
5.4.5 中间中心性算法变体:RA-Brandes算法 82
5.5 PageRank算法 83
5.5.1 影响力 84
5.5.2 PageRank算法公式 84
5.5.3 迭代、随机冲浪者和等级沉没 85
5.5.4 何时使用PageRank算法 86
5.5.5 使用Spark实现PageRank算法 87
5.5.6 使用Neo4j实现PageRank算法 88
5.5.7 PageRank算法变体:个性化PageRank算法 90
5.6 小结 91
第6章 社团发现算法 92
6.1 示例数据:软件依赖图 94
6.1.1 将数据导入Spark 96
6.1.2 将数据导入Neo4j 97
6.2 三角形计数和聚类系数 97
6.2.1 局部聚类系数 97
6.2.2 全局聚类系数 98
6.2.3 何时使用三角形计数和聚类系数 98
6.2.4 使用Spark实现三角形计数算法 99
6.2.5 使用Neo4j实现三角形计数算法 99
6.2.6 使用Neo4j计算局部聚类系数 100
6.3 强连通分量算法 101
6.3.1 何时使用强连通分量算法 102
6.3.2 使用Spark实现强连通分量算法 102
6.3.3 使用Neo4j实现强连通分量算法 103
6.4 连通分量算法 106
6.4.1 何时使用连通分量算法 106
6.4.2 使用Spark实现连通分量算法 106
6.4.3 使用Neo4j实现连通分量算法 107
6.5 标签传播算法 108
6.5.1 半监督学习和种子标签 110
6.5.2 何时使用标签传播算法 110
6.5.3 使用Spark实现标签传播算法 110
6.5.4 使用Neo4j实现标签传播算法 111
6.6 Louvain模块度算法 113
6.6.1 通过模块度进行基于质量的分组 114
6.6.2 何时使用Louvain模块度算法 117
6.6.3 使用Neo4j实现Louvain模块度算法 118
6.7 验证社团 122
6.8 小结 122
第7章 图算法实战 123
7.1 使用Neo4j分析Yelp数据 123
7.1.1 Yelp社交网络 124
7.1.2 导入数据 124
7.1.3 图模型 125
7.1.4 Yelp数据概览 125
7.1.5 行程规划应用程序 129
7.1.6 旅游商务咨询 134
7.1.7 查找相似类别 138
7.2 使用Spark分析航班数据 142
7.2.1 探索性分析 144
7.2.2 热门机场 144
7.2.3 源自ORD的延误 145
7.2.4 SFO的糟糕一天 147
7.2.5 通过航空公司互连的机场 149
7.3 小结 154
第8章 使用图算法增强机器学习 155
8.1 机器学习和上下文的重要性 155
8.2 关联特征提取与特征选择 157
8.2.1 图特征 158
8.2.2 图算法特征 158
8.3 图与机器学习实践:链接预测 160
8.3.1 工具和数据 161
8.3.2 将数据导入Neo4j 162
8.3.3 合著者关系图 163
8.3.4 创建均衡的训练数据集和测试数据集 164
8.3.5 如何预测缺失链接 169
8.3.6 创建机器学习管道 170
8.3.7 预测链接:基本图特征 171
8.3.8 预测链接:三角形和聚类系数 181
8.3.9 预测链接:社团发现 184
8.4 小结 190
8.5 总结 190
附录 额外信息及资料 191
关于作者 195
关于封面 195
· · · · · ·

  图灵程序设计丛书(共104册),这套丛书还有《Spark高级数据分析》《正则表达式必知必会(修订版)》《云计算核心技术剖析》《去中心化应用》《云计算与SOA》等。

添加微信公众号:好书天下获取

添加微信公众号:“好书天下”获取书籍好书天下 » 数据分析之图算法:基于Spark和Neo4j
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

添加微信公众号:“好书天下”获取书籍

好书天下