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

本书重点

学习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.mzph.cn/news/851500.shtml

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

相关文章

STM32智能家居项目esp8266上云OneNet【附源码+详细教程】

目录 一、硬件选材 二、OneNet使用教程 三、代码修改教程 四、添加数据流方法 五、项目工程(源码元件清单教程) 小白也能做,项目工程在后文可下载。 一、硬件选材 二、OneNet使用教程 拿到代码后肯定是连不上网的,因为源码…

java复习知识点

1.get,set: java 中当定义了一个私有的成员变量的时候,如果需要访问或者获取这个变量的时候,就可以编写set或者get方法去调用,set是给属性赋值的,get是取得属性值的,被设置和存取的属性一般是私有&#xf…

LabVIEW输送机动态特性参数监测系统

开发了一套基于LabVIEW软件和STM32F103ZET6单片机的带式输送机动态特性参数监测系统。该系统通过电阻应变式压力传感器和光电编码器实时采集输送带的张力和带速信息,通过5G模块将数据传输至上位机,实现数据的可视化处理与实时预警,有效提高输…

强大的.NET的word模版引擎NVeloDocx

在Javer的世界里,存在了一些看起来还不错的模版引擎,比如poi-tl看起来就很不错,但是那是人家Javer们专属的,与我们.Neter关系不大。.NET的世界里Word模版引擎完全是一个空白。 很多人不得不采用使用Word XML结合其他的模版引擎来…

计算机网络7——网络安全4 防火墙和入侵检测

文章目录 一、系统安全:防火墙与入侵检测1、防火墙1)分组过滤路由器2)应用网关也称为代理服务器(proxy server), 二、一些未来的发展方向 一、系统安全:防火墙与入侵检测 恶意用户或软件通过网络对计算机系统的入侵或攻击已成为当今计算机安…

【计算机网络基础】OSI七层网络模型 TCPIP四层网络模型

文章目录 ISO介绍网络模型介绍OSI七层模型OSI七层模型介绍OSI七层特点一、TCP/IP四层模型介绍二、TCP/IP四层模型TCP/IP协议簇一次C/S通信 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分…

气膜体育馆:现代城市体育设施的新选择—轻空间

在现代城市的建设中,体育设施的需求日益增加,而传统的体育馆建设周期长、成本高,已经难以满足快速发展的城市需求。作为一种新型的体育设施,气膜体育馆以其独特的优势和灵活的设计,正在成为城市体育设施的新选择。那么…

探索乡村振兴新模式:发挥科技创新在乡村振兴中的引领作用,构建智慧农业体系,助力美丽乡村建设

随着科技的不断进步,乡村振兴工作正迎来前所未有的发展机遇。科技创新作为推动社会发展的重要力量,在乡村振兴中发挥着越来越重要的引领作用。本文旨在探讨如何发挥科技创新在乡村振兴中的引领作用,通过构建智慧农业体系,助力美丽…

pnpm : 无法加载文件 C:\Users\xxxxx\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。

vscode中执行pnpm install的时候,直接报了上面的错误。 解决: 然后输入:set-ExecutionPolicy RemoteSigned,按回车,然后根据提示,我们选A。 然后回车。 这样我们再次回到vscode中的我们就会发现可以了。 …

Android程序设计课程教学解决方案

引言 随着信息技术的飞速发展,智能手机和移动应用已成为现代生活不可或缺的一部分。Android作为全球最大的移动操作系统,其开发人才需求量巨大。高职院校作为培养高素质技能人才的重要基地,如何在Android程序设计课程中有效提升学生的实践能力…

WWDC24 快速回顾

今天凌晨,苹果公司在2024年全球开发者大会(WWDC24)上,发布了一系列的系统更新。然而,对于期待苹果带来突破性创新的消费者来说,今年的大会似乎并没有达到预期的震撼效果。 下面让我看看,苹果都带…

WT32-ETH01作为TCP Server进行通讯

目录 模块简介WT32-ETH01作为TCP Server设置W5500作为TCP Client设置连接并进行通讯总结 模块简介 WT32-ETH01网关主要功能特点: 采用双核Xtensa⑧32-bit LX6 MCU.集成SPI flash 32Mbit\ SRAM 520KB 支持TCP Server. TCP Client, UDP Server. UDP Client工作模式 支持串口、wi…

C#之EntityFramework的应用

目录 1,名词概述。 2,实体数据模型EDM介绍。 3,规范函数。 4,查看Linq转换成的SQL语句。 5,数据的增删改查。 5.1,数据查询 5.2,数据插入 5.3,数据更新 5.4,数据…

# RocketMQ 实战:模拟电商网站场景综合案例(六)

RocketMQ 实战:模拟电商网站场景综合案例(六) 一、RocketMQ 实战 :项目公共类介绍 1、ID 生成器 :IDWorker:Twitter 雪花算法。 在 shop-common 工程模块中,IDWorker.java 是 ID 生成器公共类…

前端加载 动画特效

效果图: 完整代码: <!DOCTYPE html> <html> <head><meta charset="UTF-8" /><title>加载动画</title><style type="text/css">/* 设置页面背景颜色 */body {background: #ECF0F1;}/* 定义加载动画容器的样式…

【SQL边干边学系列】05高级问题

文章目录 前言回顾高级问题32.高价值客户33.高价值的客户-总订单数34.高价值的客户-带有折扣35.月末订单36.具有许多详细信息行的订单 答案32.高价值客户33.高价值的客户-总订单数34.高价值的客户-带有折扣35.月末订单36.具有许多详细信息行的订单 未完待续 前言 该系列教程&am…

新品发布 | 捷云等保一体机2.0全新上市,助力中小企业破解等保难题

等保2.0时代&#xff0c;随着网络威胁不断复杂化和组织化&#xff0c;作为网络安全“弱势群体”的中小企业&#xff0c;等保建设工作正面临着安全意识、管理、人才、资金捉襟见肘等问题&#xff0c;主要体现在以下两个方面&#xff1a; 等保建设流程复杂 中小企事业单位缺乏专…

jvm学习笔记(二) ----- 垃圾回收

GC 一、判定对象是否是垃圾1.引用计数法2.可达性分析算法 二、垃圾回收算法1.标记清除2.标记整理3. 复制4. 分代垃圾回收1.尝试在伊甸园分配2.大对象直接晋升至老年代3.多次存活的对象4.老年代连续空间不足&#xff0c;触发 Full GC 链接: jvm学习笔记(一) ----- JAVA 内存 链接…

解析智慧机场系统的架构与未来发展趋势

在全球航空业快速发展的背景下&#xff0c;智慧机场系统已经成为提升机场运营效率、优化旅客体验的重要手段。智慧机场系统的架构设计涵盖了多个方面&#xff0c;从航班管理到安全检查&#xff0c;从旅客服务到数据分析&#xff0c;都有着精心设计和完善的技术支持。本文将深入…

Apipost安装教程

&#x1f4d6;Apipost安装教程 ✅1. 下载✅2. 安装 ✅1. 下载 官网地址&#xff1a;https://www.apipost.cn/ 选择免费版&#xff0c;下载对应系统的安装包即可。 ✅2. 安装 1.点击运行apipost_win_x64_8.0.11.exe安装包&#xff0c;并选择用户安装&#xff0c;下一步 2.选…