目錄
第1章 大數據與Spark/1
1 1什麼是大數據/1
1 2大數據的來源和數據分析的關鍵要素/2
1 3Spark概述/3
1 4Spark 機器學習庫/4
1 5Spark前景/6
小結/6
第2章 Spark 3 5安裝和開發環境配置/7
2 1Spark的運行模式概述 /7
2 2單機模式下Spark環境安裝與配置/9
2 2 1Java 8安裝/9
2 2 2Scala安裝/12
2 2 3IntelliJ IDEA開發環境安裝/14
2 2 4Scala插件的安裝/15
2 2 5編寫Java程序/18
2 2 6編寫Scala程序/21
2 2 7Spark 3 5單機版安裝/23
2 3wordCount實例/26
2 3 1Spark 3 5實現wordCount/26
2 3 2MapReduce實現wordCount/28
小結/30
第3章 Scala編程基礎/31
3 1基礎語法/31
3 2函數/34
3 3控制語句/36
3 4函數式編程/39
3 5模式匹配/44
3 6類和對象/46
3 7Scala 異常處理/49
3 8Trait(特徵)/51
3 9Scala文件I/O/52
小結/53
第4章 Spark數據結構基礎/54
4 1RDD概述/54
4 1 1常見的轉換算子/55
4 1 2常見的行動算子/59
4 2DataFrame概述/62
4 2 1DataFrame簡介/62
4 2 2DataFrame的特性/63
4 2 3DataFrame與DataSet的差異/64
4 2 4DataFrame的缺點/65
4 3DataFrame工作機制/65
4 3 1DataFrame本質/65
4 3 2寬依賴與窄依賴/65
4 4DataFrame實戰詳解/66
4 4 1創建 DataFrame/66
4 4 2提前計算的cache()方法/69
4 4 3用於列篩選的select()和selectExpr()方法/70
4 4 4DataFrame的收集行collect()方法/71
4 4 5DataFrame計算行數count()方法/72
4 4 6DataFrame限制輸出limit()方法/73
4 4 7除去數據集中重複項的distinct()方法/73
4 4 8過濾數據的filter()方法/74
4 4 9以整體數據為單位操作數據的flatMap()方法/75
4 4 10以單個數據為目標進行操作的map()方法/75
4 4 11分組數據的groupBy()和agg()方法/76
4 4 12刪除數據集中某列的drop()方法/77
4 4 13隨機採樣方法和隨機劃分方法/77
4 4 14排序類型操作的sort()和orderBy()方法/79
4 4 15DataFrame和DataSet以及RDD之間的相互轉換/80
小結/80
第5章 Spark機器學習基礎/81
5 1機器學習概述/81
5 1 1機器學習介紹/81
5 1 2機器學習架構和分類/82
5 2ML基本數據類型/85
5 2 1數據類型/85
5 2 2機器學習工作流程之管道技術/86
5 2 3管道中的主要概念/86
5 3ML數學基礎/87
5 3 1統計指標/87
5 3 2統計量基本數據/87
5 3 3距離計算/89
5 3 4兩組數據相關係數計算/90
5 3 5分層抽樣/93
5 3 6假設檢驗/94
5 3 7隨機數/96
小結/96
第6章 線性回歸及應用/97
6 1線性回歸理論/97
6 2回歸算法的評價指標/99
6 3梯度下降算法/99
6 3 1算法理解/100
6 3 2SGD算法理論/101
6 3 3SGD算法實戰/101
6 4過擬合/102
6 4 1過擬合產生的原因/103
6 4 2常見線性回歸正則化方法/103
6 5線性回歸實戰/104
6 5 1線性回歸程序/104
6 5 2廣義線性回歸/106
小結/108第7章 分類算法及應用/109
7 1邏輯回歸理論與應用/109
7 1 1算法理論知識/109
7 1 2二分類算法實戰/110
7 1 3多分類算法實戰/112
7 2SVM理論及應用/115
7 2 1算法理論知識/115
7 2 2SVM算法實戰/117
7 3樸素貝葉斯分類及應用/120
7 3 1算法理論/120
7 3 2樸素貝葉斯實戰應用/121
7 4決策樹分類及應用/124
7 4 1算法理論/124
7 4 2ID3算法基礎/125
7 4 3決策樹算法實戰/128
小結/131
第8章 數據降維及應用/132
8 1數據降維概述/132
8 2PCA降維算法/133
8 2 1PCA算法理論/133
8 2 2PCA算法實戰/135
8 3SVD算法/136
8 3 1SVD理論/136
8 3 2SVD實戰應用/137
小結/138
第9章 聚類算法及應用/139
9 1聚類理論基礎/139
9 2Kmeans算法基礎及應用/140
9 2 1Kmeans算法理論/140
9 2 2Kmeans算法實戰/141
9 3高斯混合聚類/143
9 3 1高斯聚類理論/143
9 3 2高斯混合聚類應用/145
9 4快速迭代聚類/146
9 4 1快速迭代聚類理論基礎/146
9 4 2PIC實戰/146
小結/148
第10章 關聯規則挖掘算法及應用/149
10 1關聯規則挖掘算法理論/149
10 1 1大數據關聯規則挖掘常識/149
10 1 2經典的Apriori算法/150
10 1 3FPgrowth算法/151
10 2關聯規則挖掘算法實戰/153
小結/155
第11章 文本分類項目實戰/156
11 1詞向量化技術/156
11 1 1文本向量化理論/156
11 1 2Word2Vec詞向量化實例/158
11 2多層感知器/159
11 3文本分類實戰/160
小結/162
第12章 電影分析項目實戰 /163
12 1項目介紹/163
12 1 1數據集介紹/163
12 1 2需求分析/164
12 2數據統計分析模塊實現/164
12 2 1公共代碼開發/164
12 2 2需求1實現及結果/167
12 2 3需求2實現及結果/170
12 2 4需求3實現及結果/173
12 3機器學習影片推薦模塊實現/175
12 3 1協同過濾概述/176
12 3 2關於物品間相似度計算/177
12 3 3關於ALS算法中的最小二乘法/178
12 3 4基於ALS算法影片推薦實戰/178
小結/183
前言/序言
隨著大數據技術的飛速發展和廣泛應用,利用大數據進行高效的機器學習已成為當今數據科學領域的熱點話題。Apache Spark作為一款優秀的通用大數據框架,因強大的數據處理能力和便捷的編程接口受到極大的關注和應用。本書旨在為讀者提供一套系統而實用的學習指南,幫助讀者掌握Spark在機器學習中的應用,重點掌握基於Spark ML和Scala語言的機器學習算法實戰應用。
本書是一本面向廣大數據科學愛好者、工程師和研究人員的既有一定理論深度又有實踐指導的教材。通過學習本書,讀者不僅可以深入理解Spark的數據結構和編程基礎,還能學會利用Spark進行高效的機器學習模型構建和應用。本書不僅配套了較豐富的實戰案例,並為案例提供了詳細的操作步驟,而且配套了源代碼和PPT等。本書可作為從事大數據分析和人工智能工作的工程師的參考用書,也可作為高等學校計算機科學與技術、軟件工程、數據科學與大數據技術、智能科學與技術、人工智能等專業的大數據課程教材。
全書基於目前新版本的Spark框架展開,內容包括機器學習準備、機器學習核心應用、綜合項目提升三部分。首先是機器學習準備部分,包括第1~4章,分別介紹了大數據與Spark的基礎知識、Spark的安裝和開發環境配置、Scala編程基礎、Spark數據結構基礎。然後是機器學習核心應用部分,包括第5~10章,分別介紹了Spark機器學習基礎、線性回歸及應用、分類算法及應用、數據降維及應用、聚類算法及應用、關聯規則挖掘算法及應用。最後的綜合項目提升部分包括第10、11兩章,分別通過綜合實戰項目案例進行鞏固提升。
本書具有以下特點。
(1) 本書基於Spark ML和Scala語言編寫機器學習經典算法,環境搭建步驟清晰、簡潔,易於上手,重點放在機器學習算法理解和應用上,而不在環境搭建上花費過多時間。
(2) 本書重視理論與實踐相結合,重點關注實戰應用。本書核心部分在於機器學習算法講解和實戰應用,配套了較豐富的實戰案例,並為案例提供了詳細的操作步驟。主要內容包括框架搭建和開發環境安裝、各種算法經典案例引入、算法原理講解、綜合項目實戰提升等,並將實戰與理論知識相結合,加深讀者對理論的理解。
(3) 本書以應用型人才培養為目標,適合工程技術人員快速掌握機器學習實戰技能。基於Spark ML和Scala語言,讀者可以學習建立大數據環境下的機器學習工程化思維,在不必深究算法細節 的前提下實現大數據分類、聚類、回歸、協同過濾、關聯規則、降維等算法,最後通過綜合實戰項目案例鞏固提升。
(4) 本書基於Spark較新且穩定的版本展開,符合企業目前主流開發需要。在配套支持上,提供每章 案例源碼,並提供配套的PPT、項目代碼等,滿足教師開展大數據技術、人工智能相關課程的教學需要。讀者可在清華大學出版社官方網站下載。
本書由遲殿委、侯愛玲共同編寫。其中,遲殿委主導設計本書的整體結構和項目案例編寫了第1~11章 和各章 項目案例,並統稿,侯愛玲參與編寫了第1~4章 。在編寫過程中,部分內容參考了Apache Spark官方文檔中機器學習的Spark ML部分,吸取了國內外教材的精髓,在此對這些作者的貢獻表示由衷的感謝。本書在出版過程中,得到了清華大學出版社的大力支持,在此表示誠摯的感謝。
由於作者水平有限,書中難免有不妥和疏漏之處,懇請各位專家和讀者不吝賜教和批評指正,並與作者討論。
2024年7月於煙臺
詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於客服中心或Line或本社留言板留言,我們即儘速上架。