Python 預測分析實戰 Hands-On Predictive Analytics with Python: A practical guide to building high performance predictive analytics solutions with Python

[美]阿爾瓦羅·富恩特斯(Alvaro Fuentes)

  • Python 預測分析實戰-preview-1
  • Python 預測分析實戰-preview-2
Python 預測分析實戰-preview-1

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

商品描述

本書先介紹預測分析的重要概念和原則,然後給出一系列的代碼示例和算法講解,引導讀者瞭解完整的預測分析流程,進而用Python工具構建高性能的預測分析解決方案。全書所涵蓋的內容包括預測分析過程、理解問題和準備數據、理解數據集—探索性數據分析、基於機器學習的數值預測、基於機器學習的類別預測、調整模型和提高性能、基於Dash的模型實現等。

本書適合想要學習預測建模並對用Python工具實現預測分析解決方案感興趣的數據分析師、數據科學家、數據工程師和Python開發人員閱讀,也適合對預測分析感興趣的讀者參考。

作者簡介

阿尔瓦罗·富恩特斯(Alvaro Fuentes)是一位资深数据分析师,在分析行业的从业经验超过12年,拥有应用数学的硕士学位和数量经济学的学士学位。他在银行工作过多年,担任经济分析师。他后来创建了Quant公司,主要提供与数据科学相关的咨询和培训服务,并为许多项目做过顾问,涉及商业、教育、医药和大众传媒等领域。

他是一名Python的深度爱好者,有5年的Python工作经验,从事过分析数据、构建模型、生成报告、进行预测以及构建从数据到智能决策的智能转换交互式应用等工作。

目錄大綱

第 1章 預測分析過程 1

1.1 技術要求 1

1.2 什麽是預測分析 2

1.3 回顧預測分析的重要概念 3

1.4 預測分析過程 5

1.4.1 理解問題和定義問題 6

1.4.2 收集數據和準備數據 6

1.4.3 使用EDA挖掘數據信息 7

1.4.4 構建模型 8

1.4.5 評價模型 8

1.4.6 溝通以及/或者部署 8

1.4.7 CRISP-DM和其他方法 9

1.5 Python數據科學棧概述 10

1.5.1 Anaconda 10

1.5.2 Jupyter Notebook 11

1.5.3 NumPy 13

1.5.4 SciPy 18

1.5.5 pandas 19

1.5.6 Matplotlib 19

1.5.7 Seaborn 23

1.5.8 scikit-learn 24

1.5.9 TensorFlow和Keras 24

1.5.10 Dash 24

1.6 小結 25

擴展閱讀 25

 

第 2章 理解問題和準備數據 26

2.1 技術要求 26

2.2 理解業務問題並提出解決方案 27

2.2.1 背景決定一切 27

2.2.2 定義預測內容 28

2.2.3 明確項目需要的數據 28

2.2.4 考慮數據訪問 28

2.2.5 提出解決方案 29

2.3 實踐項目—鑽石的價格 30

2.3.1 鑽石的價格—理解問題和定義問題 30

2.3.2 更多背景知識 32

2.3.3 鑽石的價格—提出解決方案 32

2.3.4 鑽石的價格—收集數據和準備數據 33

2.4 實踐項目—信用卡違約 38

2.4.1 信用卡違約—理解問題和定義問題 38

2.4.2 信用卡違約—提出解決方案 39

2.4.3 信用卡違約—收集數據和準備數據 41

2.5 小結 51

擴展閱讀 52

 

第3章 理解數據集—探索性數據分析 53

3.1 技術要求 54

3.2 什麽是EDA 54

3.3 一元EDA 56

3.3.1 數值特徵的一元EDA 57

3.3.2 分類特徵的一元EDA 61

3.4 二元EDA 63

3.4.1 兩個數值特徵 64

3.4.2 兩個分類特徵 73

3.4.3 一個數值特徵和一個分類特徵 77

3.5 圖形化的多元EDA 81

3.6 小結 86

擴展閱讀 86

 

