本書先介紹預測分析的重要概念和原則,然后給出一系列的代碼示例和算法講解,引導讀者了解完整的預測分析流程,進而用Python工具構(gòu)建高性能的預測分析解決方案。全書所涵蓋的內(nèi)容包括預測分析過程、理解問題和準備數(shù)據(jù)、理解數(shù)據(jù)集—探索性數(shù)據(jù)分析、基于機器學習的數(shù)值預測、基于機器學習的類別預測、調(diào)整模型和提高性能、基于Dash的模型實現(xiàn)等。
本書適合想要學習預測建模并對用Python工具實現(xiàn)預測分析解決方案感興趣的數(shù)據(jù)分析師、數(shù)據(jù)科學家、數(shù)據(jù)工程師和Python開發(fā)人員閱讀,也適合對預測分析感興趣的讀者參考。
1. 涵蓋從問題識別到模型部署的預測分析全過程
2. 基于Python語言實現(xiàn),輔以實例,側(cè)重于實戰(zhàn)
3. 用Python實現(xiàn)高性能預測分析方案
4. 用Keras構(gòu)建可實現(xiàn)預測的神經(jīng)網(wǎng)絡模型
阿爾瓦羅·富恩特斯(Alvaro Fuentes)是一位資深數(shù)據(jù)分析師,在分析行業(yè)的從業(yè)經(jīng)驗超過12年,擁有應用數(shù)學的碩士學位和數(shù)量經(jīng)濟學的學士學位。他在銀行工作過多年,擔任經(jīng)濟分析師。他后來創(chuàng)建了Quant公司,主要提供與數(shù)據(jù)科學相關(guān)的咨詢和培訓服務,并為許多項目做過顧問,涉及商業(yè)、教育、醫(yī)藥和大眾傳媒等領(lǐng)域。
他是一名Python的深度愛好者,有5年的Python工作經(jīng)驗,從事過分析數(shù)據(jù)、構(gòu)建模型、生成報告、進行預測以及構(gòu)建從數(shù)據(jù)到智能決策的智能轉(zhuǎn)換交互式應用等工作。
第 1章 預測分析過程 1
1.1 技術(shù)要求 1
1.2 什么是預測分析 2
1.3 回顧預測分析的重要概念 3
1.4 預測分析過程 5
1.4.1 理解問題和定義問題 6
1.4.2 收集數(shù)據(jù)和準備數(shù)據(jù) 6
1.4.3 使用EDA挖掘數(shù)據(jù)信息 7
1.4.4 構(gòu)建模型 8
1.4.5 評價模型 8
1.4.6 溝通以及/或者部署 8
1.4.7 CRISP-DM和其他方法 9
1.5 Python數(shù)據(jù)科學棧概述 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 小結(jié) 25
擴展閱讀 25
第 2章 理解問題和準備數(shù)據(jù) 26
2.1 技術(shù)要求 26
2.2 理解業(yè)務問題并提出解決方案 27
2.2.1 背景決定一切 27
2.2.2 定義預測內(nèi)容 28
2.2.3 明確項目需要的數(shù)據(jù) 28
2.2.4 考慮數(shù)據(jù)訪問 28
2.2.5 提出解決方案 29
2.3 實踐項目—鉆石的價格 30
2.3.1 鉆石的價格—理解問題和定義問題 30
2.3.2 更多背景知識 32
2.3.3 鉆石的價格—提出解決方案 32
2.3.4 鉆石的價格—收集數(shù)據(jù)和準備數(shù)據(jù) 33
2.4 實踐項目—信用卡違約 38
2.4.1 信用卡違約—理解問題和定義問題 38
2.4.2 信用卡違約—提出解決方案 39
2.4.3 信用卡違約—收集數(shù)據(jù)和準備數(shù)據(jù) 41
2.5 小結(jié) 51
擴展閱讀 52
第3章 理解數(shù)據(jù)集—探索性數(shù)據(jù)分析 53
3.1 技術(shù)要求 54
3.2 什么是EDA 54
3.3 一元EDA 56
3.3.1 數(shù)值特征的一元EDA 57
3.3.2 分類特征的一元EDA 61
3.4 二元EDA 63
3.4.1 兩個數(shù)值特征 64
3.4.2 兩個分類特征 73
3.4.3 一個數(shù)值特征和一個分類特征 77
3.5 圖形化的多元EDA 81
3.6 小結(jié) 86
擴展閱讀 86
第4章 基于機器學習的數(shù)值預測 87
4.1 技術(shù)要求 88
4.2 機器學習簡介 88
4.2.1 監(jiān)督學習中的任務 89
4.2.2 創(chuàng)建第 一個機器學習模型 90
4.2.3 機器學習的目標—泛化 92
4.2.4 過擬合 94
4.2.5 評價函數(shù)和最優(yōu)化 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 小結(jié) 113
擴展閱讀 113
第5章 基于機器學習的分類預測 115
5.1 技術(shù)要求 116
5.2 分類任務 116
5.3 信用卡違約數(shù)據(jù)集 117
5.4 邏輯回歸 120
5.4.1 一個簡單的邏輯回歸模型 120
5.4.2 完整的邏輯回歸模型 122
5.5 分類樹 124
5.5.1 分類樹的工作原理 126
5.5.2 分類樹的優(yōu)點和缺點 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 小結(jié) 143
擴展閱讀 143
第6章 面向預測分析的神經(jīng)網(wǎng)絡簡介 144
6.1 技術(shù)要求 144
6.2 引入神經(jīng)網(wǎng)絡模型 145
6.2.1 深度學習 145
6.2.2 MLP的結(jié)構(gòu)—神經(jīng)網(wǎng)絡模型的組成部分 146
6.2.3 MLP的學習原理 148
6.3 TensorFlow和Keras簡介 149
6.3.1 TensorFlow 149
6.3.2 Keras—以人為本的深度學習 150
6.4 基于神經(jīng)網(wǎng)絡的回歸 151
6.4.1 構(gòu)建預測鉆石價格的MLP 152
6.4.2 訓練MLP 154
6.4.3 基于神經(jīng)網(wǎng)絡的預測 156
6.5 基于神經(jīng)網(wǎng)絡的分類 157
6.5.1 構(gòu)建預測信用卡違約的MLP 158
6.5.2 評價預測 160
6.6 訓練神經(jīng)網(wǎng)絡模型的“黑暗藝術(shù)” 161
6.6.1 決策太多,時間太少 162
6.6.2 神經(jīng)網(wǎng)絡的正則化 163
6.6.3 訓練神經(jīng)網(wǎng)絡模型的實用技巧 172
6.7 小結(jié) 173
擴展閱讀 173
第7章 模型評價 174
7.1 技術(shù)要求 175
7.2 回歸模型的評價 175
7.2.1 評價回歸模型的指標 176
7.2.2 評價回歸模型的可視化方法 180
7.3 評價分類模型 183
7.3.1 混淆矩陣及相關(guān)指標 184
7.3.2 評價分類模型的可視化方法 187
7.4 k折交叉驗證 195
7.5 小結(jié) 197
擴展閱讀 197
第8章 調(diào)整模型和提高性能 198
8.1 技術(shù)要求 198
8.2 超參數(shù)調(diào)整 199
8.2.1 優(yōu)化單個超參數(shù) 200
8.2.2 優(yōu)化多個超參數(shù) 205
8.3 提高性能 210
8.3.1 改進鉆石價格預測 210
8.3.2 是技術(shù)問題,更是業(yè)務問題 214
8.4 小結(jié) 215
第9章 基于Dash的模型實現(xiàn) 216
9.1 技術(shù)要求 216
9.2 模型溝通和/或部署階段 217
9.2.1 使用技術(shù)報告 217
9.2.2 說明現(xiàn)有應用程序的功能 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 構(gòu)建基本的靜態(tài)App 222
9.3.6 構(gòu)建基本的交互式App 224
9.4 將預測模型實現(xiàn)為網(wǎng)絡應用程序 228
9.4.1 生成預測模型對象 229
9.4.2 構(gòu)建網(wǎng)絡應用程序 231
9.5 小結(jié) 237
擴展閱讀 238