【图书推荐】《Spark 3.0大数据分析与挖掘:基于机器学习》

news2025/2/22 6:40:46

本书重点

学习Spark 3.0 ML模块的机器学习算法,用于大数据分析与挖掘。

内容简介

Spark作为新兴的、应用范围广泛的大数据处理开源框架,吸引了大量的大数据分析与挖掘从业人员进行相关内容的学习与开发,其中ML是Spark 3.0机器学习框架使用的核心。

本书用于Spark 3.0 ML大数据分析与挖掘入门,配套示例源码、PPT课件、数据集、思维导图、开发环境和作者答疑服务。

本书共分13章,从Spark 3.0大数据分析概述、基础安装和配置开始,依次介绍ML的DataFrame、ML的基本概念,以及协同过滤、线性回归、分类、决策树与随机森林、聚类、关联规则、数据降维、特征提取和转换等数据处理方法;最后通过经典的鸢尾花分析实例,回顾前面的学习内容,实现了一个完整的数据分析与挖掘过程。

适合读者

本书采取实例和理论相结合的方式,讲解细致直观,示例丰富,适合Spark 3.0机器学习初学者、大数据分析和挖掘人员,也适合高等院校和培训机构人工智能与大数据相关专业的师生教学参考。

作者简介

王晓华,计算机专业讲师,研究方向为云计算、大数据与人工智能。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow知识图谱实战》《TensorFlow人脸识别实战》《TensorFlow语音识别实战》《TensorFlow 2.0卷积神经网络实战》《Keras实战:基于TensorFlow2.2的深度学习实践》《TensorFlow深度学习从零开始学》《深度学习的数学原理与实现》等图书。

前言

Spark在英文中是火花的意思,创作者希望能够像火花一样照亮大数据时代的数据挖掘。大数据时代是一个充满机会和挑战的时代,就像一座未经开发的金山,任何人都有资格去获得其中的宝藏,仅仅需要的就是有一把得心应手的工具—ML。

本书目的

本书的主要目的是介绍如何使用ML进行数据挖掘。ML是Spark 3.0中最核心的部分之一,是Spark 3.0机器学习库。经过无数创造者卓越的工作,ML已经成为一个优雅的、可以运行在分布式集群上的数据挖掘工具。

ML充分利用了现有数据挖掘的技术与手段,将隐藏在数据中不为人知但又包含价值的信息提取出来,并通过相应的计算机程序,无须人工干预,自动在系统中进行计算,以发现其中的规律。

通常,数据挖掘的难点和重点在于两个方面,分别是算法的学习和程序的设计。有的还需要读者有些相应的背景知识,例如统计学、人工智能、网络技术等。本书在写作上以工程实践为主,重点介绍其与数据挖掘密切相关的算法与概念,并且使用浅显易懂的语言将其中涉及的算法进行概括性描述,从而帮助读者更好地了解和掌握数据挖掘的原理。

笔者在写作本书的时候有一个基本原则—这本书应该体现工程实践与理论之间的平衡。数据挖掘的目的是为了解决现实中的问题,并提供一个结果,而不是去讨论比较哪个算法更高深、看起来更能吓唬人。本书对算法的基本理论和算法做了描述,如果有读者觉得有点难,可以找相应的教材深入学习一下,相信大多数读者都能理解相关的内容。

本书内容

本书主要介绍Spark 3.0的ML数据挖掘算法,内容分成三部分:第一部分(第1~4章)是ML、DataFrame的基本概念和用法,以及管道技术和一些数据挖掘的基本数理统计知识;第二部分(第5~12章)是ML算法的应用,包括协同过滤、线性回归、分类、决策树与随机森林、聚类、关联规则、数据降维、特征提取和转换等;第三部分(第13章)通过一个经典的鸢尾花分析实例,向读者演示如何使用ML来进行数据挖掘工作。

本书特点

? 本书尽量避免纯粹的理论知识介绍和高深技术研讨,完全从应用实践出发,用最简单、典型的示例引申出核心知识,最后指出通往“高精尖”进一步深入学习的道路。

? 本书全面介绍ML涉及的数据挖掘的基本结构和上层程序设计,借此能够系统地看到ML的全貌,使读者在学习过程中不至于迷失方向。

