Spark機器學習實戰(簡體書)
- ISBN13:9787115541420
- 出版社:人民郵電出版社
- 作者:(美)西亞瑪克‧阿米爾霍吉
- 譯者:陸靖橋
- 裝訂/頁數:平裝/520頁
- 規格:24cm*17cm (高/寬)
- 版次:一版
- 出版日:2022/08/01
商品簡介
本書提供了Apache Spark機器學習API的全面解決方案,不僅介紹了用Spark完成機器學習任務所需的基礎知識,也涉及一些Spark機器學習的高級技能。全書共有13章,從環境配置講起,陸續介紹了線性代數庫、數據處理機制、構建機器學習系統的常見攻略、回歸和分類、用Spark實現推薦引擎、無監督學習、梯度下降算法、決策樹和集成模型、數據降維、文本分析和Spark Steaming的使用。
本書是為那些掌握了機器學習技術的Scala開發人員準備的,尤其適合缺乏Spark實踐經驗的讀者。本書假定讀者已經掌握機器學習算法的基礎知識,並且具有使用Scala實現機器學習算法的一些實踐經驗。但不要求讀者提前瞭解Spark ML庫及其生態系統。
目次
1.1 引言 1
1.1.1 Apache Spark 2
1.1.2 機器學習 3
1.1.3 Scala 4
1.1.4 本書的軟件版本和使用的
類庫 5
1.2 下載和安裝JDK 6
1.2.1 準備工作 6
1.2.2 操作步驟 6
1.3 下載和安裝IntelliJ 6
1.3.1 準備工作 7
1.3.2 操作步驟 7
1.4 下載和安裝Spark 7
1.4.1 準備工作 7
1.4.2 操作步驟 7
1.5 用IntelliJ配置Spark 8
1.5.1 準備工作 8
1.5.2 操作步驟 8
1.5.3 更多 19
1.5.4 參考資料 19
1.6 運行Spark機器學習示例代碼 20
1.6.1 準備工作 20
1.6.2 操作步驟 20
1.7 獲取機器學習實戰所需的數據源 22
1.7.1 準備工作 22
1.7.2 操作步驟 22
1.7.3 更多 23
1.8 用IntelliJ IDE運行第 一個Apache Spark 2.0程序 25
1.8.1 操作步驟 25
1.8.2 工作原理 31
1.8.3 更多 31
1.8.4 參考資料 32
1.9 在Spark程序中添加圖表 32
1.9.1 操作步驟 32
1.9.2 工作原理 36
1.9.3 更多 37
1.9.4 參考資料 37
第 2章 Spark機器學習中的線性代數庫 38
2.1 引言 38
2.2 Vector和Matrix的包引入和初始化設置 40
2.2.1 操作步驟 40
2.2.2 更多 41
2.2.3 參考資料 42
2.3 用Spark 2.0創建和配置DenseVector 42
2.3.1 操作步驟 43
2.3.2 工作原理 43
2.3.3 更多 44
2.3.4 參考資料 45
2.4 用Spark 2.0創建和配置SparseVector 45
2.4.1 操作步驟 45
2.4.2 工作原理 47
2.4.3 更多 48
2.4.4 參考資料 48
2.5 用Spark 2.0創建和配置DenseMatrix 48
2.5.1 操作步驟 49
2.5.2 工作原理 50
2.5.3 更多 52
2.5.4 參考資料 52
2.6 用Spark 2.0的本地SparseMatrix 52
2.6.1 操作步驟 53
2.6.2 工作原理 55
2.6.3 更多 56
2.6.4 參考資料 57
2.7 用Spark 2.0進行Vector運算 57
2.7.1 操作步驟 57
2.7.2 工作原理 59
2.7.3 更多 60
2.7.4 參考資料 61
2.8 用Spark 2.0進行Matrix運算 61
2.8.1 操作步驟 61
2.8.2 工作原理 64
2.9 研究Spark 2.0分布式RowMatrix 66
2.9.1 操作步驟 67
2.9.2 工作原理 70
2.9.3 更多 71
2.9.4 參考資料 72
2.10 研究Spark 2.0分布式IndexedRowMatrix 72
2.10.1 操作步驟 72
2.10.2 工作原理 74
2.10.3 參考資料 75
2.11 研究Spark 2.0分布式CoordinateMatrix 75
2.11.1 操作步驟 75
2.11.2 工作原理 76
2.11.3 參考資料 77
2.12 研究Spark 2.0分布式BlockMatrix 77
2.12.1 操作步驟 78
2.12.2 工作原理 79
2.12.3 參考資料 79
第3章 Spark機器學習的三劍客 80
3.1 引言 81
3.1.1 RDD― 一切是從什麼開始 81
3.1.2 DataFrame―使用高級API統一API和SQL的自然演變 82
3.1.3 Dataset― 一個高級的統一數據API 83
3.2 用Spark 2.0的內部數據源創建RDD 85
3.2.1 操作步驟 86
3.2.2 工作原理 88
3.3 用Spark 2.0的外部數據源創建RDD 88
3.3.1 操作步驟 88
3.3.2 工作原理 90
3.3.3 更多 90
3.3.4 參考資料 91
3.4 用Spark 2.0的filter() API轉換RDD 92
3.4.1 操作步驟 92
3.4.2 工作原理 95
3.4.3 更多 95
3.4.4 參考資料 95
3.5 用flatMap() API轉換RDD 96
3.5.1 操作步驟 96
3.5.2 工作原理 98
3.5.3 更多 98
3.5.4 參考資料 99
3.6 用集合操作API轉換RDD 99
3.6.1 操作步驟 99
3.6.2 工作原理 101
3.6.3 參考資料 101
3.7 用groupBy()和reduceByKey()函數對RDD轉換/聚合 102
3.7.1 操作步驟 102
3.7.2 工作原理 104
3.7.3 更多 104
3.7.4 參考資料 105
3.8 用zip() API轉換RDD 105
3.8.1 操作步驟 105
3.8.2 工作原理 107
3.8.3 參考資料 107
3.9 用paired鍵值RDD進行關聯轉換 107
3.9.1 操作步驟 107
3.9.2 工作原理 110
3.9.3 更多 110
3.10 用paired鍵值RDD進行匯總和分組轉換 110
3.10.1 操作步驟 110
3.10.2 工作原理 112
3.10.3 參考資料 112
3.11 根據Scala數據結構創建DataFrame 112
3.11.1 操作步驟 113
3.11.2 工作原理 115
3.11.3 更多 115
3.11.4 參考資料 116
3.12 不使用SQL方式創建DataFrame 116
3.12.1 操作步驟 116
3.12.2 工作原理 120
3.12.3 更多 121
3.12.4 參考資料 121
3.13 根據外部源加載DataFrame和配置 121
3.13.1 操作步驟 121
3.13.2 工作原理 125
3.13.3 更多 125
3.13.4 參考資料 125
3.14 用標準SQL語言(即SparkSQL)創建DataFrame 126
3.14.1 操作步驟 126
3.14.2 工作原理 130
3.14.3 更多 130
3.14.4 參考資料 131
3.15 用Scala序列處理Dataset API 132
3.15.1 操作步驟 132
3.15.2 工作原理 135
3.15.3 更多 135
3.15.4 參考資料 135
3.16 根據RDD創建和使用Dataset,再反向操作 136
3.16.1 操作步驟 136
3.16.2 工作原理 140
3.16.3 更多 140
3.16.4 參考資料 140
3.17 用Dataset API和SQL一起處理JSON 140
3.17.1 操作步驟 141
3.17.2 工作原理 144
3.17.3 更多 144
3.17.4 參考資料 144
3.18 用領域對象對Dataset API進行函數式編程 145
3.18.1 操作步驟 145
3.18.2 工作原理 148
3.18.3 更多 149
3.18.4 參考資料 149
第4章 構建一個穩健的機器學習系統的常用攻略 150
4.1 引言 151
4.2 借助Spark的基本統計API構建屬�自己的算法 151
4.2.1 操作步驟 151
4.2.2 工作原理 153
4.2.3 更多 153
4.2.4 參考資料 154
4.3 用於真實機器學習應用的ML管道 154
4.3.1 操作步驟 154
4.3.2 工作原理 156
4.3.3 更多 157
4.3.4參考資料 157
4.4 用Spark標準化數據 157
4.4.1 操作步驟 158
4.4.2 工作原理 160
4.4.3 更多 160
4.4.4 參考資料 161
4.5 將數據劃分為訓練集和測試集 161
4.5.1 操作步驟 161
4.5.2 工作原理 163
4.5.3 更多 163
4.5.4 參考資料 163
4.6 新Dataset API的常見操作 163
4.6.1 操作步驟 163
4.6.2 工作原理 166
4.6.3 更多 166
4.6.4 參考資料 167
4.7 在Spark 2.0中從文本文件創建和使用RDD、DataFrame和Dataset 167
4.7.1 操作步驟 167
4.7.2 工作原理 170
4.7.3 更多 170
4.7.4 參考資料 171
4.8 Spark ML的LabeledPoint數據結構 171
4.8.1 操作步驟 171
4.8.2 工作原理 173
4.8.3 更多 173
4.8.4 參考資料 174
4.9 用Spark 2.0訪問Spark集群 174
4.9.1 操作步驟 174
4.9.2 工作原理 176
4.9.3 更多 176
4.9.4 參考資料 177
4.10 用Spark 2.0之前的版本訪問Spark集群 178
4.10.1 操作步驟 178
4.10.2 工作原理 180
4.10.3 更多 180
4.10.4 參考資料 180
4.11 在Spark 2.0中使用SparkSession對象訪問SparkContext 180
4.11.1 操作步驟 181
4.11.2 工作原理 184
4.11.3 更多 184
4.11.4 參考資料 184
4.12 Spark 2.0中的新模型導出及PMML標記 185
4.12.1 操作步驟 185
4.12.2 工作原理 188
4.12.3 更多 188
4.12.4 參考資料 189
4.13 用Spark 2.0進行回歸模型評估 189
4.13.1 操作步驟 189
4.13.2 工作原理 191
4.13.3 更多 191
4.13.4 參考資料 192
4.14 用Spark 2.0進行二分類模型評估 192
4.14.1 操作步驟 192
4.14.2 工作原理 196
4.14.3 更多 196
4.14.4 參考資料 196
4.15 用Spark 2.0進行多類分類模型評估 197
4.15.1 操作步驟 197
4.15.2 工作原理 200
4.15.3 更多 200
4.15.4 參考資料 201
4.16 用Spark 2.0進行多標簽分類模型評估 201
4.16.1 操作步驟 201
4.16.2 工作原理 203
4.16.3 更多 203
4.16.4 參考資料 204
4.17 在Spark 2.0中使用Scala Breeze庫處理圖像 204
4.17.1 操作步驟 204
4.17.2 工作原理 207
4.17.3 更多 207
4.17.4 參考資料 208
第5章 使用Spark 2.0實踐機器學習中的回歸和分類――第 一部分 209
5.1 引言 209
5.2 用傳統方式擬合一條線性回歸直線 211
5.2.1 操作步驟 211
5.2.2 工作原理 214
5.2.3更多 215
5.2.4 參考資料 215
5.3 Spark 2.0中的廣義線性回歸 216
5.3.1 操作步驟 216
5.3.2 工作原理 219
5.3.3 更多 219
5.3.4 參考資料 220
5.4 Spark 2.0中Lasso和L-BFGS的線性回歸API 221
5.4.1 操作步驟 221
5.4.2 工作原理 224
5.4.3 更多 225
5.4.4 參考資料 225
5.5 Spark 2.0中Lasso和自動優化選擇的線性回歸API 226
5.5.1 操作步驟 226
5.5.2 工作原理 229
5.5.3 更多 229
5.5.4 參考資料 230
5.6 Spark 2.0中嶺回歸和自動優化選擇的線性回歸API 230
5.6.1 操作步驟 230
5.6.2 工作原理 233
5.6.3 更多 233
5.6.4 參考資料 233
5.7 Spark 2.0中的保序回歸 233
5.7.1 操作步驟 234
5.7.2 工作原理 236
5.7.3 更多 237
5.7.4 參考資料237
5.8 Spark 2.0中的多層感知機分類器 238
5.8.1 操作步驟 238
5.8.2 工作原理 241
5.8.3 更多 242
5.8.4 參考資料 243
5.9 Spark 2.0中的一對多分類器 244
5.9.1 操作步驟 244
5.9.2 工作原理 247
5.9.3 更多 247
5.9.4 參考資料 248
5.10 Spark 2.0中的生存回歸―參數化的加速失效時間模型 248
5.10.1 操作步驟 249
5.10.2 工作原理 252
5.10.3 更多 253
5.10.4 參考資料 254
第6章 用Spark 2.0實踐機器學習中的回歸和分類――第二部分 255
6.1 引言 255
6.2 Spark 2.0使用SGD優化的線性回歸 257
6.2.1 操作步驟 257
6.2.2 工作原理 260
6.2.3 更多 261
6.2.4 參考資料 261
6.3 Spark 2.0使用SGD優化的邏輯回歸 262
6.3.1 操作步驟 262
6.3.2 工作原理 266
6.3.3 更多 267
6.3.4 參考資料 268
6.4 Spark 2.0使用SGD優化的嶺回歸 268
6.4.1 操作步驟 268
6.4.2 工作原理 272
6.4.3 更多 273
6.4.4 參考資料 274
6.5 Spark 2.0使用SGD優化的Lasso回歸 274
6.5.1 操作步驟 274
6.5.2 工作原理 277
6.5.3 更多 278
6.5.4 參考資料 279
6.6 Spark 2.0使用L-BFGS優化的邏輯回歸 279
6.6.1 操作步驟 279
6.6.2 工作原理 282
6.6.3 更多 283
6.6.4 參考資料 283
6.7 Spark 2.0的支持向量機(SVM) 283
6.7.1 操作步驟 284
6.7.2 工作原理 287
6.7.3 更多 288
6.7.4 參考資料 289
6.8 Spark 2.0使用MLlib庫的樸素貝葉斯分類器 289
6.8.1 操作步驟 289
6.8.2 工作原理 294
6.8.3 更多 294
6.8.4 參考資料 294
6.9 Spark 2.0使用邏輯回歸研究ML管道和DataFrame 295
6.9.1 操作步驟 295
6.9.2 工作原理 302
6.9.3 更多 302
6.9.4 參考資料 303
第7章 使用Spark實現大規模的推薦引擎 304
7.1 引言 304
7.1.1 內容過濾 306
7.1.2 協同過濾 306
7.1.3 近鄰方法 306
7.1.4 隱因子模型技術 306
7.2 用Spark 2.0生成可擴展推薦引擎所需的數據 307
7.2.1 操作步驟 307
7.2.2 工作原理 308
7.2.3 更多 308
7.2.4 參考資料 309
7.3 用Spark 2.0研究推薦系統的電影數據 309
7.3.1 操作步驟 310
7.3.2 工作原理 313
7.3.3 更多 313
7.3.4 參考資料 313
7.4 用Spark 2.0研究推薦系統的評分數據 314
7.4.1 操作步驟 314
7.4.2 工作原理 317
7.4.3 更多 318
7.4.4 參考資料 318
7.5 用Spark 2.0和協同過濾構建可擴展的推薦引擎 318
7.5.1 操作步驟 318
7.5.2 工作原理 324
7.5.3 更多 326
7.5.4 參考資料 327
7.5.5 在訓練過程中處理隱式的輸入數據 327
第8章 Spark 2.0的無監督聚類算法 329
8.1 引言 329
8.2 用Spark 2.0構建KMeans分類系統 331
8.2.1 操作步驟 331
8.2.2 工作原理 334
8.2.3 更多 337
8.2.4 參考資料 337
8.3 介紹Spark 2.0中的新算法,二分KMeans 337
8.3.1 操作步驟 338
8.3.2 工作原理 342
8.3.3 更多 342
8.3.4 參考資料 343
8.4 在Spark 2.0中使用高斯混合和期望最大化(EM)對數據分類 343
8.4.1 操作步驟 343
8.4.2 工作原理 347
8.4.3 更多 348
8.4.4 參考資料 349
8.5 在Spark 2.0中使用冪迭代聚類(PIC)對圖中節點進行分類 349
8.5.1 操作步驟 349
8.5.2 工作原理 352
8.5.3 更多 353
8.5.4 參考資料 353
8.6 用隱狄利克雷分佈(LDA)將文檔和文本劃分為不同主題 353
8.6.1 操作步驟 354
8.6.2 工作原理 357
8.6.3 更多 358
8.6.4 參考資料 359
8.7 用Streaming KMeans實現近實時的數據分類 359
8.7.1 操作步驟 359
8.7.2 工作原理 363
8.7.3 更多 364
8.7.4 參考資料 365
第9章 最優化――用梯度下降法尋找最小值 366
9.1 引言 366
9.2 優化二次損失函數,使用數學方法尋找最小值進行分析 369
9.2.1 操作步驟 369
9.2.2 工作原理 372
9.2.3 更多 372
9.2.4 參考資料 372
9.3 用梯度下降法(GD)編碼實現二次損失函數的優化過程 373
9.3.1 操作步驟 374
9.3.2 工作原理 377
9.3.3 更多 380
9.3.4 參考資料 382
9.4 用梯度下降優化算法解決線性回歸問題 383
9.4.1 操作步驟 383
9.4.2 工作原理 391
9.4.3 更多 393
9.4.4 參考資料 393
9.5 在Spark 2.0中使用正規方程法解決線性回歸問題 393
9.5.1 操作步驟 394
9.5.2 工作原理 396
9.5.3 更多 396
9.5.4 參考資料 396
第 10章 使用決策樹和集成模型構建機器學習系統 397
10.1 引言 397
10.1.1 集成方法 399
10.1.2 不純度的度量 401
10.2 獲取和預處理實際的醫療數據,在Spark 2.0中研究決策樹和集成模型 404
10.2.1 操作步驟 404
10.2.2 工作原理 406
10.3 用Spark 2.0的決策樹構建分類系統 406
10.3.1 操作步驟 407
10.3.2 工作原理 411
10.3.3 更多 411
10.3.4 參考資料 412
10.4 用Spark 2.0的決策樹解決回歸問題 412
10.4.1 操作步驟 412
10.4.2 工作原理 416
10.4.3 參考資料 417
10.5 用Spark 2.0的隨機森林構建分類系統 417
10.5.1 操作步驟 417
10.5.2 工作原理 420
10.5.3 參考資料 421
10.6 用Spark 2.0的隨機森林解決回歸問題 421
10.6.1 操作步驟 421
10.6.2 工作原理 425
10.6.3 參考資料 425
10.7 用Spark 2.0的梯度提升樹(GBR)構建分類系統 425
10.7.1 操作步驟 425
10.7.2 工作原理 428
10.7.3 更多 429
10.7.4 參考資料 429
10.8 用Spark 2.0的梯度提升樹(GBT)解決回歸問題 429
10.8.1 操作步驟 429
10.8.2 工作原理 432
10.8.3 更多 433
10.8.4 參考資料 433
第 11章 大數據中的高維災難 434
11.1 引言 434
11.2 Spark提取和準備CSV文件的2種處理方法 438
11.2.1 操作步驟 438
11.2.2 工作原理 441
11.2.3 更多 442
11.2.4 參考資料 442
11.3 Spark使用奇異值分解(SVD)對高維數據降維 442
11.3.1 操作步驟 443
11.3.2 工作原理 448
11.3.3 更多 449
11.3.4 參考資料 450
11.4 Spark使用主成分分析(PCA)為機器學習挑選最有效的
潛在因子 450
11.4.1 操作步驟 451
11.4.2 工作原理 455
11.4.3 更多 458
11.4.4 參考資料 458
第 12章 使用Spark 2.0 ML庫實現文本分析 459
12.1 引言 459
12.2 用Spark統計詞頻 462
12.2.1 操作步驟 462
12.2.2 工作原理 465
12.2.3 更多 465
12.2.4 參考資料 465
12.3 用Spark和Word2Vec查找相似詞 465
12.3.1 操作步驟 466
12.3.2 工作原理 468
12.3.3 更多 468
12.3.4 參考資料 469
12.4 構建真實的Spark機器學習項目 469
12.4.1 操作步驟 469
12.4.2 更多 471
12.4.3 參考資料 471
12.5 用Spark 2.0和潛在語義分析實現文本分析 472
12.5.1 操作步驟 472
12.5.2 工作原理 476
12.5.3 更多 476
12.5.4 參考資料 477
12.6 用Spark 2.0和潛在狄利克雷實現主題模型 477
12.6.1 操作步驟 477
12.6.2 工作原理 481
12.6.3 更多 481
12.6.4 參考資料 482
第 13章 Spark Streaming和機器學習庫 483
13.1 引言 483
13.2 用於近實時機器學習的structured streaming 487
13.2.1 操作步驟 487
13.2.2 工作原理 490
13.2.3 更多 491
13.2.4 參考資料 491
13.3 用於實時機器學習的流式DataFrame 492
13.3.1 操作步驟 492
13.3.2 工作原理 494
13.3.3 更多 494
13.3.4 參考資料 494
13.4 用於實時機器學習的流式Dataset 494
13.4.1 操作步驟 495
13.4.2 工作原理 497
13.4.3 更多 497
13.4.4 參考資料 498
13.5 流式數據和用於調試的queueStream 498
13.5.1 操作步驟 498
13.5.2 工作原理 501
13.5.3 參考資料 502
13.6 下載並熟悉著名的Iris數據,用於無監督分類 502
13.6.1 操作步驟 502
13.6.2 工作原理 503
13.6.3 更多 503
13.6.4 參考資料 504
13.7 用於實時在線分類器的流式KMeans 504
13.7.1 操作步驟 504
13.7.2 工作原理 508
13.7.3 更多 508
13.7.4 參考資料 508
13.8 下載葡萄酒質量數據,用於流式回歸 509
13.8.1 操作步驟 509
13.8.2 工作原理 509
13.8.3 更多 510
13.9 用於實時回歸的流式線性回歸 510
13.9.1 操作步驟 510
13.9.2 參考資料 514
13.9.3 更多 514
13.9.4 參考資料 514
13.10 下載Pima糖尿病數據,用於監督分類 514
13.10.1 操作步驟 515
13.10.2 工作原理 515
13.10.3 更多 516
13.10.4 參考資料 516
13.11 用於在線分類器的流式邏輯回歸 516
13.11.1 操作步驟 516
13.11.2 工作原理 519
13.11.3 更多 520
13.11.4 參考資料 520
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。