SPARK MLLIB机器学习----黄美玲 解压不需要密码 《Spark MLlib机器学习:算法、源码及实战详解》适合大数据、Spark、数据挖掘领域的从业人员阅读,同时也为Spark开发者和大数据爱好者展现了分布式机器学习的原理和实现细节。 目录 · · · · · · 第一部分 Spark MLlib基础 第1章 Spark机器学习简介 2 1.1 机器学习介绍 2 1.2 Spark介绍 3 1.3 Spark MLlib介绍 4 第2章 Spark数据操作 6 2.1 Spark RDD操作 6 2.1.1 Spark RDD创建操作 6 2.1.2 Spark RDD转换操作 7 2.1.3 Spark RDD行动操作 14 2.2 MLlib Statistics统计操作 15 2.2.1 列统计汇总 15 2.2.2 相关系数 16 2.2.3 假设检验 18 2.3 MLlib数据格式 18 2.3.1 数据处理 18 2.3.2 生成样本 22 第3章 Spark MLlib矩阵向量 26 3.1 Breeze介绍 26 3.1.1 Breeze创建函数 27 3.1.2 Breeze 元素访问及操作函数 29 3.1.3 Breeze数值计算函数 34 3.1.4 Breeze求和函数 35 3.1.5 Breeze布尔函数 36 3.1.6 Breeze线性代数函数 37 3.1.7 Breeze取整函数 39 3.1.8 Breeze常量函数 40 3.1.9 Breeze复数函数 40 3.1.10 Breeze三角函数 40 3.1.11 Breeze对数和指数函数 40 3.2 BLAS介绍 41 3.2.1 BLAS向量-向量运算 42 3.2.2 BLAS矩阵-向量运算 42 3.2.3 BLAS矩阵-矩阵运算 43 3.3 MLlib向量 43 3.3.1 MLlib向量介绍 43 3.3.2 MLlib Vector接口 44 3.3.3 MLlib DenseVector类 46 3.3.4 MLlib SparseVector类 49 3.3.5 MLlib Vectors伴生对象 50 3.4 MLlib矩阵 57 3.4.1 MLlib矩阵介绍 57 3.4.2 MLlib Matrix接口 57 3.4.3 MLlib DenseMatrix类 59 3.4.4 MLlib SparseMatrix类 64 3.4.5 MLlib Matrix伴生对象 71 3.5 MLlib BLAS 77 3.6 MLlib分布式矩阵 93 3.6.1 MLlib分布式矩阵介绍 93 3.6.2 行矩阵(RowMatrix) 94 3.6.3 行索引矩阵(IndexedRowMatrix) 96 3.6.4 坐标矩阵(CoordinateMatrix) 97 3.6.5 分块矩阵(BlockMatrix) 98 第二部分 Spark MLlib回归算法 第4章 Spark MLlib线性回归算法 102 4.1 线性回归算法 102 4.1.1 数学模型 102 4.1.2 最小二乘法 105 4.1.3 梯度下降算法 105 4.2 源码分析 106 4.2.1 建立线性回归 108 4.2.2 模型训练run方法 111 4.2.3 权重优化计算 114 4.2.4 线性回归模型 121 4.3 实例 123 4.3.1 训练数据 123 4.3.2 实例代码 123 第5章 Spark MLlib逻辑回归算法 126 5.1 逻辑回归算法 126 5.1.1 数学模型 126 5.1.2 梯度下降算法 128 5.1.3 正则化 129 5.2 源码分析 132 5.2.1 建立逻辑回归 134 5.2.2 模型训练run方法 137 5.2.3 权重优化计算 137 5.2.4 逻辑回归模型 144 5.3 实例 148 5.3.1 训练数据 148 5.3.2 实例代码 148 第6章 Spark MLlib保序回归算法 151 6.1 保序回归算法 151 6.1.1 数学模型 151 6.1.2 L2保序回归算法 153 6.2 源码分析 153 6.2.1 建立保序回归 154 6.2.2 模型训练run方法 156 6.2.3 并行PAV计算 156 6.2.4 PAV计算 157 6.2.5 保序回归模型 159 6.3 实例 164 6.3.1 训练数据 164 6.3.2 实例代码 164 第三部分 Spark MLlib分类算法 第7章 Spark MLlib贝叶斯分类算法 170 7.1 贝叶斯分类算法 170 7.1.1 贝叶斯定理 170 7.1.2 朴素贝叶斯分类 171 7.2 源码分析 173 7.2.1 建立贝叶斯分类 173 7.2.2 模型训练run方法 176 7.2.3 贝叶斯分类模型 179 7.3 实例 181 7.3.1 训练数据 181 7.3.2 实例代码 182 第8章 Spark MLlib SVM支持向量机算法 184 8.1 SVM支持向量机算法 184 8.1.1 数学模型 184 8.1.2 拉格朗日 186 8.2 源码分析 189 8.2.1 建立线性SVM分类 191 8.2.2 模型训练run方法 194 8.2.3 权重优化计算 194 8.2.4 线性SVM分类模型 196 8.3 实例 199 8.3.1 训练数据 199 8.3.2 实例代码 199 第9章 Spark MLlib决策树算法 202 9.1 决策树算法 202 9.1.1 决策树 202 9.1.2 特征选择 203 9.1.3 决策树生成 205 9.1.4 决策树生成实例 206 9.1.5 决策树的剪枝 208 9.2 源码分析 209 9.2.1 建立决策树 211 9.2.2 建立随机森林 216 9.2.3 建立元数据 220 9.2.4 查找特征的分裂及划分 223 9.2.5 查找最好的分裂顺序 228 9.2.6 决策树模型 231 9.3 实例 234 9.3.1 训练数据 234 9.3.2 实例代码 234 第四部分 Spark MLlib聚类算法 第10章 Spark MLlib KMeans聚类算法 238 10.1 KMeans聚类算法 238 10.1.1 KMeans算法 238 10.1.2 演示KMeans算法 239 10.1.3 初始化聚类中心点 239 10.2 源码分析 240 10.2.1 建立KMeans聚类 242 10.2.2 模型训练run方法 247 10.2.3 聚类中心点计算 248 10.2.4 中心点初始化 251 10.2.5 快速距离计算 254 10.2.6 KMeans聚类模型 255 10.3 实例 258 10.3.1 训练数据 258 10.3.2 实例代码 259 第11章 Spark MLlib LDA主题模型算法 261 11.1 LDA主题模型算法 261 11.1.1 LDA概述 261 11.1.2 LDA概率统计基础 262 11.1.3 LDA数学模型 264 11.2 GraphX基础 267 11.3 源码分析 270 11.3.1 建立LDA主题模型 272 11.3.2 优化计算 279 11.3.3 LDA模型 283 11.4 实例 288 11.4.1 训练数据 288 11.4.2 实例代码 288 第五部分 Spark MLlib关联规则挖掘算法 第12章 Spark MLlib FPGrowth关联规则算法 292 12.1 FPGrowth关联规则算法 292 12.1.1 基本概念 292 12.1.2 FPGrowth算法 293 12.1.3 演示FP树构建 294 12.1.4 演示FP树挖掘 296 12.2 源码分析 298 12.2.1 FPGrowth类 298 12.2.2 关联规则挖掘 300 12.2.3 FPTree类 303 12.2.4 FPGrowthModel类 306 12.3 实例 306 12.3.1 训练数据 306 12.3.2 实例代码 306 第六部分 Spark MLlib推荐算法 第13章 Spark MLlib ALS交替最小二乘算法 310 13.1 ALS交替最小二乘算法 310 13.2 源码分析 312 13.2.1 建立ALS 314 13.2.2 矩阵分解计算 322 13.2.3 ALS模型 329 13.3 实例 334 13.3.1 训练数据 334 13.3.2 实例代码 334 第14章 Spark MLlib协同过滤推荐算法 337 14.1 协同过滤推荐算法 337 14.1.1 协同过滤推荐概述 337 14.1.2 用户评分 338 14.1.3 相似度计算 338 14.1.4 推荐计算 340 14.2 协同推荐算法实现 341 14.2.1 相似度计算 344 14.2.2 协同推荐计算 348 14.3 实例 350 14.3.1 训练数据 350 14.3.2 实例代码 350 第七部分 Spark MLlib神经网络算法 第15章 Spark MLlib神经网络算法综述 354 15.1 人工神经网络算法 354 15.1.1 神经元 354 15.1.2 神经网络模型 355 15.1.3 信号前向传播 356 15.1.4 误差反向传播 357 15.1.5 其他参数 360 15.2 神经网络算法实现 361 15.2.1 神经网络类 363 15.2.2 训练准备 370 15.2.3 前向传播 375 15.2.4 误差反向传播 377 15.2.5 权重更新 381 15.2.6 ANN模型 382 15.3 实例 384 15.3.1 测试数据 384 15.3.2 测试函数代码 387 15.3.3 实例代码 388 元素访问及操作函数 29 3.1.3 Breeze数值计算函数 34 3.1.4 Breeze求和函数 35 3.1.5 Breeze布尔函数 36 3.1.6 Breeze线性代数函数 37 3.1.7 Breeze取整函数 39 3.1.8 Breeze常量函数 40 3.1.9 Breeze复数函数 40 3.1.10 Breeze三角函数 40 3.1.11 Breeze对数和指数函数 40 3.2 BLAS介绍 41 3.2.1 BLAS向量-向量运算 42 3.2.2 BLAS矩阵-向量运算 42 3.2.3 BLAS矩阵-矩阵运算 43 3.3 MLlib向量 43 3.3.1 MLlib向量介绍 43 3.3.2 MLlib Vector接口 44 3.3.3 MLlib DenseVector类 46 3.3.4 MLlib SparseVector类 49 3.3.5 MLlib Vectors伴生对象 50 3.4 MLlib矩阵 57 3.4.1 MLlib矩阵介绍 57 3.4.2 MLlib Matrix接口 57 3.4.3 MLlib DenseMatrix类 59 3.4.4 MLlib SparseMatrix类 64 3.4.5 MLlib Matrix伴生对象 71 3.5 MLlib BLAS 77 3.6 MLlib分布式矩阵 93 3.6.1 MLlib分布式矩阵介绍 93 3.6.2 行矩阵(RowMatrix) 94 3.6.3 行索引矩阵(IndexedRowMatrix) 96 3.6.4 坐标矩阵(CoordinateMatrix) 97 3.6.5 分块矩阵(BlockMatrix) 98 第二部分 Spark MLlib回归算法 第4章 Spark MLlib线性回归算法 102 4.1 线性回归算法 102 4.1.1 数学模型 102 4.1.2 最小二乘法 105 4.1.3 梯度下降算法 105 4.2 源码分析 106 4.2.1 建立线性回归 108 4.2.2 模型训练run方法 111 4.2.3 权重优化计算 114 4.2.4 线性回归模型 121 4.3 实例 123 4.3.1 训练数据 123 4.3.2 实例代码 123 第5章 Spark MLlib逻辑回归算法 126 5.1 逻辑回归算法 126 5.1.1 数学模型 126 5.1.2 梯度下降算法 128 5.1.3 正则化 129 5.2 源码分析 132 5.2.1 建立逻辑回归 134 5.2.2 模型训练run方法 137 5.2.3 权重优化计算 137 5.2.4 逻辑回归模型 144 5.3 实例 148 5.3.1 训练数据 148 5.3.2 实例代码 148 第6章 Spark MLlib保序回归算法 151 6.1 保序回归算法 151 6.1.1 数学模型 151 6.1.2 L2保序回归算法 153 6.2 源码分析 153 6.2.1 建立保序回归 154 6.2.2 模型训练run方法 156 6.2.3 并行PAV计算 156 6.2.4 PAV计算 157 6.2.5 保序回归模型 159 6.3 实例 164 6.3.1 训练数据 164 6.3.2 实例代码 164 第三部分 Spark MLlib分类算法 第7章 Spark MLlib贝叶斯分类算法 170 7.1 贝叶斯分类算法 170 7.1.1 贝叶斯定理 170 7.1.2 朴素贝叶斯分类 171 7.2 源码分析 173 7.2.1 建立贝叶斯分类 173 7.2.2 模型训练run方法 176 7.2.3 贝叶斯分类模型 179 7.3 实例 181 7.3.1 训练数据 181 7.3.2 实例代码 182 第8章 Spark MLlib SVM支持向量机算法 184 8.1 SVM支持向量机算法 184 8.1.1 数学模型 184 8.1.2 拉格朗日 186 8.2 源码分析 189 8.2.1 建立线性SVM分类 191 8.2.2 模型训练run方法 194 8.2.3 权重优化计算 194 8.2.4 线性SVM分类模型 196 8.3 实例 199 8.3.1 训练数据 199 8.3.2 实例代码 199 第9章 Spark MLlib决策树算法 202 9.1 决策树算法 202 9.1.1 决策树 202 9.1.2 特征选择 203 9.1.3 决策树生成 205 9.1.4 决策树生成实例 206 9.1.5 决策树的剪枝 208 9.2 源码分析 209 9.2.1 建立决策树 211 9.2.2 建立随机森林 216 9.2.3 建立元数据 220 9.2.4 查找特征的分裂及划分 223 9.2.5 查找最好的分裂顺序 228 9.2.6 决策树模型 231 9.3 实例 234 9.3.1 训练数据 234 9.3.2 实例代码 234 第四部分 Spark MLlib聚类算法 第10章 Spark MLlib KMeans聚类算法 238 10.1 KMeans聚类算法 238 10.1.1 KMeans算法 238 10.1.2 演示KMeans算法 239 10.1.3 初始化聚类中心点 239 10.2 源码分析 240 10.2.1 建立KMeans聚类 242 10.2.2 模型训练run方法 247 10.2.3 聚类中心点计算 248 10.2.4 中心点初始化 251 10.2.5 快速距离计算 254 10.2.6 KMeans聚类模型 255 10.3 实例 258 10.3.1 训练数据 258 10.3.2 实例代码 259 第11章 Spark MLlib LDA主题模型算法 261 11.1 LDA主题模型算法 261 11.1.1 LDA概述 261 11.1.2 LDA概率统计基础 262 11.1.3 LDA数学模型 264 11.2 GraphX基础 267 11.3 源码分析 270 11.3.1 建立LDA主题模型 272 11.3.2 优化计算 279 11.3.3 LDA模型 283 11.4 实例 288 11.4.1 训练数据 288 11.4.2 实例代码 288 第五部分 Spark MLlib关联规则挖掘算法 第12章 Spark MLlib FPGrowth关联规则算法 292 12.1 FPGrowth关联规则算法 292 12.1.1 基本概念 292 12.1.2 FPGrowth算法 293 12.1.3 演示FP树构建 294 12.1.4 演示FP树挖掘 296 12.2 源码分析 298 12.2.1 FPGrowth类 298 12.2.2 关联规则挖掘 300 12.2.3 FPTree类 303 12.2.4 FPGrowthModel类 306 12.3 实例 306 12.3.1 训练数据 306 12.3.2 实例代码 306 第六部分 Spark MLlib推荐算法 第13章 Spark MLlib ALS交替最小二乘算法 310 13.1 ALS交替最小二乘算法 310 13.2 源码分析 312 13.2.1 建立ALS 314 13.2.2 矩阵分解计算 322 13.2.3 ALS模型 329 13.3 实例 334 13.3.1 训练数据 334 13.3.2 实例代码 334 第14章 Spark MLlib协同过滤推荐算法 337 14.1 协同过滤推荐算法 337 14.1.1 协同过滤推荐概述 337 14.1.2 用户评分 338 14.1.3 相似度计算 338 14.1.4 推荐计算 340 14.2 协同推荐算法实现 341 14.2.1 相似度计算 344 14.2.2 协同推荐计算 348 14.3 实例 350 14.3.1 训练数据 350 14.3.2 实例代码 350 第七部分 Spark MLlib神经网络算法 第15章 Spark MLlib神经网络算法综述 354 15.1 人工神经网络算法 354 15.1.1 神经元 354 15.1.2 神经网络模型 355 15.1.3 信号前向传播 356 15.1.4 误差反向传播 357 15.1.5 其他参数 360 15.2 神经网络算法实现 361 15.2.1 神经网络类 363 15.2.2 训练准备 370 15.2.3 前向传播 375 15.2.4 误差反向传播 377 15.2.5 权重更新 381 15.2.6 ANN模型 382 15.3 实例 384 15.3.1 测试数据 384 15.3.2 测试函数代码 387 15.3.3 实例代码 388