Python 機器學習項目實戰 Machine Learning Bookcamp: Build a Portfolio of Real-Life Projects

[德]阿列克謝·格裡戈里耶夫(Alexey Grigorev) 著 但波 蔡天一 丁昊 譯

  • Python 機器學習項目實戰-preview-1
  • Python 機器學習項目實戰-preview-2
  • Python 機器學習項目實戰-preview-3
Python 機器學習項目實戰-preview-1

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

商品描述

《Python機器學習項目實戰》引領大家在構建實際項目的過程中,掌握關鍵的機器學習概念!使用機器學習,我們可完成客戶行為分析、價格趨勢預測、風險評估等任務。要想掌握機器學習,需要有優質的範例、清晰的講解和大量的練習。本書完全滿足這三點! 本書展示了現實、實用的機器學習場景,並全面、清晰地介紹了機器學習的關鍵概念。在學習本書的過程中,讀者將會完成一些引人入勝的項目,比如使用線性回歸預測汽車價格,部署客戶流失預測服務等。讀者將**算法,學習在無服務器系統上部署機器學習應用,以及使用Kubernetes和Kubeflow服務模型等重要技術。大家埋頭苦學,親自動手,享受掌握機器學習技能的樂趣! 主要內容 ●收集和清理訓練模型的數據 ●使用流行的Python工具,包括NumPy、Scikit-Learn和TensorFlow ●將機器學習模型部署到生產環境中 閱讀門檻 讀者需要有Python編程技能,不需要具備機器學習知識。

目錄大綱

第1章  機器學習簡介 1

1.1  機器學習 1

1.1.1  機器學習與基於規則的方法 3

1.1.2  當機器學習不起作用時 6

1.1.3  監督機器學習 6

1.2  機器學習過程 7

1.2.1  問題理解 8

1.2.2  數據理解 9

1.2.3  數據準備 9

1.2.4  建模 9

1.2.5  評估 9

1.2.6  部署 10

1.2.7  迭代 10

1.3  建模和模型驗證 10

1.4  本章小結 14

第2章  用於回歸的機器學習 15

2.1  汽車價格預測項目 15

2.2  探索性數據分析 17

2.2.1  探索性數據分析工具箱 17

2.2.2  讀取和準備數據 19

2.2.3  目標變量分析 21

2.2.4  檢查缺失值 23

2.2.5  驗證框架 24

2.3  機器學習之回歸 27

2.3.1  線性回歸 27

2.3.2  訓練線性回歸模型 33

2.4  預測價格 35

2.4.1  基本解決方案 35

2.4.2  RMSE:評估模型質量 37

2.4.3  驗證模型 40

2.4.4  簡單的特徵工程 41

2.4.5  處理分類變量 43

2.4.6  正則化 47

2.4.7  使用模型 50

2.5  後續步驟 51

2.5.1  練習 51

2.5.2  其他項目 52

2.6  本章小結 52

2.7  習題答案 53

第3章  用於分類的機器學習 55

3.1  客戶流失預測項目 55

3.1.1  電信客戶流失數據集 56

3.1.2  初始數據準備 56

3.1.3  探索性數據分析 63

3.1.4  特徵重要性 66

3.2  特徵工程 73

3.3  機器學習之分類 76

3.3.1  邏輯回歸 76

3.3.2  訓練邏輯回歸 79

3.3.3  模型解釋 82

3.3.4  使用模型 88

3.4  後續步驟 90

3.4.1  練習 90

3.4.2  其他項目 90

3.5  本章小結 90

3.6  習題答案 91

第4章  分類的評估指標 93

4.1  評估指標 93

4.1.1  分類準確度 94

4.1.2  虛擬基線 96

4.2  混淆矩陣 97

4.2.1  混淆矩陣介紹 97

4.2.2  用NumPy計算混淆矩陣 99

4.2.3  查準率和查全率 103

4.3  ROC曲線和AUC分數 105

4.3.1  真正例率和假正例率 106

4.3.2  在多個閾值下評估模型 107

4.3.3  隨機基線模型 109

4.3.4  理想模型 111

4.3.5  ROC曲線 114

4.3.6  AUC 118

4.4  參數調優 120

4.4.1  K折交叉驗證 120

4.4.2  尋找最佳參數 122

4.5  後續步驟 124

4.5.1  練習 124

4.5.2  其他項目 125

4.6  本章小結 125

4.7  習題答案 126

第5章  部署機器學習模型 127