第4章 基於機器學習的數值預測 87

4.1 技術要求 88

4.2 機器學習簡介 88

4.2.1 監督學習中的任務 89

4.2.2 創建第 一個機器學習模型 90

4.2.3 機器學習的目標—泛化 92

4.2.4 過擬合 94

4.2.5 評價函數和最優化 95

4.3 建模之前的實際考慮 95

4.3.1 scikit-learn簡介 96

4.3.2 進一步的特徵變換 96

4.4 多元線性回歸 103

4.5 LASSO回歸 106

4.6 kNN 107

4.7 訓練與測試誤差 109

4.8 小結 113

擴展閱讀 113

 

第5章 基於機器學習的分類預測 115

5.1 技術要求 116

5.2 分類任務 116

5.3 信用卡違約數據集 117

5.4 邏輯回歸 120

5.4.1 一個簡單的邏輯回歸模型 120

5.4.2 完整的邏輯回歸模型 122

5.5 分類樹 124

5.5.1 分類樹的工作原理 126

5.5.2 分類樹的優點和缺點 130

5.5.3 訓練更大的分類樹 130

5.6 隨機森林 131

5.7 訓練誤差對測試誤差 133

5.8 多元分類 135

5.9 樸素貝葉斯分類器 136

5.9.1 條件概率 136

5.9.2 貝葉斯定理 138

5.9.3 回到分類問題 140

5.9.4 高斯樸素貝葉斯 141

5.10 小結 143

擴展閱讀 143

 

第6章 面向預測分析的神經網絡簡介 144

6.1 技術要求 144

6.2 引入神經網絡模型 145

6.2.1 深度學習 145

6.2.2 MLP的結構—神經網絡模型的組成部分 146

6.2.3 MLP的學習原理 148

6.3 TensorFlow和Keras簡介 149

6.3.1 TensorFlow 149

6.3.2 Keras—以人為本的深度學習 150

6.4 基於神經網絡的回歸 151

6.4.1 構建預測鑽石價格的MLP 152

6.4.2 訓練MLP 154

6.4.3 基於神經網絡的預測 156

6.5 基於神經網絡的分類 157

6.5.1 構建預測信用卡違約的MLP 158

6.5.2 評價預測 160

6.6 訓練神經網絡模型的“黑暗藝術” 161

6.6.1 決策太多,時間太少 162

6.6.2 神經網絡的正則化 163

6.6.3 訓練神經網絡模型的實用技巧 172

6.7 小結 173

擴展閱讀 173

 

第7章 模型評價 174

7.1 技術要求 175

7.2 回歸模型的評價 175

7.2.1 評價回歸模型的指標 176

7.2.2 評價回歸模型的可視化方法 180

7.3 評價分類模型 183

7.3.1 混淆矩陣及相關指標 184

7.3.2 評價分類模型的可視化方法 187

7.4 k折交叉驗證 195

7.5 小結 197

擴展閱讀 197

 

第8章 調整模型和提高性能 198

8.1 技術要求 198

8.2 超參數調整 199

8.2.1 優化單個超參數 200

8.2.2 優化多個超參數 205

8.3 提高性能 210

8.3.1 改進鑽石價格預測 210

8.3.2 是技術問題,更是業務問題 214

8.4 小結 215

 

第9章 基於Dash的模型實現 216

9.1 技術要求 216

9.2 模型溝通和/或部署階段 217

9.2.1 使用技術報告 217

9.2.2 說明現有應用程序的功能 218

9.2.3 分析應用程序 219

9.3 Dash簡介 220

9.3.1 什麽是Dash 220

9.3.2 Plotly 220

9.3.3 安裝 221

9.3.4 應用程序佈局 221

9.3.5 構建基本的靜態App 222

9.3.6 構建基本的交互式App 224

9.4 將預測模型實現為網絡應用程序 228

9.4.1 生成預測模型對象 229

9.4.2 構建網絡應用程序 231

9.5 小結 237

擴展閱讀 238