重磅推荐
【产品特色】


【编辑推荐】

使用PySpark构建机器学习模型、自然语言处理应用程序以及推荐系统,从而应对各种业务挑战。本书首先介绍Spark的基础知识,然后讲解使用PySpark构建传统机器学习算法以及自然语言处理和推荐系统的全部知识点。
本书阐释了如何构建有监督机器学习模型,比如线性回归、逻辑回归、决策树和随机森林,还介绍了无监督机器学习模型,比如K均值和层次聚类。本书重点介绍特征工程,以便使用PySpark创建有用的特征,从而训练机器学习模型。自然语言处理的相关章节将介绍文本处理、文本挖掘以及用于分类的嵌入。
在阅读完本书之后,读者将了解如何使用PySpark的机器学习库构建和训练各种机器学习模型。此外,还将熟练掌握相关的PySpark组件,从而进行数据获取、数据处理和数据分析,开发数据驱动的智能应用。


【内容简介】

构建一系列有监督和无监督机器学习算法

使用Spark MLlib库实现机器学习算法

使用Spark MLlib库开发推荐系统

处理与特征工程、分类平衡、偏差和方差以及交叉验证有关的问题,以便构建*的拟合模型


【作者简介】

Pramod Singh是Publicis.Sapient公司数据科学部门的经理,目前正作为数据科学跟踪负责人与梅赛德斯奔驰的一个项目进行合作。

他在机器学习、数据工程、编程,以及为各种业务需求设计算法方面拥有丰富的实践经验,领域涉及零售、电信、汽车以及日用消费品等行业。他在Publicis.Sapient主导了大量应对机器学习和AI的战略计划。他在孟买大学获得了电气与电子工程的学士学位,并且在印度共生国际大学获得了MBA学位(运营&财务),还在IIM – Calcutta(印度管理学院加尔各答分校)获得了数据分析认证。

在过去八年中,他一直在跟进多个数据项目。在大量客户项目中,他使用R、Python、Spark和TensorFlow应用机器学习和深度学习技术。他一直是各重大会议和大学的演讲常客。他会在Publicis.Sapient举办数据科学聚合并且定期出席关于ML和AI的网络研讨会。


【目录】

目 录

第1章 数据革命 1
1.1 数据生成 1
1.2 Spark 2
1.2.1 Spark Core 3
1.2.2 Spark组件 4
1.3 设置环境 5
1.3.1 Windows 5
1.3.2 iOS 6
1.4 小结 7
第2章 机器学习简介 9
2.1 有监督机器学习 10
2.2 无监督机器学习 12
2.3 半监督机器学习 14
2.4 强化学习 14
2.5 小结 15
第3章 数据处理 17
3.1 加载和读取数据 17
3.2 添加一个新列 20
3.3 筛选数据 21
3.3.1 条件1 21
3.3.2 条件2 22
3.4 列中的非重复值 23
3.5 数据分组 23
3.6 聚合 25
3.7 用户自定义函数(UDF) 26
3.7.1 传统的Python函数 26
3.7.2 使用lambda函数 27
3.7.3 Pandas UDF(向量化的UDF) 28
3.7.4 Pandas UDF(多列) 29
3.8 去掉重复值 29
3.9 删除列 30
3.10 写入数据 30
3.10.1 csv 31
3.10.2 嵌套结构 31
3.11 小结 31
第4章 线性回归 33
4.1 变量 33
4.2 理论 34
4.3 说明 41
4.4 评估 42
4.5 代码 43
4.5.1 数据信息 43
4.5.2 步骤1:创建
SparkSession对象 44
4.5.3 步骤2:读取数据集 44
4.5.4 步骤3:探究式数据分析 44
4.5.5 步骤4:特征工程化 45
4.5.6 步骤5:划分数据集 47
4.5.7 步骤6:构建和训练线性回归模型 47
4.5.8 步骤7:在测试数据上评估线性回归模型 48
4.6 小结 48
第5章 逻辑回归 49
5.1 概率 49
5.1.1 使用线性回归 50
5.1.2 使用Logit 53
5.2 截距(回归系数) 54
5.3 虚变量 55
5.4 模型评估 56
5.4.1 正确的正面预测 56
5.4.2 正确的负面预测 57
5.4.3 错误的正面预测 57
5.4.4 错误的负面预测 57
5.4.5 准确率 57
5.4.6 召回率 57
5.4.7 精度 58
5.4.8 F1分数 58
5.4.9 截断/阈值概率 58
5.4.10 ROC曲线 58
5.5 逻辑回归代码 59
5.5.1 数据信息 59
5.5.2 步骤1:创建Spark会话对象 60
5.5.3 步骤2:读取数据集 60
5.5.4 步骤3:探究式数据分析 60
5.5.5 步骤4:特征工程 63
5.5.6 步骤5:划分数据集 68
5.5.7 步骤6:构建和训练逻辑回归模型 69
5.5.8 训练结果 69
5.5.9 步骤7:在测试数据上评估线性回归模型 70
5.5.10 混淆矩阵 71
5.6 小结 72
第6章 随机森林 73
6.1 决策树 73
6.1.1 熵 75
6.1.2 信息增益 76
6.2 随机森林 78
6.3 代码 80
6.3.1 数据信息 80
6.3.2 步骤1:创建SparkSession对象 81
6.3.3 步骤2:读取数据集 81
6.3.4 步骤3:探究式数据分析 81
6.3.5 步骤4:特征工程 85
6.3.6 步骤5:划分数据集 86
6.3.7 步骤6:构建和训练随机森林模型 87
6.3.8 步骤7:基于测试数据进行评估 87
6.3.9 准确率 89
6.3.10 精度 89
6.3.11 AUC曲线下的面积 89
6.3.12 步骤8:保存模型 90
6.4 小结 90
第7章 推荐系统 91
7.1 推荐 91
7.1.1 基于流行度的RS 92
7.1.2 基于内容的RS 93
7.1.3 基于协同过滤的RS 95
7.1.4 混合推荐系统 103
7.2 代码 104
7.2.1 数据信息 105
7.2.2 步骤1:创建SparkSession对象 105
7.2.3 步骤2:读取数据集 105
7.2.4 步骤3:探究式数据分析 105
7.2.5 步骤4:特征工程 108
7.2.6 步骤5:划分数据集 109
7.2.7 步骤6:构建和训练推荐系统模型 110
7.2.8 步骤7:基于测试数据进行预测和评估 110
7.2.9 步骤8:推荐活动用户可能会喜欢的排名靠前的电影 111
7.3 小结 114
第8章 聚类 115
8.1 初识聚类 115
8.2 用途 117
8.2.1 K-均值 117
8.2.2 层次聚类 127
8.3 代码 131
8.3.1 数据信息 131
8.3.2 步骤1:创建SparkSession对象 131
8.3.3 步骤2:读取数据集 131
8.3.4 步骤3:探究式数据分析 131
8.3.5 步骤4:特征工程 133
8.3.6 步骤5:构建K均值聚类模型 133
8.3.7 步骤6:聚类的可视化 136
8.4 小结 137
第9章 自然语言处理 139
9.1 引言 139
9.2 NLP涉及的处理步骤 139
9.3 语料 140
9.4 标记化 140
9.5 移除停用词 141
9.6 词袋 142
9.7 计数向量器 143
9.8 TF-IDF 144
9.9 使用机器学习进行文本分类 145
9.10 序列嵌入 151
9.11 嵌入 151
9.12 小结 160