? 本书在写作上浅显易懂,没有深奥的数学知识,采用较为简洁的形式描述应用的理论知识,让读者轻松愉悦地掌握相关内容。

? 本书旨在引导读者进行更多技术上的创新,每章都会用示例描述的形式帮助读者更好地学习内容。

? 本书代码遵循重构原理,避免代码污染,引导读者写出优秀、简洁、可维护的代码。

? 本书所有数据格式均为DataFrame类型,并且使用管道技术执行机器学习算法。

源码、PPT课件、思维导图、数据集与开发环境下载

本书配套源码、PPT课件、思维导图、数据集与开发环境,需要使用微信扫描右侧二维码下载,可按提示把链接转发到自己的邮箱中下载。如果有疑问,请发邮件至booksaga@163.com,邮件主题为“Spark 3.0大数据分析与挖掘:基于机器学习”。

本书读者

? Spark大数据分析与挖掘初学者

? 机器学习相关从业人员

? Spark 3.0机器学习初学者

? 高等院校和培训机构数据分析和挖掘专业的师生

作者与鸣谢

本书基础内容由王晓华创作,Spark 3.0版本的更新和测试工作由罗凯靖完成。感谢本书出版过程中的所有参与人员。

作  者

2021年10月

目录

目  录
第1章  Spark大数据分析概述 1
1.1  大数据时代 1
1.2  大数据分析的要素 2
1.3  简单、优雅、有效—这就是Spark 3
1.4  Spark 3.0核心—ML 4
1.5  星星之火,可以燎原 6
1.6  小结 6
第2章  Spark 3.0安装和开发环境配置 7
2.1  Windows 10单机模式下安装和配置Spark 7
2.1.1  Windows 10安装Java 8 7
2.1.2  Windows 10安装Scala 2.12.10 10
2.1.3  Intellij IDEA下载和安装 13
2.1.4  Intellij IDEA中Scala插件的安装 13
2.1.5  HelloJava—使用Intellij IDEA创建Java程序 16
2.1.6  HelloScala—使用Intellij IDEA创建Scala程序 19
2.1.7  最后一脚—Spark 3.0单机版安装 22
2.2  经典的wordCount 25
2.2.1  Spark 3.0实现wordCount 25
2.2.2  MapReduce实现wordCount 27
2.3  小结 30
第3章  DataFrame详解 31
3.1  DataFrame是什么 31
3.1.1  DataFrame与RDD的关系 31
3.1.2  DataFrame理解及特性 32
3.1.3  DataFrame与DataSet的区别 34
3.1.4  DataFrame的缺陷 34
3.2  DataFrame工作原理 35
3.2.1  DataFrame工作原理图 35
3.2.2  宽依赖与窄依赖 35
3.3  DataFrame应用API和操作详解 37
3.3.1  创建 DataFrame 37
3.3.2  提前计算的cache方法 39
3.3.3  用于列筛选的select和selectExpr方法 41
3.3.4  DataFrame的收集行collect方法 42
3.3.5  DataFrame计算行数count方法 43
3.3.6  DataFrame限制输出limit方法 44
3.3.7  除去数据集中重复项的distinct方法 45
3.3.8  过滤数据的filter方法 46
3.3.9  以整体数据为单位操作数据的flatMap方法 46
3.3.10  以单个数据为目标进行操作的map方法 47
3.3.11  分组数据的groupBy和agg方法 48
3.3.12  删除数据集中某列的drop方法 49
3.3.13  随机采样方法和随机划分方法 49
3.3.14  排序类型操作的sort和orderBy方法 51
3.3.15  DataFrame和Dataset以及RDD之间的相互转换 52
3.4  小结 53
第4章  ML基本概念 54
4.1  ML基本数据类型及管道技术 54
4.1.1  支持多种数据类型 55
4.1.2  管道技术 55
4.1.3  管道中的主要概念 55
4.1.4  管道的工作流程 56
4.1.5  Pipeline的使用 57
4.2  ML数理统计基本概念 61
4.2.1  基本统计量 62
4.2.2  统计量基本数据 62
4.2.3  距离计算 64
4.2.4  两组数据相关系数计算 65
4.2.5  分层抽样 68
4.2.6  假设检验 69
4.2.7  随机数 71
4.3  小结 72
第5章  协同过滤算法 73
5.1  协同过滤 73
5.1.1  协同过滤概述 73
5.1.2  基于用户的推荐UserCF 74
5.1.3  基于物品的推荐ItemCF 75
5.1.4  协同过滤算法的不足 76
5.2  相似度度量 76
5.2.1  基于欧几里得距离的相似度计算 76
5.2.2  基于余弦角度的相似度计算 77
5.2.3  欧几里得相似度与余弦相似度的比较 78
5.2.4  基于余弦相似度的用户相似度计算示例 78
5.3  交替最小二乘法 82
5.3.1  最小二乘法详解 82
5.3.2  ML中交替最小二乘法详解 83
5.3.3  ALS算法示例 83
5.4  小结 88
第6章  线性回归理论与实战 89
6.1  随机梯度下降算法详解 90
6.1.1  道士下山的故事 90
6.1.2  随机梯度下降算法的理论基础 91
6.1.3  随机梯度下降算法实战 92
6.2  回归的过拟合 93
6.2.1  过拟合产生的原因 93
6.2.2  Lasso回归、岭回归与ElasticNet回归 94
6.3  ML线性回归示例 95
6.3.1  线性回归程序 95
6.3.2  线性回归:广义线性回归 98
6.4  小结 99
第7章  分类实战 100
7.1  逻辑回归详解 100
7.1.1  逻辑回归不是回归算法 101
7.1.2  逻辑回归的数学基础 101
7.1.3  ML逻辑回归二分类示例 102
7.1.4  ML逻辑回归多分类示例 105
7.1.5  ML逻辑回归汇总提取 108
7.1.6  ML逻辑回归处理文本文档 109
7.2  线性支持向量机详解 109
7.2.1  三角还是圆 110
7.2.2  支持向量机的数学基础 111
7.2.3  ML支持向量机示例 112
7.2.4  ML支持向量机进行分类预测 113
7.3  朴素贝叶斯分类器详解 115
7.3.1  穿裤子的男生or女生 115
7.3.2  贝叶斯定理的数学基础和意义 116
7.3.3  朴素贝叶斯定理 117
7.3.4  ML朴素贝叶斯使用示例 117
7.3.5  ML朴素贝叶斯中文文本分类 120
7.4  小结 123
第8章  决策树与随机森林 124
8.1  决策树详解 125
8.1.1  水晶球的秘密 125
8.1.2  决策树的算法基础:信息熵 126
8.1.3  决策树的算法基础—ID3算法 127
8.1.4  ML中决策树的构建 128
8.1.5  ML中决策树示例 130
8.2  随机森林与梯度提升算法 132
8.3  小结 138
第9章  聚类 139
9.1  聚类与分类 139
9.1.1  什么是分类 139
9.1.2  什么是聚类 140
9.2  K-means算法 140
9.2.1  K-means算法及其算法步骤 141
9.2.2  ML中K-means算法示例 142
9.2.3  K-means算法中细节的讨论 144
9.3  高斯混合聚类 144
9.3.1  从高斯分布聚类起步 145
9.3.2  混合高斯模型 146
9.3.3  ML高斯混合模型使用示例 147
9.4  快速迭代聚类 148
9.4.1  快速迭代聚类理论基础 148
9.4.2  ML快速迭代聚类使用示例 149
9.5  小结 150
第10章  关联规则 151
10.1  Apriori频繁项集算法 151
10.1.1  “啤酒与尿布”的经典故事 151
10.1.2  经典的Apriori算法 152
10.1.3  Apriori算法示例 154
10.2  FP-growth算法 155
10.2.1  Apriori算法的局限性 155
10.2.2  FP-growth算法 155
10.2.3  ML中的FP树算法示例 158
10.3  小结 160
第11章  数据降维 161
11.1  奇异值分解 161
11.1.1  行矩阵详解 162
11.1.2  奇异值分解算法基础 162
11.1.3  ML中奇异值分解示例 163
11.2  主成分分析 164
11.2.1  主成分分析的定义 165
11.2.2  主成分分析的数学基础 165
11.2.3  ML中主成分分析示例 166
11.3  小结 167
第12章  特征提取和转换 169
12.1  TF-IDF 169
12.1.1  如何查找想要的新闻 170
12.1.2  TF-IDF算法的数学计算 170
12.1.3  ML中TF-IDF示例 171
12.2  词向量化Word2Vec 173
12.2.1  词向量化基础 173
12.2.2  ML中词向量化使用示例 174
12.3  基于卡方检验的特征选择 176
12.3.1  “吃货”的苦恼 176
12.3.2  ML中基于卡方检验的特征选择示例 177
12.4  小结 179
第13章  ML实战演练—鸢尾花分析 180
13.1  建模说明 180
13.1.1  数据的描述与分析目标 180
13.1.2  建模说明 182
13.2  数据预处理和分析 185
13.2.1  微观分析—均值与方差的对比分析 185
13.2.2  宏观分析—不同种类特性的长度计算 189
13.2.3  去除重复项—相关系数的确定 192
13.3  长与宽之间的关系—数据集的回归分析 196
13.3.1  使用线性回归分析长与宽之间的关系 196
13.3.2  使用逻辑回归分析长与宽之间的关系 198
13.4  使用分类和聚类对鸢尾花数据集进行处理 201
13.4.1  使用聚类分析对数据集进行聚类处理 202
13.4.2  使用分类分析对数据集进行分类处理 206
13.5  最终的判定—决策树测试 208
13.5.1  决定数据集归类的方法之一—决策树 208
13.5.2  决定数据集归类的方法之二—随机森林 211
13.6  小结 213

