产品特色
编辑推荐
作为计算框架,Spark速度快,开发简单,能同时兼顾批处理和实时数据分析,因此很快被广大企业级用户所采纳,并随着近年人工智能的崛起而成为分析和挖掘大数据的重要得力工具。
本书由业内知名数据科学家执笔,通过丰富的示例展示了如何结合Spark、统计方法和真实世界数据集来解决数据分析问题,既涉及模型的构建和评价,也涵盖数据清洗、数据预处理和数据探索,并描述了如何将结果变为生产应用,是运用Apache Spark进行大数据分析和处理的实战宝典。
第2版根据新版Spark杰出实践,对样例代码和所用资料做了大量更新。
本书涵盖模式如下:
● 音乐推荐和Audioscrobbler数据集
● 用决策树算法预测森林植被
● 基于K均值聚类进行网络流量异常检测
● 基于潜在语义算法分析维基百科
● 用GraphX分析伴生网络
● 对纽约出租车轨迹进行空间和时间数据分析
● 通过蒙特卡罗模拟来评估金融风险
● 基因数据分析和BDG项目
● 用PySpark和Thunder分析神经图像数据
内容简介
本书是使用Spark进行大规模数据分析的实战宝典,由知名数据科学家撰写。本书在第1版的基础上,针对Spark近年来的发展,对样例代码和所使用的资料进行了大量更新。新版Spark使用了全新的核心API,MLlib和Spark SQL两个子项目也发生了较大变化,本书为关注Spark发展趋势的读者提供了与时俱进的资料,例如Dataset和DataFrame的使用,以及与DataFrame API高度集成的Spark ML API。
作者简介
【作者简介】
桑迪·里扎(Sandy Ryza),Spark项目代码提交者、Hadoop项目管理委员会委员,Time Series for Spark项目创始人。曾任Cloudera公司高级数据科学家,现就职于Remix公司从事公共交通算法开发。
于里·莱瑟森(Uri Laserson),MIT博士毕业,致力于用技术解决遗传学问题,曾利用Hadoop生态系统开发了可扩展的基因组学和免疫学技术。目前是西奈山伊坎医学院遗传学助理教授,曾任Cloudera公司核心数据科学家。
肖恩·欧文(Sean Owen),Spark、Mahout项目代码提交者,Spark项目管理委员会委员。现任Cloudera公司数据科学总监。
乔希·威尔斯(Josh Wills),Crunch项目发起人,现任Slack公司数据工程主管。曾任Cloudera公司高级数据科学总监。
【译者简介】
龚少成
现任万达科技集团数据工程部总经理,清华大学自动化系研究生毕业,国内专注企业级大数据平台建设的先驱者之一,曾经在Intel和Cloudera公司担任大数据技术负责人,Cloudera公司认证大数据培训讲师。
邱鑫
毕业于武汉大学,目前就职于英特尔亚太研发有限公司,是Intel大数据团队高级工程师。主要研究大数据与深度学习技术,是基于Spark的深度学习框架BigDL的核心贡献者。
目录
推荐序 ix
译者序 xi
序 xiii
前言 xv
第 1章 大数据分析 1
1.1 数据科学面临的挑战 2
1.2 认识Apache Spark 4
1.3 关于本书 5
1.4 第 2版说明 6
第 2章 用Scala 和Spark 进行数据分析 8
2.1 数据科学家的Scala 9
2.2 Spark编程模型 10
2.3 记录关联问题 10
2.4 小试牛刀:Spark shell和SparkContext 11
2.5 把数据从集群上获取到客户端 16
2.6 把代码从客户端发送到集群 19
2.7 从RDD到DataFrame 20
2.8 用DataFrame API来分析数据 23
2.9 DataFrame的统计信息 27
2.10 DataFrame的转置和重塑 29
2.11 DataFrame的连接和特征选择 32
2.12 为生产环境准备模型 33
2.13 评估模型 35
2.14 小结 36
第3章 音乐推荐和Audioscrobbler数据集 37
3.1 数据集 38
3.2 交替最小二乘推荐算法 39
3.3 准备数据 41
3.4 构建第 一个模型 44
3.5 逐个检查推荐结果 47
3.6 评价推荐质量 50
3.7 计算AUC 51
3.8 选择超参数 53
3.9 产生推荐 55
3.10 小结 56
第4章 用决策树算法预测森林植被 58
4.1 回归简介 59
4.2 向量和特征 59
4.3 样本训练 60
4.4 决策树和决策森林 61
4.5 Covtype数据集 63
4.6 准备数据 64
4.7 第 一棵决策树 66
4.8 决策树的超参数 72
4.9 决策树调优 73
4.10 重谈类别型特征 77
4.11 随机决策森林 79
4.12 进行预测 81
4.13 小结 82
第5章 基于K均值聚类的网络流量异常检测 84
5.1 异常检测 85
5.2 K均值聚类 85
5.3 网络入侵 86
5.4 KDD Cup 1999数据集 86
5.5 初步尝试聚类 87
5.6 k的选择 90
5.7 基于SparkR 的可视化 92
5.8 特征的规范化 96
5.9 类别型变量 98
5.10 利用标号的熵信息 99
5.11 聚类实战 100
5.12 小结 102
第6章 基于潜在语义分析算法分析维基百科 104
6.1 文档-词项矩阵 105
6.2 获取数据 106
6.3 分析和准备数据 107
6.4 词形归并 109
6.5 计算TF-IDF 110
6.6 奇异值分解 111
6.7 找出重要的概念 113
6.8 基于低维近似的查询和评分 117
6.9 词项-词项相关度 117
6.10 文档-文档相关度 119
6.11 文档-词项相关度 121
6.12 多词项查询 122
6.13 小结 123
第7章 用GraphX分析伴生网络 124
7.1 对MEDLINE文献引用索引的网络分析 125
7.2 获取数据 126
7.3 用Scala XML工具解析XML文档 128
7.4 分析MeSH主要主题及其伴生关系 130
7.5 用GraphX来建立一个伴生网络 132
7.6 理解网络结构 135
7.6.1 连通组件 136
7.6.2 度的分布 138
7.7 过滤噪声边 140
7.7.1 处理EdgeTriplet 141
7.7.2 分析去掉噪声边的子图 142
7.8 小世界网络 144
7.8.1 系和聚类系数 144
7.8.2 用Pregel计算平均路径长度 145
7.9 小结 150
第8章 纽约出租车轨迹的空间和时间数据分析 151
8.1 数据的获取 152
8.2 基于Spark的第三方库分析 153
8.3 基于Esri Geometry API和Spray的地理空间数据处理 153
8.3.1 认识Esri Geometry API 154
8.3.2 GeoJSON简介 155
8.4 纽约市出租车客运数据的预处理 157
8.4.1 大规模数据中的非法记录处理 159
8.4.2 地理空间分析 162
8.5 基于Spark的会话分析 165
8.6 小结 168
第9章 基于蒙特卡罗模拟的金融风险评估 170
9.1 术语 171
9.2 VaR计算方法 172
9.2.1 方差-协方差法 172
9.2.2 历史模拟法 172
9.2.3 蒙特卡罗模拟法 172
9.3 我们的模型 173
9.4 获取数据 173
9.5 数据预处理 174
9.6 确定市场因素的权重 177
9.7 采样 179
9.8 运行试验 182
9.9 回报分布的可视化 185
9.10 结果的评估 186
9.11 小结 188
第 10章 基因数据分析和BDG项目 190
10.1 分离存储与模型 191
10.2 用ADAM CLI导入基因学数据 193
10.3 从ENCODE数据预测转录因子结合位点 201
10.4 查询1000 Genomes项目中的基因型 207
10.5 小结 210
第 11章 基于PySpark和Thunder的神经图像数据分析 211
11.1 PySpark简介 212
11.2 Thunder工具包概况和安装 215
11.3 用Thunder加载数据 215
11.4 用Thunder对神经元进行分类 221
11.5 小结 225
作者介绍 226
封面介绍 226
《海阔凭鱼跃:Python数据科学实践指南》 内容简介 在这个信息爆炸的时代,数据已成为驱动决策、洞察市场、引领创新的核心要素。然而,海量数据的背后,往往隐藏着深刻的洞察与机遇,等待着有能力将其转化为价值的实践者。《海阔凭鱼跃:Python数据科学实践指南》正是为这样的你而生。本书并非高高在上的理论堆砌,也不是对单一工具的浅尝辄止,而是一场深度融入Python生态系统的数据科学实战之旅。我们将带领你从零开始,一步步构建坚实的数据科学技能体系,掌握从数据采集、清洗、处理,到探索性分析、建模、评估,直至最终可视化与部署的全流程,让你真正做到“海阔凭鱼跃”。 本书的最大特色在于其“实践为王”的设计理念。我们深知,数据科学的精髓在于解决实际问题。因此,每一章都紧密围绕一个或多个真实世界的数据分析场景展开。从商业智能分析到用户行为预测,从金融风险评估到社交网络分析,我们将通过一系列精心设计的案例,让你在动手实践中学习理论,在解决问题中巩固知识。你将不再是枯燥地阅读代码,而是真正参与到数据的生命周期中,体验数据从“原始”到“洞察”的蜕变过程。 核心内容概览: 第一部分:Python数据科学基础与环境搭建 Python语言入门与进阶: 即使你对Python尚不熟悉,本书也会从基础语法、数据类型、控制流、函数等核心概念讲起,并快速过渡到面向对象编程、模块化设计等进阶主题。我们关注的是数据科学所需的Python特性,确保你高效掌握。 高效开发环境: 从Anaconda的安装与管理,到Jupyter Notebook/Lab、VS Code等主流开发工具的使用,我们将为你搭建一个顺畅、高效的数据科学开发环境,让你专注于数据分析本身。 数据科学核心库速览: NumPy(数值计算)、Pandas(数据处理与分析)、Matplotlib/Seaborn(数据可视化)等Python数据科学的基石库,本书将以应用为导向,快速让你掌握它们的核心功能,并理解它们在数据分析流程中的关键作用。 第二部分:数据采集与预处理:打牢数据基础 多源数据获取: 掌握从CSV、Excel、JSON、SQL数据库等常见格式文件中读取数据的方法。更进一步,我们将探索网络爬虫(requests, BeautifulSoup, Scrapy)的基本原理和实践,让你能够从互联网抓取所需数据。 数据清洗与转换: 真实世界的数据往往是“脏”的。本部分将系统讲解缺失值处理(填充、删除)、异常值检测与处理、重复值识别与去除、数据类型转换、字符串处理、日期时间处理等核心技术。你将学会如何让数据变得干净、规范,为后续分析奠定坚实基础。 数据重塑与合并: 学习使用Pandas的强大功能进行数据框的合并(merge, join, concat)、分组(groupby)、透视(pivot_table)等操作,以满足不同分析需求的数据结构调整。 第三部分:探索性数据分析(EDA):发掘数据中的故事 描述性统计: 深入理解均值、中位数、方差、标准差、分位数等统计量,并通过Python代码进行计算与解读。 数据可视化: 数据可视化是理解数据、呈现发现的关键。我们将使用Matplotlib和Seaborn,系统学习散点图、折线图、柱状图、直方图、箱线图、热力图等多种图表的绘制技巧,并掌握如何根据分析目的选择合适的图表类型。学习如何通过可视化发现数据分布、变量关系、趋势变化等。 关联性分析: 运用相关系数(Pearson, Spearman)等方法量化变量之间的线性或单调关系,并结合散点图进行直观展示。 模式与趋势识别: 学习如何通过时间序列分析、异常检测等方法,在数据中挖掘潜在的模式和发展趋势。 第四部分:机器学习建模与评估:让数据说话 Scikit-learn核心组件: 掌握Scikit-learn库的使用,这是Python机器学习的黄金标准。学习其统一的API设计,包括Estimator、Transformer、Pipeline等重要概念。 监督学习算法实践: 回归问题: 线性回归、多项式回归、岭回归、Lasso回归等,用于预测连续数值。 分类问题: 逻辑回归、K近邻(KNN)、支持向量机(SVM)、决策树、随机森林、梯度提升树(如XGBoost, LightGBM)等,用于预测离散类别。 无监督学习算法实践: 聚类分析: K-Means、DBSCAN等,用于发现数据中的自然分组。 降维技术: 主成分分析(PCA)、t-SNE等,用于降低数据维度,便于可视化和模型训练。 模型评估与调优: 学习常用的评估指标(如准确率、精确率、召回率、F1分数、ROC曲线、AUC、均方误差、R²等),理解交叉验证的重要性,并掌握网格搜索(Grid Search)、随机搜索(Random Search)等超参数调优技术,以提升模型性能。 特征工程: 讲解如何通过特征选择、特征提取、特征组合等方法,创造更有利于模型学习的新特征,是提升模型效果的关键一步。 第五部分:高级主题与案例分析:融会贯通,解决实际难题 时间序列分析: 深入讲解时间序列的平稳性、自相关性、差分等概念,并实践ARIMA、Prophet等模型,应用于销售预测、股票价格分析等场景。 文本数据分析: 学习文本预处理(分词、去除停用词、词干提取)、词袋模型(Bag-of-Words)、TF-IDF、词向量(Word2Vec, GloVe)等技术,并结合情感分析、主题模型(LDA)等案例,让你能够从海量文本中提取有价值的信息。 数据库交互: 学习使用SQLAlchemy等库,连接MySQL, PostgreSQL等关系型数据库,进行数据的提取与分析。 模型部署基础: 简单介绍如何将训练好的模型封装成API(如使用Flask, FastAPI),以便在实际应用中调用。 真实世界项目案例: 贯穿全书的多个精心设计的实战项目,涵盖了不同行业和应用场景,例如: 电商用户行为分析与推荐系统初步: 理解用户购物路径,构建简单的协同过滤推荐模型。 金融欺诈检测: 利用机器学习模型识别异常交易。 社交媒体情感分析: 分析用户对某产品或话题的看法。 客户流失预测: 识别可能流失的客户,以便采取针对性挽留措施。 本书适合读者: 希望系统学习数据科学的初学者: 无需深厚的数学或编程背景,从零开始构建扎实技能。 有一定编程基础,但希望转向数据科学领域的开发者: 快速掌握数据科学的思维和工具。 市场分析师、业务分析师、产品经理等: 掌握数据驱动决策的能力,提升工作效率和影响力。 对数据背后的洞察充满好奇的任何人: 开启你的数据科学探索之旅。 《海阔凭鱼跃:Python数据科学实践指南》将不仅仅是一本书,更是一个陪伴你成长为优秀数据科学家的起点。我们鼓励你跟随书中的代码片段动手实践,尝试修改参数,挑战更复杂的数据集。相信通过本书的引导,你将能够自信地驾驭数据,在数据驱动的世界中,找到属于自己的广阔天地,真正实现“海阔凭鱼跃,天高任鸟飞”的壮志。