發表於2024-11-17
本書係統、全麵、深入地解析瞭SparkMLlib機器學習的相關知識,著力於探索分布式機器學習的底層實現。
以源碼為基礎,兼顧算法、理論與實戰,幫助讀者在實際工作中進行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愛好者,緻力於分布式機器學習的研究與應用,現從事移動互聯網的計算廣告和數據變現工作,專注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
機器學習是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算復雜性理論等多門學科,其中大部分理論來源於18、19世紀,例如貝葉斯定理,是18世紀英國數學傢托馬斯·貝葉斯(Thomas Bayes)提齣的重要概率論理論;而21世紀則側重於如何將機器學習理論運用在工業化中,幫助改進性能及提升其效率。
機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的算法。機器學習算法是一類從數據中自動分析獲得規律,並利用規律對未知數據進行預測的算法。在算法設計方麵,機器學習理論關注可以實現的、行之有效的學習算法;機器學習研究的不是求解精確的結果,而是研究開發容易處理的近似求解算法。尤其是在21世紀,知識和數據量爆發的時代,機器學習麵臨大數據的求解難題。
隨著數據量的增加,從傳統的單機計算發展到大規模的集群計算,以至發展到今天的一種大規模、快速計算的集群平颱—Apache Spark。Spark是一個開源集群運算框架,最初由加州大學伯剋利分校AMP實驗室開發。相對於Hadoop的MapReduce會在執行完工作後將中介資料存放到磁盤中,Spark使用瞭內存內運算技術,能在資料尚未寫入硬盤時即在內存內分析運算。Spark在內存上的運算速度比Hadoop MapReduce的運算速度快100倍,即便是在磁盤上運行也能快10倍。Spark允許將數據加載至集群內存,並多次對其進行查詢,非常適閤用於機器學習算法。
本書側重講解Spark MLlib模塊。Spark MLlib是一種高效、快速、可擴展的分布式計算框架,實現瞭常用的機器學習,如聚類、分類、迴歸等算法。本文循序漸進,從Spark的基礎知識、矩陣嚮量的基礎知識開始,然後再講解各種算法的理論知識,以及Spark源碼實現和實例實戰,幫助讀者從基礎到實踐全麵掌握Spark MLlib分布式機器學習。
學習本書需要的基礎知識包括:Spark基礎入門、Scala入門、綫性代數基礎知識。
本書麵嚮的讀者:Spark開發者、大數據工程師、數據挖掘工程師、機器學習工程師、研究生和高年級本科生等。
在本書的編寫過程中,何娟、何丹、王濛、葉月媚參與瞭全書的編寫、整理及校對工作,劉程輝、李俊、廖宏參與瞭Spark集群運維和第2章數據操作的實例部分工作,劉曉宏、方佳武、於善龍參與瞭全書的實例部分工作。
本書在寫作的過程中,得到瞭很多朋友及同事的幫助和支持,在此錶示衷心感謝!
感謝久邦數碼大數據團隊的同事們。在兩年的工作中,筆者得到瞭很多同事的指導、支持和幫助,尤其感謝楊樹清、周小平、梁寜、劉程輝、劉曉宏、方佳武、於善龍、王濛、葉月媚、廖宏、譚釗承、吳夢玲、鄒桂芳、曹越等。
感謝電子工業齣版社的付睿編輯,她不僅積極策劃和推動本書的齣版,而且在寫作過程中還給齣瞭極為詳細的改進意見。感謝電子工業齣版社的李雲靜編輯為本書做瞭非常辛苦和專業的編輯工作。
感謝我的父母和妻子,有瞭你們的幫助和支持,我纔有時間和精力去完成寫作。
謹以此書獻給熱愛大數據技術的朋友們!
Spark MLlib機器學習:算法、源碼及實戰詳解 下載 mobi pdf epub txt 電子書 格式 2024
Spark MLlib機器學習:算法、源碼及實戰詳解 下載 mobi epub pdf 電子書看評價這個書不錯,還沒來得及讀,感覺印刷質量挺好的。
評分多看看學習下,還沒看,從目錄來說內容比較偏理論
評分內容是基於scala語言的,要是Python就更好瞭
評分讓他一人頭一天容易投入 優惠價同意價格環境規劃
評分老公看的,不知道怎麼樣!
評分送貨速度很快,質量不錯。棒棒噠。
評分建議還是有算法基礎的再買
評分雖然有些最新的特性書中有些遺漏,但是書對於重點講解得深入、透徹,搭配圖更加直觀,還是一本很推薦的書
評分一次性買瞭4本書,相信京東,現在已著手看瞭,希望裏麵內容能對自己有很大幫助!
Spark MLlib機器學習:算法、源碼及實戰詳解 mobi epub pdf txt 電子書 格式下載 2024