Spark MLlib機器學習實踐

《Spark MLlib機器學習實踐》是2015年清華大學出版社出版的圖書,作者是王曉華。

內容簡介

Spark作為新興的、套用範圍最為廣泛的大數據處理開源框架引起了廣泛的關注,它吸引了大量程式設計和開發人員進行相關內容的學習與開發,其中 MLlib是 Spark框架使用的核心。本書是一本細緻介紹 Spark MLlib程式設計的圖書,入門簡單,示例豐富。 本書分為 12章,從 Spark基礎安裝和配置開始,依次介紹 MLlib程式設計基礎、MLlib的數據對象構建、MLlib中 RDD使用介紹,各種分類、聚類、回歸等數據處理方法,最後還通過一個完整的實例,回顧了前面的學習內容,並通過代碼實現了一個完整的分析過程。 本書理論內容由淺而深,採取實例和理論相結合的方式,內容全面而詳盡,講解細緻直觀,適合 Spark MLlib初學者、大數據分析和挖掘人員,也適合高校和培訓學習相關專業的師生教學參考。

圖書目錄

第 1章星星之火 1

1.1 大數據時代 1

1.2 大數據分析時代 . 2

1.3 簡單、優雅、有效——這就是 Spark 3

1.4 核心——MLlib4

1.5 星星之火,可以燎原 .. 6

1.6 小結 6

第 2章 Spark安裝和開發環境配置.. 7

2.1 Windows單機模式 Spark安裝和配置 . 7

2.1.1 Windows 7安裝 Java.. 7

2.1.2 Windows 7安裝 Scala . 10

2.1.3 Intellij IDE下載和安裝.. 10

2.1.4 Intellij IDE中 Scala外掛程式的安裝 .. 11

2.1.5 Spark單機版安裝.. 14

2.2 經典的 WordCount . 15

2.2.1 Spark實現 WordCount 15

2.2.2 MapReduce實現 WordCount.. 17

2.3 小結 . 20

第 3章 RDD詳解 21

3.1 RDD是什麼 21

3.1.1 RDD名稱的秘密 21

3.1.2 RDD特性 22

3.1.3 與其他分散式共享記憶體的區別 . 23

3.1.4 RDD缺陷 23

3.2 RDD工作原理.. 24

3.2.1 RDD工作原理. 24

3.2.2 RDD的相互依賴 24

3.3 RDD套用 API詳解 .. 25

3.3.1 使用 aggregate方法對給定的數據集進行方法設定 ...

3.3.2提前計算的cache方法..28

3.3.3笛卡爾操作的cartesian方法..29

3.3.4分片存儲的coalesce方法.30

3.3.5以value計算的countByValue方法..31

3.3.6以key計算的countByKey方法..31

3.3.7除去數據集中重複項的distinct方法32

3.3.8過濾數據的filter方法33

3.3.9以行為單位運算元據的flatMap方法..33

3.3.10以單個數據為目標進行操作的map方法34

3.3.11分組數據的groupBy方法.34

3.3.12生成鍵值對的keyBy方法.35

3.3.13同時對兩個數據進行處理的reduce方法36

3.3.14對數據進行重新排序的sortBy方法..37

3.3.15合併壓縮的zip方法.38

3.4小結.39

第4章MLlib基本概念.40

4.1MLlib基本數據類型.40

4.1.1多種數據類型..40

4.1.2從本地向量集起步41

4.1.3向量標籤的使用.42

4.1.4本地矩陣的使用.44

4.1.5分散式矩陣的使用44

4.2MLlib數理統計基本概念..48

4.2.1基本統計量48

4.2.2統計量基本數據.48

4.2.3距離計算.49

4.2.4兩組數據相關係數計算.50

4.2.5分層抽樣.53

4.2.6假設檢驗.54

4.2.7隨機數..55

4.3小結.56

第5章協同過濾算法57

5.1協同過濾..57

5.1.1協同過濾概述..57

5.1.2基於用戶的推薦.58

5.1.3基於物品的推薦.59

5.1.4協同過濾算法的不足..60

5.2相似度度量.60

5.2.1基於歐幾里得距離的相似度計算60

5.2.2基於餘弦角度的相似度計算..61

5.2.3歐幾里得相似度與餘弦相似度的比較.62

5.2.4第一個例子——餘弦相似度實戰62

5.3MLlib中的交替最小二乘法(ALS算法)65

5.3.1最小二乘法(LS算法)詳解66

5.3.2MLlib中交替最小二乘法(ALS算法)詳解.66

5.3.3ALS算法實戰..68

5.4小結.70

第6章MLlib線性回歸理論與實戰71

6.1隨機梯度下降算法詳解..71

6.1.1道士下山的故事.72

6.1.2隨機梯度下降算法的理論基礎.73

6.1.3隨機梯度下降算法實戰.73

6.2MLlib回歸的過擬合.74