【前言】


前 言

在开始编写《PySpark机器学习、自然语言处理与推荐系统》之前,我曾经问过自己一个问题:是否有必要写一本关于机器学习的书?我的意思是,市面上已经有很多关于这一主题的书籍。为了找到答案,我花费了大量时间进行思考,不久之后,一些规律开始浮现在我的脑海中。目前关于机器学习的书籍都过于关注细节而缺乏一种顶层概览。这些书刚开始的内容真的很简单,不过几章之后,随着内容变得过于深入,就会让读者感到难以继续阅读下去。因而,读者就会由于放弃阅读而无法从书中汲取足够的知识。这就是我想要编写《PySpark机器学习、自然语言处理与推荐系统》的原因,《PySpark机器学习、自然语言处理与推荐系统》揭示使用机器学习的不同方式,虽然不会过于深入细节,不过也会让读者了解全新构建ML模型所需的完整方法论。另一个显而易见的问题就是:为何要使用PySpark进行机器学习?找到这个问题的答案并没有花费我太长时间,因为我是一位拥有实践经验的数据科学家并且非常清楚处理数据的人所面临的挑战。大多数的包或模块通常在使用方面都是受限的,因为它们在单台机器上处理数据。如果ML 模型的目的不是处理大数据并且*终数据处理本身需要变得快速且可扩展,那么从开发环境迁移到生产环境会变成一场噩梦。出于所有这些原因,编写这本关于使用PySpark进行机器学习的书籍就是完全合理的,以便让读者能够理解从大数据角度使用机器学习的处理过程。
现在我来谈谈《PySpark机器学习、自然语言处理与推荐系统》这本书的核心内容。这本书分为三大部分。*部分将介绍机器学习和Spark;第二部分会使用大数据详细讲解机器学习;第三部分会展示如何使用PySpark构建推荐系统和NLP。这本书可能也与数据分析师和数据工程师有关,因为它还介绍了使用PySpark处理大数据的步骤。想要切入数据科学和机器学习领域的读者会发现《PySpark机器学习、自然语言处理与推荐系统》更易于入门,并且后续能够逐步学习掌握更复杂的知识。书中的案例研究和示例会让《PySpark机器学习、自然语言处理与推荐系统》内容以及基础概念的学习理解变得非常容易。此外,目前市面上关于PySpark的书籍非常少,而这本书必定会让读者汲取到一些新的知识。《PySpark机器学习、自然语言处理与推荐系统》的优点在于,以浅显易懂的方式阐释机器学习算法,并且针对使用PySpark构建这些算法提供一种切实可行的方法。
我将自己的所有经验和所掌握的知识都融入《PySpark机器学习、自然语言处理与推荐系统》之中,并且我认为它们确实与那些现在寻求应对实际挑战的企业紧密相关。我希望读者能从《PySpark机器学习、自然语言处理与推荐系统》中汲取到一些有用的知识。


返回顶部