正版购买

《Spark 3.0大数据分析与挖掘:基于机器学习(大数据技术丛书)》(王晓华,罗凯靖)【摘要 书评 试读】- 京东图书 (jd.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1811351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rigid_trans_object_model_3d----------对3D对象模型应用刚性3D转换

Description rigid_trans_object_model_3d对3D对象模型应用刚性3D变换,即旋转和平移,并返回转换后的3D对象模型的句柄。转换由Pose中给出的姿态来描述,形式如下,其中mcsi表示输入对象模型的坐标系,cst表示转换后模型的…

Vue 3与ESLint、Prettier:构建规范化的前端开发环境

title: Vue 3与ESLint、Prettier:构建规范化的前端开发环境 date: 2024/6/11 updated: 2024/6/11 publisher: cmdragon excerpt: 这篇文章介绍了如何在Vue 3项目中配置ESLint和Prettier以统一代码风格,实现代码规范性与可读性的提升。通过设置规则、解…

C++入门 string(2)

目录 string类的常用接口说明 string类对象的容量操作 size & max_size & length & capacity empty & clear reserve & resize string类对象的元素访问 at & back & front string类对象的修改操作(字符串操作) sub…

梯度提升树GBDT系列算法

Boosting方法的基本元素与基本流程💫 在Boosting集成算法当中,我们逐一建立多个弱评估器(基本是决策树),并且下一个弱评估器的建立方式依赖于上一个弱评估器的评估结果,最终综合多个弱评估器的结果进行输出…

启明智显工业级HMI芯片Model3A功耗特性--(以M3A 7寸触摸屏为例)

** 前言: ** 「Model系列」芯片是启明智显针对工业、行业以及车载产品市场推出的系列HMI芯片,主要应用于工业自动化、智能终端HMI、车载仪表盘、两轮车彩屏仪表、串口屏、智能中控、智能家居、充电桩显示屏、储能显示屏、工业触摸屏等领域。此系列具有…

错误代码 -2147136892如何解决

错误代码 -2147136892 在 LabVIEW 中表示无法找到 CANopen 硬件。这个错误可能是由以下几个原因引起的,如安装不正确、端口名称错误或硬件连接问题。以下是可能的原因和详细的解决步骤: 可能的原因 CANopen 硬件安装不正确 硬件可能未正确安装或连接。 …

六大维度全面焕新升级!麒麟信安服务器操作系统V3.6.1引领未来计算

昨日,openEuler 24.03 LTS 正式发布,麒麟信安作为openEuler社区重要贡献者和参与者,充分发挥自身在国产操作系统领域的技术优势,在打造安全可靠、极致体验的操作系统上与社区共同努力,同步推出服务器操作系统V3.6.1&am…

进口不锈钢硬密封蝶阀选型-美国品牌

进口不锈钢硬密封蝶阀的选型需要综合考虑多个因素,以确保阀门能够满足实际工况的需求。以下是根据参考文章中的信息,对进口不锈钢硬密封蝶阀选型进行的详细分点表示和归纳: 一、流体介质 种类:首先明确将要处理的流体介质种类&a…

长城汽车:坚定战略往往更难

长城汽车在2024年粤港澳大湾区车展上的表现和战略方向。 以下是对通稿中信息的深入解读: 1. **车展亮相的重要性**: - 长城汽车选择在粤港澳大湾区车展这一重要平台上展示其旗舰产品,这不仅是对产品实力的展示,也是品牌影响力提升…

Marin说PCB之PCB封装库路径知多少?

小编我之前看庆余年2的时候有一段春闱考试片段,范闲大人四位门生只出现了三个,一个人一直活在其他人的嘴里,他就是成佳林。剧中有一段黑屏的时间其实就是致敬所有考生们,这个彩蛋的立意真的高啊,之前还没发现这个&…

关于旋转矩阵的理解,以及左乘和右乘的区别

一、对左乘一个旋转矩阵的理解 左乘旋转矩阵的旋转是相对与一个固定的坐标系的,这个坐标系不会因相应的向量或坐标的改变而改变,通常坐标系的初始位置就是固定坐标系的位置。 1)相对于固定坐标系单次向量的旋转 这里的“单次”指的是绕RPY角…