6.2.1過擬合產生的原因75

6.2.2lasso回歸與嶺回歸..76

6.3MLlib線性回歸實戰.76

6.3.1MLlib線性回歸基本準備.76

6.3.2MLlib線性回歸實戰:商品價格與消費者收入之間的關係..78

6.3.3對擬合曲線的驗證80

6.4小結.82

第7章MLlib分類實戰.83

7.1邏輯回歸詳解83

7.1.1邏輯回歸不是回歸算法.83

7.1.2邏輯回歸的數學基礎..84

7.1.3一元邏輯回歸示例85

7.1.4多元邏輯回歸示例86

7.1.5MLlib邏輯回歸驗證88

7.1.6MLlib邏輯回歸實例:胃癌的轉移判斷.89

7.2支持向量機詳解..91

7.2.1三角還是圓91

7.2.2支持向量機的數學基礎.93

7.2.3支持向量機使用示例..94

7.2.4使用支持向量機分析胃癌轉移.95

7.3樸素貝葉斯詳解..96

7.3.1穿褲子的男生or女生.96

7.3.2貝葉斯定理的數學基礎和意義.97

7.3.3樸素貝葉斯定理.98

7.3.4MLlib樸素貝葉斯使用示例99

7.3.5MLlib樸素貝葉斯實戰:“殭屍粉”的鑑定100

7.4小結..102

第8章決策樹與保序回歸103

8.1決策樹詳解..103

8.1.1水晶球的秘密104

8.1.2決策樹的算法基礎:信息熵104

8.1.3決策樹的算法基礎——ID3算法..106

8.1.4MLlib中決策樹的構建107

8.1.5MLlib中決策樹示例.108

8.1.6隨機雨林與梯度提升算法(GBT)110

8.2保序回歸詳解.112

8.2.1何為保序回歸113

8.2.2保序回歸示例113

8.3小結..114

第9章MLlib中聚類詳解.115

9.1聚類與分類..115

9.1.1什麼是分類.115

9.1.2什麼是聚類.116

9.2MLlib中的Kmeans算法.116

9.2.1什麼是Kmeans算法.116

9.2.2MLlib中Kmeans算法示例..118

9.2.3Kmeans算法中細節的討論..119

9.3高斯混合聚類.120

9.3.1從高斯分布聚類起步120

9.3.2混合高斯聚類122

9.3.3MLlib高斯混合模型使用示例122

9.4快速疊代聚類.123

9.4.1快速疊代聚類理論基礎..123

9.4.2快速疊代聚類示例.124

9.5小結..125

第10章MLlib中關聯規則..126

10.1Apriori頻繁項集算法.126

10.1.1啤酒與尿布..126

10.1.2經典的Apriori算法127

10.1.3Apriori算法示例..129

10.2FP-growth算法130

10.2.1Apriori算法的局限性130

10.2.2FP-growth算法..130

10.2.3FP樹示例..133

10.3小結134

第11章數據降維135

11.1奇異值分解(SVD)..135

11.1.1行矩陣(RowMatrix)詳解135

11.1.2奇異值分解算法基礎.136

11.1.3MLlib中奇異值分解示例137

11.2主成分分析(PCA)..138

11.2.1主成分分析(PCA)的定義.139

11.2.2主成分分析(PCA)的數學基礎..139

11.2.3MLlib中主成分分析(PCA)示例..140

11.3小結141

第12章特徵提取和轉換.142

12.1TF-IDF..142

12.1.1如何查找所要的新聞.142

12.1.2TF-IDF算法的數學計算..143

12.1.3MLlib中TF-IDF示例..144

12.2詞向量化工具..145

12.2.1詞向量化基礎.145

12.2.2詞向量化使用示例..146

12.3基於卡方檢驗的特徵選擇147

12.3.1“吃貨”的苦惱147

12.3.2MLlib中基於卡方檢驗的特徵選擇示例148

12.4小結149

第13章MLlib實戰演練——鳶尾花分析.151

13.1建模說明.151

13.1.1數據的描述與分析目標151

13.1.2建模說明153

13.2數據預處理和分析156

13.2.1微觀分析——均值與方差的對比分析156

13.2.2巨觀分析——不同種類特性的長度計算..159

13.2.3去除重複項——相關係數的確定..161

13.3長與寬之間的關係——數據集的回歸分析..165

13.3.1使用線性回歸分析長與寬之間的關係165

13.3.2使用邏輯回歸分析長與寬之間的關係168

13.4使用分類和聚類對鳶尾花數據集進行處理..169

13.4.1使用聚類分析對數據集進行聚類處理169

13.4.2使用分類分析對數據集進行分類處理172

13.5最終的判定——決策樹測試..173

13.5.1決定數據集的歸類——決策樹173

13.5.2決定數據集歸類的分散式方法——隨機雨林175

13.6小結176

相關詞條

相關搜尋

熱門詞條

聯絡我們