TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Spark機器學習實戰(簡體書)
滿額折

Spark機器學習實戰(簡體書)

人民幣定價:128 元
定  價:NT$ 768 元
優惠價:87668
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:20 點
相關商品
商品簡介
目次

商品簡介

機器學習是一門多領域交叉學科,可以通過模擬來讓計算機獲取新的知識或技能。Apache Spark是一種通用大數據框架,也是一種近實時彈性分布式計算和數據虛擬化技術,Spark使人們可以大規模使用機器學習技術,而無須在專用數據中心或硬件上進行大量投資。
本書提供了Apache Spark機器學習API的全面解決方案,不僅介紹了用Spark完成機器學習任務所需的基礎知識,也涉及一些Spark機器學習的高級技能。全書共有13章,從環境配置講起,陸續介紹了線性代數庫、數據處理機制、構建機器學習系統的常見攻略、回歸和分類、用Spark實現推薦引擎、無監督學習、梯度下降算法、決策樹和集成模型、數據降維、文本分析和Spark Steaming的使用。
本書是為那些掌握了機器學習技術的Scala開發人員準備的,尤其適合缺乏Spark實踐經驗的讀者。本書假定讀者已經掌握機器學習算法的基礎知識,並且具有使用Scala實現機器學習算法的一些實踐經驗。但不要求讀者提前瞭解Spark ML庫及其生態系統。

目次

第 1章 Scala和Spark的機器學習實戰 1

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

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 668
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區