Spark MLlib機器學習實踐(第2版)

《Spark MLlib機器學習實踐(第2版)》是2017年3月1日出版的圖書,作者是王曉華。

基本信息

作者:王曉華
定價:49元
印次:2-1
ISBN:9787302465089
出版日期:2017.03.01
印刷日期:2017.02.24

圖書簡介

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

圖書目錄

第1章 星星之火 1

1.1 大數據時代 1

1.2 大數據分析時代 2

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

1.4 核心——MLlib 4

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 IDEA下載和安裝 13

2.1.4 Intellij IDEA中Scala外掛程式的安裝 14

2.1.5 HelloJava——使用Intellij IDEA創建Java程式 18

2.1.6 HelloScala——使用Intellij IDEA創建Scala程式 21

2.1.7 最後一腳——Spark單機版安裝 26

2.2 經典的WordCount 29

2.2.1 Spark實現WordCount 29

2.2.2 MapReduce實現WordCount 31

2.3 小結 34

第3章 RDD詳解 35

3.1 RDD是什麼 35

3.1.1 RDD名稱的秘密 35

3.1.2 RDD特性 36

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

3.1.4 RDD缺陷 37

3.2 RDD工作原理 38

3.2.1 RDD工作原理圖 38

3.2.2 RDD的相互依賴 38

3.3 RDD套用API詳解 39

3...

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

3.3.2提前計算的cache方法42

3.3.3笛卡爾操作的cartesian方法43

3.3.4分片存儲的coalesce方法44

3.3.5以value計算的countByValue方法45

3.3.6以key計算的countByKey方法45

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

3.3.8過濾數據的filter方法47

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

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

3.3.11分組數據的groupBy方法48

3.3.12生成鍵值對的keyBy方法49

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

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

3.3.15合併壓縮的zip方法52

3.4小結53

第4章MLlib基本概念54

4.1MLlib基本數據類型54

4.1.1多種數據類型54

4.1.2從本地向量集起步55

4.1.3向量標籤的使用56

4.1.4本地矩陣的使用58

4.1.5分散式矩陣的使用59

4.2MLlib數理統計基本概念62

4.2.1基本統計量62

4.2.2統計量基本數據63

4.2.3距離計算64

4.2.4兩組數據相關係數計算65

4.2.5分層抽樣67

4.2.6假設檢驗69

4.2.7隨機數70

4.3小結71

第5章協同過濾算法72

5.1協同過濾72

5.1.1協同過濾概述72

5.1.2基於用戶的推薦73

5.1.3基於物品的推薦74

5.1.4協同過濾算法的不足75

5.2相似度度量75

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

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

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

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

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

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

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

5.3.3ALS算法實戰83

5.4小結85

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

6.1隨機梯度下降算法詳解86

6.1.1道士下山的故事87

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

6.1.3隨機梯度下降算法實戰88

6.2MLlib回歸的過擬合89

6.2.1過擬合產生的原因90

6.2.2lasso回歸與嶺回歸91

6.3MLlib線性回歸實戰91

6.3.1MLlib線性回歸基本準備91

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

6.3.3對擬合曲線的驗證95

6.4小結97

第7章MLlib分類實戰98

7.1邏輯回歸詳解98

7.1.1邏輯回歸不是回歸算法98

7.1.2邏輯回歸的數學基礎99

7.1.3一元邏輯回歸示例100

7.1.4多元邏輯回歸示例101

7.1.5MLlib邏輯回歸驗證103

7.1.6MLlib邏輯回歸實例:腎癌的轉移判斷104

7.2支持向量機詳解106

7.2.1三角還是圓106

7.2.2支持向量機的數學基礎108

7.2.3支持向量機使用示例109

7.2.4使用支持向量機分析腎癌轉移110

7.3樸素貝葉斯詳解111

7.3.1穿褲子的男生or女生111

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

7.3.3樸素貝葉斯定理113

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

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

7.4小結117

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

8.1決策樹詳解118

8.1.1水晶球的秘密119

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

8.1.3決策樹的算法基礎——ID3算法121

8.1.4MLlib中決策樹的構建122

8.1.5MLlib中決策樹示例123

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

8.2保序回歸詳解127

8.2.1何為保序回歸128

8.2.2保序回歸示例128

8.3小結129

第9章MLlib中聚類詳解130

9.1聚類與分類130

9.1.1什麼是分類130

9.1.2什麼是聚類131

9.2MLlib中的Kmeans算法131

9.2.1什麼是kmeans算法131

9.2.2MLlib中Kmeans算法示例133

9.2.3Kmeans算法中細節的討論134

9.3高斯混合聚類135

9.3.1從高斯分布聚類起步135

9.3.2混合高斯聚類137

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

9.4快速疊代聚類138

9.4.1快速疊代聚類理論基礎138

9.4.2快速疊代聚類示例139

9.5小結140

第10章MLlib中關聯規則141

10.1Apriori頻繁項集算法141

10.1.1啤酒與尿布141

10.1.2經典的Apriori算法142

10.1.3Apriori算法示例144

10.2FP-growth算法145

10.2.1Apriori算法的局限性145

10.2.2FP-growth算法145

10.2.3FP樹示例148

10.3小結149

第11章數據降維150

11.1奇異值分解(SVD)150

11.1.1行矩陣(RowMatrix)詳解150

11.1.2奇異值分解算法基礎151

11.1.3MLlib中奇異值分解示例152

11.2主成分分析(PCA)153

11.2.1主成分分析(PCA)的定義154

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

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

11.3小結156

第12章特徵提取和轉換157

12.1TF-IDF157

12.1.1如何查找所要的新聞157

12.1.2TF-IDF算法的數學計算158

12.1.3MLlib中TF-IDF示例159

12.2詞向量化工具160

12.2.1詞向量化基礎160

12.2.2詞向量化使用示例161

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

12.3.1“吃貨”的苦惱162

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

12.4小結164

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

13.1建模說明166

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

13.1.2建模說明168

13.2數據預處理和分析171

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

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

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

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

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

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

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

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

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

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

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

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

13.6小結191

相關詞條

熱門詞條

聯絡我們