5.1  客戶流失預測模型 127

5.1.1  使用模型 127

5.1.2  使用Pickle保存和加載模型 129

5.2  模型服務化 132

5.2.1  Web服務 132

5.2.2  Flask 133

5.2.3  使用Flask將流失模型服務化 135

5.3  管理依賴項 137

5.3.1  Pipenv 137

5.3.2  Docker 141

5.4  部署 144

5.5  後續步驟 148

5.5.1  練習 148

5.5.2  其他項目 148

5.6  本章小結 148

第6章  決策樹與集成學習 149

6.1  信用風險評分項目 149

6.1.1  信用評分數據集 150

6.1.2  數據清理 150

6.1.3  準備數據集 155

6.2  決策樹 157

6.2.1  決策樹分類器 158

6.2.2  決策樹學習算法 160

6.2.3  決策樹的參數調優 166

6.3  隨機森林 168

6.3.1  訓練隨機森林 170

6.3.2  隨機森林的參數調優 171

6.4  梯度提升 174

6.4.1  XGBoost:極限梯度提升 175

6.4.2  模型性能監控 176

6.4.3  XGBoost的參數調優 178

6.4.4  測試最終模型 183

6.5  後續步驟 184

6.5.1  練習 184

6.5.2  其他項目 185

6.6  本章小結 185

6.7  習題答案 185

第7章  神經網絡與深度學習 187

7.1  服裝分類 187

7.1.1  GPU與CPU 188

7.1.2  下載服裝數據集 188

7.1.3  TensorFlow和Keras 190

7.1.4  加載圖像 191

7.2  捲積神經網絡 192

7.2.1  使用預訓練模型 192

7.2.2  獲得預測 195

7.3  模型的內部結構 195

7.3.1  捲積層 196

7.3.2  緻密層 198

7.4  訓練模型 201

7.4.1  遷移學習 201

7.4.2  加載數據 201

7.4.3  創建模型 202

7.4.4  訓練模型 205

7.4.5  調整學習速率 207

7.4.6  保存模型和設置檢查點 210

7.4.7  添加更多的層 211

7.4.8  正則化和dropout 213

7.4.9  數據增強 216

7.4.10  訓練更大的模型 220

7.5  使用模型 221

7.5.1  加載模型 221

7.5.2  評估模型 222

7.5.3  獲得預測 223

7.6  後續步驟 224

7.6.1  練習 225

7.6.2  其他項目 225

7.7  本章小結 225

7.8  習題答案 226

第8章  無服務器深度學習 227

8.1  AWS Lambda 227

8.1.1  TensorFlow Lite 228

8.1.2  將模型轉換為TF Lite格式 229

8.1.3  準備圖像 229

8.1.4  使用TensorFlow Lite模型 231

8.1.5  lambda函數的代碼 232

8.1.6  準備Docker鏡像 234

8.1.7  將鏡像推送到AWS ECR 235

8.1.8  創建lambda函數 236

8.1.9  創建API Gateway 239

8.2  後續步驟 243

8.2.1  練習 243

8.2.2  其他項目 244

8.3  本章小結 244

第9章  使用Kubernetes和Kubeflow

將模型服務化 245

9.1  Kubernetes和Kubeflow 245

9.2  使用TensorFlow Serving來

服務模型 246

9.2.1  服務架構概述 246

9.2.2  saved_model格式 247

9.2.3  本地運行TensorFlow Serving 248

9.2.4  從Jupyter調用TF Serving

模型 249

9.2.5  創建Gateway服務 252

9.3  使用Kubernetes部署模型 255

9.3.1  Kubernetes簡介 255

9.3.2  在AWS上創建Kubernetes

集群 256

9.3.3  準備Docker鏡像 258

9.3.4  部署到 Kubernetes 260

9.3.5  測試服務 265

9.4  使用Kubeflow部署模型 266

9.4.1  準備模型:上傳到S3 267

9.4.2  使用KFServing部署TensorFlow

模型 267

9.4.3  訪問模型 268

9.4.4  KFServing轉換器 270

9.4.5  測試轉換器 271

9.4.6  刪除EKS集群 272

9.5  後續步驟 272

9.5.1  練習 272

9.5.2  其他項目 273

9.6  本章小結 273

附錄A  環境準備 275

附錄B  Python簡介 301

附錄C  Numpy簡介 315

附錄D  Pandas簡介 339

附錄E  AWS SageMaker 359