第一部分 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
· · · · · · (
收起)