新書推薦:
《
马拉松名将手记2:每个人都有自己的决战
》
售價:HK$
79.4
《
大家小书 译馆 骑士:历史与文化
》
售價:HK$
56.4
《
没有一种人生是完美的:百岁老人季羡林的人生智慧(读完季羡林,我再也不内耗了)
》
售價:HK$
56.9
《
日耳曼通识译丛:复原力:心理抗逆力
》
售價:HK$
34.3
《
海外中国研究·未竟之业:近代中国的言行表率
》
售價:HK$
135.7
《
我们为何建造(城市与生态文明丛书)
》
售價:HK$
89.7
《
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
》
售價:HK$
79.4
《
家书中的百年史
》
售價:HK$
79.4
|
編輯推薦: |
(1)作者是有20余年工作经验的大数据专家和人工智能专家,就职于国家外汇交易中心。
(2)本书系统讲解了Spark机器学习的技术、原理、组件、算法,以及构建Spark机器学习系统的方法、流程、标准和规范。
(3)肖京等国家千人计划学者高度评价并推荐。
|
內容簡介: |
本书以新的Spark2.0为技术基础,重点讲解了如何构建机器学习系统以及如何实现机器学习流程的标准化,这两点都是目前同类书中没有的。第1~7章从概念、架构、算法等角度介绍了机器学习的基本概念;第8~12章以实例为主,详细讲解了机器学习流程标准化涉及的关键技术;第13章主要以在线数据或流式数据为主介绍了流式计算框架SparkStreaming;第14章重点讲解了深度学习的框架TensorFlowOnSprak。此外,附录部分提供了线性代数、概率统计及Scala的基础知识,帮助读者更好地学习和掌握机器学习的相关内容。
|
關於作者: |
吴茂贵
资深BI和大数据专家,就职于中国外汇交易中心,在BI、数据挖掘与分析、数据仓库、机器学习等领域有超过20年的工作经验,在Spark机器学习、TensorFlow深度学习领域大量的实践经验。
郁明敏
对大数据、机器学习有一定的研究,擅长Python、Hadoop、Spark等技术,曾获得江苏省TI杯大学生电子竞技大赛二等奖和全国大学生数学建模大赛二等奖。
朱凤元
毕业于香港浸会大学,获运筹学与商业统计硕士学位,毕业后在飞牛网、永安保险、麦芽金服等公司从事数据挖掘建模工作。
张粤磊
资深DBA和大数据架构师,10余年一线数据数据挖掘与分析实战经验。先后在咨询、金融、互联网行业担任数据平台技术负责人或架构师。吴茂贵
资深BI和大数据专家,就职于中国外汇交易中心,在BI、数据挖掘与分析、数据仓库、机器学习等领域有超过20年的工作经验,在Spark机器学习、TensorFlow深度学习领域大量的实践经验。
郁明敏
对大数据、机器学习有一定的研究,擅长Python、Hadoop、Spark等技术,曾获得江苏省TI杯大学生电子竞技大赛二等奖和全国大学生数学建模大赛二等奖。
朱凤元
毕业于香港浸会大学,获运筹学与商业统计硕士学位,毕业后在飞牛网、永安保险、麦芽金服等公司从事数据挖掘建模工作。
张粤磊
资深DBA和大数据架构师,10余年一线数据数据挖掘与分析实战经验。先后在咨询、金融、互联网行业担任数据平台技术负责人或架构师。
杨本法
高级算法工程师,在机器学习、文本挖掘、可视化等领域有多年实践经验。熟悉Hadoop生态圈的相关技术,在R、Spark方面有丰富的实战经验。
|
目錄:
|
目录?Contents
前言
第1章 了解机器学习1
1.1 机器学习的定义1
1.2 大数据与机器学习2
1.3 机器学习、人工智能及深度学习2
1.4 机器学习的基本任务3
1.5 如何选择合适算法4
1.6 Spark在机器学习方面的优势5
1.7 小结5
第2章 构建Spark机器学习系统6
2.1 机器学习系统架构6
2.2 启动集群7
2.3 加载数据9
2.4 探索数据10
2.4.1 数据统计信息10
2.4.2 数据质量分析11
2.4.3 数据特征分析12
2.4.4 数据的可视化17
2.5 数据预处理19
2.5.1 数据清理20
2.5.2 数据变换21
2.5.3 数据集成22
2.5.4 数据归约23
2.6 构建模型25
2.7 模型评估26
2.8 组装30
2.9 模型选择或调优30
2.9.1 交叉验证31
2.9.2 训练–验证切分32
2.10 保存模型32
2.11 小结33
第3章 ML Pipeline原理与实战34
3.1 Pipeline简介34
3.2 DataFrame35
3.3 Pipeline组件36
3.4 Pipeline原理37
3.5 Pipeline实例38
3.5.1 使用Estimator、Transformer和Param的实例38
3.5.2 ML使用Pipeline的实例40
3.6 小结41
第4章 特征提取、转换和选择42
4.1 特征提取42
4.1.1 词频—逆向文件
频率(TF-IDF)42
4.1.2 Word2Vec43
4.1.3 计数向量器44
4.2 特征转换45
4.2.1 分词器45
4.2.2 移除停用词46
4.2.3 n-gram47
4.2.4 二值化48
4.2.5 主成分分析48
4.2.6 多项式展开50
4.2.7 离散余弦变换50
4.2.8 字符串—索引变换51
4.2.9 索引—字符串变换53
4.2.10 独热编码54
4.2.11 向量—索引变换57
4.2.12 交互式58
4.2.13 正则化59
4.2.14 规范化60
4.2.15 最大值—最小值缩放60
4.2.16 最大值—绝对值缩放61
4.2.17 离散化重组62
4.2.18 元素乘积63
4.2.19 SQL转换器64
4.2.20 向量汇编65
4.2.21 分位数离散化66
4.3 特征选择67
4.3.1 向量机67
4.3.2 R公式69
4.3.3 卡方特征选择70
4.4 小结71
第5章 模型选择和优化72
5.1 模型选择72
5.2 交叉验证73
5.3 训练验证拆分法75
5.4 自定义模型选择76
5.5 小结78
第6章 Spark MLlib基础79
6.1 Spark MLlib简介80
6.2 Spark MLlib架构81
6.3 数据类型82
6.4 基础统计84
6.4.1 摘要统计84
6.4.2 相关性84
6.4.3 假设检验85
6.4.4 随机数据生成85
6.5 RDD、Dataframe和Dataset86
6.5.1 RDD86
6.5.2 DatasetDataFrame87
6.5.3 相互转换88
6.6 小结89
第7章 构建Spark ML推荐模型90
7.1 推荐模型简介91
7.2 数据加载92
7.3 数据探索94
7.4 训练模型94
7.5 组装95
7.6 评估模型96
7.7 模型优化96
7.8 小结98
第8章 构建Spark ML分类模型99
8.1 分类模型简介99
8.1.1 线性模型100
8.1.2 决策树模型101
8.1.3 朴素贝叶斯模型102
8.2 数据加载102
8.3 数据探索103
8.4 数据预处理104
8.5 组装109
8.6 模型优化110
8.7 小结113
第9章 构建Spark ML回归模型114
9.1 回归模型简介115
9.2 数据加载115
9.3 探索特征分布117
9.4 数据预处理120
9.4.1 特征选择121
9.4.2 特征转换121
9.5 组装122
9.6 模型优化124
9.7 小结126
第10章 构建Spark ML聚类模型127
10.1 K-means模型简介128
10.2 数据加载129
10.3 探索特征的相关性129
10.4 数据预处理131
10.5 组装132
10.6 模型优化134
10.7 小结136
第11章 PySpark 决策树模型137
11.1 PySpark 简介138
11.2 决策树简介139
11.3 数据加载140
11.3.1 原数据集初探140
11.3.2 PySpark的启动142
11.3.3 基本函数142
11.4 数据探索143
11.5 数据预处理143
11.6 创建决策树模型145
11.7 训练模型进行预测146
11.8 模型优化149
11.8.1 特征值的优化149
11.8.2 交叉验证和网格参数152
11.9 脚本方式运行154
11.9.1 在脚本中添加配置信息154
11.9.2 运行脚本程序154
11.10 小结154
第12章 SparkR朴素贝叶斯模型155
12.1 SparkR简介156
12.2 获取数据157
12.2.1 SparkDataFrame数据结构
说明157
12.2.2 创建SparkDataFrame157
12.2.3 SparkDataFrame的常用操作160
12.3 朴素贝叶斯分类器162
12.3.1 数据探查162
12.3.2 对原始数据集进行转换163
12.3.3 查看不同船舱的生还率差异163
12.3.4 转换成SparkDataFrame格式的数据165
12.3.5 模型概要165
12.3.6 预测165
12.3.7 评估模型166
12.4 小结167
第13章 使用Spark Streaming构建在线学习模型168
13.1 Spark Streaming简介168
13.1.1 Spark Streaming常用术语169
13.1.2 Spark Streaming处理流程169
13.2 Dstream操作
|
內容試閱:
|
Preface?前言为什么写这本书大数据、人工智能正在改变或颠覆各行各业,包括我们的生活。大数据、人工智能方面的人才已经供不应求,但作为人工智能的核心——机器学习,因涉及的知识和技能比较多,除了需要具备一定的数学基础、相关业务知识外,还要求有比较全面的技术储备,如操作系统、数据库、开发语言、数据分析工具、大数据计算平台等,无形中提高了机器学习的门槛。如何降低机器学习的门槛,让更多有志于机器学习、人工智能的人能更方便或顺畅地使用、驾驭机器学习?很多企业也正在考虑和处理这方面的问题,本书也希望借Spark技术在这方面做一些介绍或总结。
如何使原本复杂、专业性强的工作或操作简单化?封装是一个有效方法。封装降低了我们操作照相机的难度、降低了我们维护各种现代设备的成本,同时也提升了我们使用这些设备的效率。除封装外,过程的标准化、流程化同样是目前现代企业用于提升生产效率,降低成本,提高质量的有效方法。
硬件如此,软件行业同样如此。目前很多机器学习的开发语言或平台,正在这些方面加大力度,比如:对特征转换、特征选择、数据清理、数据划分、模型评估及优化等算法的封装;对机器学习过程的进行流程化、标准化、规范化;给大家比较熟悉的语言或工具提供API等方法或措施,以简化机器学习中间过程,缩短整个开发周期,使我们能更从容地应对市场的变化。Spark在这方面可谓后来居上,尤其是最近发布的版本,明显加大了这方面的力度,我们可以从以下几个方面看出这种趋势:
1)Spark机器学习的API,正在由基于RDD过渡到基于Dataset或DataFrame,基于RDD的API在Spark2.2后处于维护阶段,Spark3.0后将停止使用(来自Spark官网);2)建议大家使用Spark ML,尤其是它的Pipeline;3)增加大量特征选择、特征转换、模型选择和优化等算法;4)丰富、增强Spark与Java、Python、R的API,使其更通用。
SKLearn、Spark等机器学习平台或工具在这方面都处于领先的地位,我们也希望借助本书,把Spark在这方面的有关内容介绍给大家,使大家可以少走些弯路。
此外,Spark目前主要涉及常用机器学习算法,缺乏对一般神经网络的支持,更不用说深度学习了,这好像也是目前Spark的一个不足。不过好消息是:雅虎把深度学习框架TensorFlow与Spark整合在一起,而且开源了这些代码。为弥补广大Spark爱好者的上述缺憾,本书介绍了TensorFlowOnSpark,其中包括深度学习框架TensorFlow的基础知识及使用卷积神经网络、循环神经网络等的一些实际案例。
另外,我们提供了与本书环境完全一致的免费云操作环境,这样一来是希望节约您的宝贵时间,二来是希望能通过真正的实战,给您不一样的体验和收获!总之,我们希望能使更多有志于大数据、人工智能的朋友加入这个充满生机、前景广阔的行业中来。
本书特色本书最大特点就是注重实战!或许有读者会问,能从哪几个方面体现出来?1)介绍了目前关于机器学习的新趋势,并分析了如何使用Pipeline使机器学习过程流程化。
2)简介了机器学习的一般框架Spark、深度学习框架Tensorflow及把两者整合在一起的框架TensorflowOnSpark。
3)提供可操作、便执行及具有实战性的项目及其详细代码。
4)提供与书完全一致的云操作环境,而且这个环境可以随时随地使用实操环境,登录地址为httpwww.feiguyun.comsparksupport。
5)除了代码外,还附有一些必要的架构或原理说明,便于大家能从一个更高的角度来理解把握相关问题。
总之,希望你通过阅读本书,不但可以了解很多内容或代码,更可以亲自运行或调试这些代码,从而带来新的体验和收获!
读者对象对大数据、机器学习感兴趣的广大在校、在职人员。
对Spark机器学习有一定基础,欲进一步提高开发效率的人员。
熟悉Python、R等工具,希望进一步拓展到Spark机器学习的人。
对深度学习框架TensorFlow及其拓展感兴趣的读者。
如何阅读本书本书正文共14章,从内容结构来看,可以分为四部分。
第一部分为第1~7章,主要介绍了机器学习的一些基本概念,包括如何构建一个Spark机器学习系统,Spark ML主要特点,Spark ML中流水线(Pipeline),ML中大量特征选取、特征转换、特征选择等函数或方法,同时简单介绍了Spark MLlib的一些基础知识。
第二部分为第8~12章,主要以实例为主,具体说明如何使用Spark ML中Pipeline的Stage,以及如何把这Stage组合到流水线上,最后通过评估指标,优化模型。
第三部分即第13章,与之前的批量处理不同,这一章主要以在线数据或流式数据为主,介绍Spark的流式计算框架Spark Streaming。
第四部分即第14章,为深度学习框架,主要包括TensorFlow的基础知识及它与Spark的整合框架TensorFlowOnSpark。
此外,书中的附录部分还提供了线性代数、概率统计及Scala的基础知识,以帮助读者更好地掌握机器学习的相关内容。
勘误和支持除封面署名外,参加本书编写、环境搭建的人还有杨本法、张魁、刘未昕等、杨本法负责第12章 Spark R的编写,张魁、刘未昕负责后台环境的搭建和维护。由于笔者水平有限,加之编写时间仓促,书中难免出现错误或不准确的地方。恳请读者批评指正,你可以通过访问httpwww.feiguyun.com留下宝贵意见。也可以通过微信(wumg3000)或QQ(1715408972)给我们反馈。非常感谢你的支持和帮助。
致谢在本书编写过程中,得到很多在校老师和同学的支持!感谢上海大学机电工程与自动化学院的王佳寅老师及黄文成、杨中源、熊奇等同学,上海理工管理学院的张帆老师,上海师大数理学院的田红炯、李昭祥老师,华师大的王旭同学,博世王冬,飞谷云小伙伴等提供的支持和帮助。
感谢机械工业出版社的杨福川、李艺老师给予本书的大力支持和帮助。
感谢参与本书编写的其他作者及提供支持的家人们,谢谢你们!
|
|