Spark MLlib機器學習:算法、源碼及實戰詳解

Spark MLlib機器學習:算法、源碼及實戰詳解

《Spark MLlib機器學習:算法、源碼及實戰詳解》是2016年4月電子工業出版社出版的圖書,作者是黃美靈。

內容簡介

《Spark MLlib機器學習:算法、源碼及實戰詳解》以Spark 1.4.1版本源碼為切入點,全面並且深入地解析Spark MLlib模組,著力於探索分散式機器學習的底層實現。

《Spark MLlib機器學習:算法、源碼及實戰詳解》中本著循序漸進的原則,首先解析MLlib的底層實現基礎:數據操作及矩陣向量計算操作,該部分是MLlib實現的基礎;接著對各個機器學習算法的理論知識進行講解,並且解析機器學習算法如何在MLlib中實現分散式計算;然後對MLlib源碼進行詳細的講解;最後進行MLlib實例的講解。相信通過《Spark MLlib機器學習:算法、源碼及實戰詳解》的學習,讀者可全面掌握Spark MLlib機器學習,能夠進行MLlib實戰、MLlib定製開發等。

《Spark MLlib機器學習:算法、源碼及實戰詳解》適合大數據、Spark、數據挖掘領域的從業人員閱讀,同時也為Spark開發者和大數據愛好者展現了分散式機器學習的原理和實現細節。

編輯推薦

本書系統、全面、深入地解析了Spark MLlib機器學習的相關知識,著力於探索分散式機器學習的底層實現。

以源碼為基礎,兼顧算法、理論與實戰,幫助讀者在實際工作中進行MLlib的套用開發和定製開發。

適合大數據、Spark、數據挖掘領域的從業人員閱讀。

內容提要

《Spark MLlib機器學習:算法、源碼及實戰詳解》以Spark 1.4.1版本源碼為切入點,全面並且深入地解析Spark MLlib模組,著力於探索分散式機器學習的底層實現。

《Spark MLlib機器學習:算法、源碼及實戰詳解》中本著循序漸進的原則,首先解析MLlib的底層實現基礎:數據操作及矩陣向量計算操作,該部分是MLlib實現的基礎;接著對各個機器學習算法的理論知識進行講解,並且解析機器學習算法如何在MLlib中實現分散式計算;然後對MLlib源碼進行詳細的講解;最後進行MLlib實例的講解。相信通過《Spark MLlib機器學習:算法、源碼及實戰詳解》的學習,讀者可全面掌握Spark MLlib機器學習,能夠進行MLlib實戰、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

相關詞條

熱門詞條

聯絡我們