Scala機器學習:構建現實世界機器學習和深度學習項目 Scala Machine Learning Projects: Build real-world machine learning and deep learning projects with Scala

[德]雷祖爾•卡里姆

買這商品的人也買了...

商品描述

本書通過“保險賠償程度分析”“電信客戶流失分析與預測”“基於歷史和實時數據預測高頻比特幣價格”“人口規模聚類與民族預測”“主題建模:更好地洞察大型文本”“開發基於模型的電影推薦引擎”“使用 Q-learning和Scala Play框架進行期權交易”“使用深度神經網絡進行銀行電話營銷的客戶訂購評估”“使用自動編碼器和異常檢測進行欺詐分析”“使用遞歸神經網絡識別人類活動”和“使用卷積神經網絡進行圖像分類”等11個完整的項目,結合Spark ML、H2O、Zeppelin、DeepLearning4j和MXNet等流行機器學習庫以及一些經典數據集為讀者介紹了機器學習項目的詳細開發流程。
本書主要針對數據分析師、深度學習愛好者和開發人員,他們雖具有一定的背景知識,但是對於實際項目的開發過程接觸得不多。通過本書的學習,讀者不僅可以清楚地瞭解到實際項目的開發流程,而且可以對目前流行的機器學習算法、機器學習庫、經典數據集、Scala函數式編程概念和Maven、SBT等構建工具等內容有更深入的認識,並能夠在生產就緒環境中開發,構建和部署研究機器學習項目。

目錄大綱

