作品简介

Spark作为新兴的、应用范围广泛的大数据处理开源框架引起了广泛的关注,它吸引了大量程序设计和开发人员进行相关内容的学习与开发,其中MLlib是Spark框架使用的核心。本书是一本细致介绍SparkMLlib程序设计的图书,入门简单,示例丰富。本书分为13章,从Spark基础安装和配置开始,依次介绍MLlib程序设计基础、MLlib的数据对象构建、MLlib中RDD使用介绍,各种分类、聚类、回归等数据处理方法,然后还通过一个完整的实例,回顾了前面的学习内容,并通过代码实现了一个完整的分析过程。本书理论内容由浅而深,采取实例和理论相结合的方式,讲解细致直观,适合Spark MLlib初学者、大数据分析和挖掘人员,也适合高校和培训学习相关专业的师生教学参考。

王晓华,高校资深计算机专业讲师,主要研究方向为云计算、数据挖掘;曾主持和参与多项国家和省级科研课题,发表过多篇论文,有一项专利。

作品目录

  • 作者简介
  • 内容简介
  • 前言
  • 第1章 星星之火
  • 1.1 大数据时代
  • 1.2 大数据分析时代
  • 1.3 简单、优雅、有效——这就是Spark
  • 1.4 核心——MLlib
  • 1.5 星星之火,可以燎原
  • 1.6 小结
  • 第2章 Spark安装和开发环境配置
  • 2.1 Windows单机模式Spark安装和配置
  • 2.1.1 Windows 7安装Java
  • 2.1.2 Windows 7安装Scala
  • 2.1.3 Intellij IDEA下载和安装
  • 2.1.4 Intellij IDEA中Scala插件的安装
  • 2.1.5 HelloJava——使用Intellij IDEA创建Java程序
  • 2.1.6 HelloScala——使用Intellij IDEA创建Scala程序
  • 2.1.7 最后一脚——Spark单机版安装
  • 2.2 经典的WordCount
  • 2.2.1 Spark实现WordCount
  • 2.2.2 MapReduce实现WordCount
  • 2.3 小结
  • 第3章 RDD详解
  • 3.1 RDD是什么
  • 3.1.1 RDD名称的秘密
  • 3.1.2 RDD特性
  • 3.1.3 与其他分布式共享内存的区别
  • 3.1.4 RDD缺陷
  • 3.2 RDD工作原理
  • 3.2.1 RDD工作原理图
  • 3.2.2 RDD的相互依赖
  • 3.3 RDD应用API详解
  • 3.3.1 使用aggregate方法对给定的数据集进行方法设定
  • 3.3.2 提前计算的cache方法
  • 3.3.3 笛卡尔操作的cartesian方法
  • 3.3.4 分片存储的coalesce方法
  • 3.3.5 以value计算的countByValue方法
  • 3.3.6 以key计算的countByKey方法
  • 3.3.7 除去数据集中重复项的distinct方法
  • 3.3.8 过滤数据的filter方法
  • 3.3.9 以行为单位操作数据的flatMap方法
  • 3.3.10 以单个数据为目标进行操作的map方法
  • 3.3.11 分组数据的groupBy方法
  • 3.3.12 生成键值对的keyBy方法
  • 3.3.13 同时对两个数据进行处理的reduce方法
  • 3.3.14 对数据进行重新排序的sortBy方法
  • 3.3.15 合并压缩的zip方法
  • 3.4 小结
  • 第4章 MLlib基本概念
  • 4.1 MLlib基本数据类型
  • 4.1.1 多种数据类型
  • 4.1.2 从本地向量集起步
  • 4.1.3 向量标签的使用
  • 4.1.4 本地矩阵的使用
  • 4.1.5 分布式矩阵的使用
  • 4.2 MLlib数理统计基本概念
  • 4.2.1 基本统计量
  • 4.2.2 统计量基本数据
  • 4.2.3 距离计算
  • 4.2.4 两组数据相关系数计算
  • 4.2.5 分层抽样
  • 4.2.6 假设检验
  • 4.2.7 随机数
  • 4.3 小结
  • 第5章 协同过滤算法
  • 5.1 协同过滤
  • 5.1.1 协同过滤概述
  • 5.1.2 基于用户的推荐
  • 5.1.3 基于物品的推荐
  • 5.1.4 协同过滤算法的不足
  • 5.2 相似度度量
  • 5.2.1 基于欧几里得距离的相似度计算
  • 5.2.2 基于余弦角度的相似度计算
  • 5.2.3 欧几里得相似度与余弦相似度的比较
  • 5.2.4 第一个例子——余弦相似度实战
  • 5.3 MLlib中的交替最小二乘法(ALS算法)
  • 5.3.1 最小二乘法(LS算法)详解
  • 5.3.2 MLlib中交替最小二乘法(ALS算法)详解
  • 5.3.3 ALS算法实战
  • 5.4 小结
  • 第6章 MLlib线性回归理论与实战
  • 6.1 随机梯度下降算法详解
  • 6.1.1 道士下山的故事
  • 6.1.2 随机梯度下降算法的理论基础
  • 6.1.3 随机梯度下降算法实战
  • 6.2 MLlib回归的过拟合
  • 6.2.1 过拟合产生的原因
  • 6.2.2 lasso回归与岭回归
  • 6.3 MLlib线性回归实战
  • 6.3.1 MLlib线性回归基本准备
  • 6.3.2 MLlib线性回归实战:商品价格与消费者收入之间的关系
  • 6.3.3 对拟合曲线的验证
  • 6.4 小结
  • 第7章 MLlib分类实战
  • 7.1 逻辑回归详解
  • 7.1.1 逻辑回归不是回归算法
  • 7.1.2 逻辑回归的数学基础
  • 7.1.3 一元逻辑回归示例
  • 7.1.4 多元逻辑回归示例
  • 7.1.5 MLlib逻辑回归验证
  • 7.1.6 MLlib逻辑回归实例:肾癌的转移判断
  • 7.2 支持向量机详解
  • 7.2.1 三角还是圆
  • 7.2.2 支持向量机的数学基础
  • 7.2.3 支持向量机使用示例
  • 7.2.4 使用支持向量机分析肾癌转移
  • 7.3 朴素贝叶斯详解
  • 7.3.1 穿裤子的男生or女生
  • 7.3.2 贝叶斯定理的数学基础和意义
  • 7.3.3 朴素贝叶斯定理
  • 7.3.4 MLlib朴素贝叶斯使用示例
  • 7.3.5 MLlib朴素贝叶斯实战:“僵尸粉”的鉴定
  • 7.4 小结
  • 第8章 决策树与保序回归
  • 8.1 决策树详解
  • 8.1.1 水晶球的秘密
  • 8.1.2 决策树的算法基础:信息熵
  • 8.1.3 决策树的算法基础——ID3算法
  • 8.1.4 MLlib中决策树的构建
  • 8.1.5 MLlib中决策树示例
  • 8.1.6 随机雨林与梯度提升算法(GBT)
  • 8.2 保序回归详解
  • 8.2.1 何为保序回归
  • 8.2.2 保序回归示例
  • 8.3 小结
  • 第9章 MLlib中聚类详解
  • 9.1 聚类与分类
  • 9.1.1 什么是分类
  • 9.1.2 什么是聚类
  • 9.2 MLlib中的Kmeans算法
  • 9.2.1 什么是kmeans算法
  • 9.2.2 MLlib中Kmeans算法示例
  • 9.2.3 Kmeans算法中细节的讨论
  • 9.3 高斯混合聚类
  • 9.3.1 从高斯分布聚类起步
  • 9.3.2 混合高斯聚类
  • 9.3.3 MLlib高斯混合模型使用示例
  • 9.4 快速迭代聚类
  • 9.4.1 快速迭代聚类理论基础
  • 9.4.2 快速迭代聚类示例
  • 9.5 小结
  • 第10章 MLlib中关联规则
  • 10.1 Apriori频繁项集算法
  • 10.1.1 啤酒与尿布
  • 10.1.2 经典的Apriori算法
  • 10.1.3 Apriori算法示例
  • 10.2 FP-growth算法
  • 10.2.1 Apriori算法的局限性
  • 10.2.2 FP-growth算法
  • 10.2.3 FP树示例
  • 10.3 小结
  • 第11章 数据降维
  • 11.1 奇异值分解(SVD)
  • 11.1.1 行矩阵(RowMatrix)详解
  • 11.1.2 奇异值分解算法基础
  • 11.1.3 MLlib中奇异值分解示例
  • 11.2 主成分分析(PCA)
  • 11.2.1 主成分分析(PCA)的定义
  • 11.2.2 主成分分析(PCA)的数学基础
  • 11.2.3 MLlib中主成分分析(PCA)示例
  • 11.3 小结
  • 第12章 特征提取和转换
  • 12.1 TF-IDF
  • 12.1.1 如何查找所要的新闻
  • 12.1.2 TF-IDF算法的数学计算
  • 12.1.3 MLlib中TF-IDF示例
  • 12.2 词向量化工具
  • 12.2.1 词向量化基础
  • 12.2.2 词向量化使用示例
  • 12.3 基于卡方检验的特征选择
  • 12.3.1 “吃货”的苦恼
  • 12.3.2 MLlib中基于卡方检验的特征选择示例
  • 12.4 小结
  • 第13章 MLlib实战演练——鸢尾花分析
  • 13.1 建模说明
  • 13.1.1 数据的描述与分析目标
  • 13.1.2 建模说明
  • 13.2 数据预处理和分析
  • 13.2.1 微观分析——均值与方差的对比分析
  • 13.2.2 宏观分析——不同种类特性的长度计算
  • 13.2.3 去除重复项——相关系数的确定
  • 13.3 长与宽之间的关系——数据集的回归分析
  • 13.3.1 使用线性回归分析长与宽之间的关系
  • 13.3.2 使用逻辑回归分析长与宽之间的关系
  • 13.4 使用分类和聚类对鸢尾花数据集进行处理
  • 13.4.1 使用聚类分析对数据集进行聚类处理
  • 13.4.2 使用分类分析对数据集进行分类处理
  • 13.5 最终的判定——决策树测试
  • 13.5.1 决定数据集的归类——决策树
  • 13.5.2 决定数据集归类的分布式方法——随机雨林
  • 13.6 小结
展开全部