使用 Bing 的 Chat 初体验

前言 下载好 Edge 浏览器,并且通过 ModHeader 插件的设置才能访问外边的功能完善的 edge ,但是想要进行 chat 需要通过申请才行,网上很多教程我就不赘述了。 正文 我的申请刚刚通过,但是使用 Chat 的效果一般,感觉很…

Threejs-06、利用lil-GUI调试3D效果

1、 引入lil.gui // 引入lil.gui import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";2、创建GUI const gui new GUI();3、添加按钮 let eventObj {// 全屏事件Fullscreen:function(){// 全屏document.body.requestFullscreen();console.lo…

先导桌面式小型数控加工中心更有利于教学投入使用

桌面式 小型数控加工中心 VMC220是先导一款特色的产品,它体积小,占地面积不足1立方,精忠160KG左右,配工业级数控提供,机身选用优质铸铁铸造,采用工业级研磨滚珠丝杆,使用主轴伺服电机。 某高校选…

Redisson 实现分布式锁

1、相关配置 Component public class RedissonDistributedLock {Autowiredprivate RedissonClient redissonClient;public boolean tryLock(String lockKey, long expireTime, long waitTime) throws InterruptedException {RLock lock redissonClient.getLock(lockKey);retu…

Compshare平台使用体验分享

一、引言 随着AI技术的飞速发展,对高性能计算资源的需求也在不断增加。为了满足广大AI研究者和开发者的需求,各类算力共享平台应运而生。其中,Compshare平台凭借其卓越的性能和便捷的操作,迅速成为用户关注的焦点。本文将通过对隶…

安全防护与隐私保护:淘宝在线扭蛋机用户数据安全的深度解析

淘宝在线扭蛋机作为一种集购物与娱乐于一体的新型平台,用户数据的安全性至关重要。本文将深入探讨如何采取有效措施,确保在线扭蛋机用户数据的安全性,防止数据泄露和滥用。 一、构建多层次安全防护体系 为了应对复杂的网络安全威胁&#xf…

【Excel技巧】Excel打开密码的两种设置方法!

excel文件打开密码可以再打开文件时输入密码查看文件内容,这样就可以保护文件内容不被任何人查看了,今天分享excel打开密码的两种设置方法给大家。 方法一: 点击excel中的【文件】功能,找到【信息】-【保护工作表】-【用密码进行…

HarmonyOS未来五年的市场展望

一、引言 随着科技的不断进步和消费者对于智能化设备需求的日益增长,操作系统作为连接硬件与软件的核心平台,其重要性愈发凸显。HarmonyOS(鸿蒙系统),作为华为自主研发的分布式操作系统,自诞生以来便备受瞩…

【PowerDesigner】创建和管理CDM之新建和使用域

目录 🌊1. PowerDesigner简介 🌍1.1 常用模型文件 🌍1.2 PowerDesigner使用环境 🌊2. 创建和管理CDM 🌍​​​​​​2.1 新建CDM 🌍2.2 新建和使用域 🌊3. 研究心得 🌊1. Pow…