譯者序
原書前言
第 1章 保險賠償程度分析 // 1
1.1 機器學習和學習過程 //1
1.1.1 典型的機器學習工作過程 // 2
1.2 超參數調整和交叉驗證 //4
1.3 分析和預測保險賠償程度 //6
1.3.1 動機 // 6
1.3.2 數據集的描述 // 6
1.3.3 對數據集的探索性分析 // 6
1.3.4 數據預處理 // 10
1.4 LR用於預測保險索賠的嚴重性 //13
1.4.1 使用 LR開發保險賠償嚴重性預測模型 // 14
1.5 GBT回歸用於預測保險索賠嚴重性 //18
1.6 使用隨機森林回歸算法提升性能 //23
1.6.1 隨機森林用於分類和回歸 // 23
1.7 比較分析和模型部署 //29
1.7.1 基於 Spark的大規模數據集模型部署 // 33
1.8 小結 //34
第 2章 電信客戶流失分析與預測 // 35
2.1 流失分析的原理以及實現 //35
2.2 流失分析過程 //36
2.2.1 數據集的描述 // 38
2.2.2 探索性分析(EDA)和特徵工程 // 38
2.3 LR用於流失預測 //47
2.4 用於流失預測的 SVM //52
2.5 用於客戶流失預測的 DT //55
2.6 用於預測客戶流失的隨機森林 //61
2.7 選擇要部署的最佳模型 //66
2.8 小結 //68
第 3章 基於歷史和實時數據預測高頻比特幣價格 // 69
3.1 比特幣、加密貨幣和在線交易 //69
3.1.1 最先進的比特幣自動交易 // 71
3.1.2 訓練 // 72
3.1.3 預測 // 72
3.2 原型的高級數據管道 //73
3.3 收集歷史和實時價格數據 //74
3.3.1 歷史數據集 // 74
3.3.2 將歷史數據轉換為時間序列 // 75
3.3.3 通過 Cryptocompare API處理實時數據 // 77
3.4 針對預測的模型訓練 //80
3.5 Web服務: Scala Play //85
3.5.1 通過 Akka Actor實現併發 // 86
3.5.2 Web服務工作流程 // 86
3.6 預測價格並評估模型 //91
3.7 使用 Scala Play框架來演示預測 //92
3.7.1 為何選擇 RESTful架構 // 92
3.7.2 項目結構 // 93
3.7.3 運行 Scala Play Web應用程序 // 95
3.8 小結 //96
第 4章 人口規模聚類與民族預測 // 99
4.1 人口規模聚類和區域民族 //99
4.1.1 針對遺傳變異的機器學習 // 100
4.2 1000基因項目數據集描述 //100
4.3 算法、工具和技術 //102
4.3.1 H2O和 Sparkling Water // 102
4.3.2 ADAM用於大規模基因組數據處理 // 105
4.3.3 無監督機器學習 // 106 4.3.4 K均值的原理 // 107
4.3.5 用於進行地理民族預測的 DNN // 108
4.4 配置編程環境 //110
4.5 數據預處理和特徵工程 //112
4.5.1 模型訓練和超參數調整 // 117
4.5.2 使用隨機森林進行民族預測 // 123
4.6 小結 //126
第 5章 主題建模:更好地洞察大型文本 // 127
5.1 主題建模和文本聚類 //127
5.1.1 LDA算法的工作原理 // 129
5.2 使用 Spark MLlib和 Stanford NLP進行主題建模 //131
5.2.1 實現 // 131
5.3 其他主題模型與 LDA的可擴展性 //139
5.4 部署經過訓練的 LDA模型 //140
5.5 小結 //144
第 6章 開發基於模型的電影推薦引擎 // 145
6.1 推薦系統 //145
6.1.1 協同過濾方法 // 145
6.1.2 效用矩陣 // 147
6.2 基於 Spark的電影推薦系統 //148
6.2.1 針對電影相似性基於商品的協同過濾 // 148
6.2.2 基於 Spark的模型推薦 // 153
6.3 選擇和部署最佳模型 //161
6.4 小結 //164
第 7章 使用 Q -learning和 Scala Play框架進行期權交易 // 165
7.1 強化學習與監督學習和無監督學習 //165
7.1.1 使用強化學習 // 166
7.1.2 強化學習中的符號、策略和效用 // 166
7.2 簡單 Q-learning算法實現 //169
7.2.1 Q-learning算法的組成部分 // 169
7.2.2 QLearning 模型驗證 // 179 7.2.3 使用訓練模型進行預測 // 179
7.3 使用 Q-learning開發期權交易 Web應用程序 //179
7.3.1 問題描述 // 180
7.3.2 實現期權交易 Web應用程序 // 182
7.3.3 評估模型 // 189
7.3.4 將期權交易應用程序封裝為 Scala Web應用程序 // 191
7.3.5 運行和部署說明 // 197
7.3.6 模型部署 // 199
7.4 小結 //199
第 8章 使用深度神經網絡進行銀行電話營銷的客戶訂購評估 // 200
8.1 通過電話營銷進行客戶訂購評估 //200
8.1.1 數據集描述 // 200
8.1.2 安裝 Apache Zeppelin並開始使用 // 202
8.1.3 對數據集的研究與分析 // 204
8.1.4 數字特徵統計 // 214
8.1.5 實施客戶訂購評估模型 // 215
8.1.6 超參數調整和特徵選擇 // 225
8.2 小結 //227
第 9章 使用自動編碼器和異常檢測進行欺詐分析 // 228
9.1 異常值和異常檢測 //228
9.2 自動編碼器和無監督學習 //231
9.2.1 自動編碼器的工作原理 // 231
9.2.2 使用自動編碼器實現高效的數據表示 // 232
9.3 開發欺詐分析模型 //233
9.3.1 數據集的描述和使用線性模型 // 233
9.3.2 問題描述 // 234
9.3.3 準備編程環境 // 234
9.3.4 輔助類和方法 // 254
9.4 超參數調整和特徵選擇 //255
9.5 小結 //256
第 10章 使用遞歸神經網絡識別人類活動 // 258
10.1 使用 RNN //258
10.1.1 上下文信息和 RNN的體系結構 // 258
10.1.2 RNN和長期依賴性問題 // 260
10.1.3 LSTM網絡 // 261
10.2 使用 LSTM模型識別人類活動 //263
10.2.1 數據集的描述 // 263
10.2.2 為 Scala設置和配置 MXNet // 264
10.3 為 HAR實現 LSTM模型 //266
10.4 調整 LSTM超參數和 GRU //281
10.5 小結 //283
第 11章 使用卷積神經網絡進行圖像分類 // 284
11.1 DNN的圖像分類和缺點 //284
11.2 CNN架構 //285
11.2.1 卷積運算 // 286
11.2.2 池化層和填充操作 // 287
11.2.3 DL4j中的卷積和子採樣操作 // 288
11.3 使用 CNN進行大規模圖像分類 //295
11.3.1 問題描述 // 296
11.3.2 圖像數據集的描述 // 296
11.3.3 整個項目的工作流程 // 297
11.3.4 CNN圖像分類的實現 // 298
11.4 調整和優化 CNN超參數 //315
11.5 小結 //316