內容簡介
本書以Python 3版本作為數據分析與挖掘實戰的套用工具,從Pyhton的基礎語法開始,陸續介紹有關數值計算的Numpy、數據處理的Pandas、數據可視化的Matplotlib和數據挖掘的Sklearn等內容。全書共涵蓋15種可視化圖形以及10個常用的數據挖掘算法和實戰項目,通過本書的學習,讀者可以掌握數據分說永遙晚析與挖掘的理論知識和實戰技能。
本書適於統計學、付充捉數學、經濟學、金融學、管理學以及相關理工科專業的本科生、研究生使用,也能夠提高從事數據諮詢、研究或炒台分析等人士的專業水平和技能。
圖書目錄
第1章 數據分析與挖掘概述 1
1.1 什麼是數據分析和挖掘 1
1.2 數據分析與挖掘的套用領域 2
1.2.1 電商領域——發現破壞規則的“害群之馬” 2
1.2.2 交通出行領域——為打車平台恥謎捆進行私人訂製 3
1.2.3 醫療健康領域——找到最佳醫療方案 3
1.3 數據分析與挖掘的區別 4
1.4 數據挖掘的流程 5
1.4.1 明確目標 5
1.4.2 數據蒐集 6
1.4.3 數據清洗 6
1.4.4 構建模型 7
1.4.5 模型評估 7
1.4.6 套用部署 8
1.5 常用的數據分析與挖掘工具 8
1.6 本章小結 9
第2章 從收入的預測分析開始 10
2.1 下載與安裝Anoconda 10
2.1.1 基於Windows系統安裝 11
2.1.2 基於Mac系統安裝 12
2.1.3 基於Linux系統安裝 14
2.2 基於Python的案例實戰 14
2.2.1 數據的預處理 14
2.2.2 數據的探索性分析 16
2.2.3 數據建模 19
2.3 本章小結 28
第3章 Python快速入門 29
3.1 數據結構及方法 29
3.1.1 列表 29
3.1.2 元組 34
3.1.3 字典 35
3.2 控制流 38
3.2.1 if分支 38
3.2.2 for循環 39
3.2.3 while循環 41
3.3 字元串處理方法 43
3.3.1 字元串的常用方法 43
3.3.2 正則表達式 45
3.4 自定義函式 47
3.4.1 自定義函式語法 47
3.4.2 自定義函式的幾種參數 49
3.5 一個爬蟲案例 52
3.6 本章小結 54
第4章 Python數值計算工具——Numpy 56
4.1 數組的創建與操作 56
4.1.1 數組的創建 56
4.1.2 數組元素的獲堡敬習取 57
4.1.3 數組的常用屬性 58
4.1.4 數組的形狀處理 59
4.2 數組的基本運算符 62
4.2.1 四則運算 62
4.2.2 比較運算 63
4.2.3 廣播運算 65
4.3 常用的數學和統計函式 66
4.4 線性代數的相關計算 67
4.4.1 矩陣乘法 68
4.4.2 diag函式的使用 69
4.4.3 特徵根與特徵向量 69
4.4.4 多元線性回歸模型的解 70
4.4.5 多元一次方程組的求解 70
4.4.6 範數的計算 71
4.5 偽隨機數的生成 71
4.6 本章小結 74
第5章 Python數據處理工具——Pandas 76
5.1 序列與數據框的構造 76
5.1.1 構造序列 77
5.1.2 構造數據框 78
5.2 外部數據的殃拜民朽讀取 79
5.2.1 文本檔案的讀取 79
5.2.2 電子表格的讀取 81
5.2.3 資料庫數據的讀取 83
5.3 數據類型轉換及描述統計 85
5.4 字元與日期數據的處理 89
5.5 常用的數據清洗方法 93
5.5.1 重複觀測處理 93
5.5.2 缺失值處理 94
5.5.3 異常值處理 97
5.6 數據子集的獲取說淋敬 99
5.7 透視表功能 101
5.8 表之間的合併與連線 104
5.9 分組聚合操作 107
5.10 本章小結 108
第6章 Python數據可視化 110
6.1 離散型變數的可視化 110
6.1.1 餅圖 110
6.1.2 條形圖 115
6.2 數值型變數的可視化 125
6.2.1 直方圖與核密度曲線 125
6.2.2 箱線圖 129
6.2.3 小提琴圖 133
6.2.4 折線圖 135
6.3 關係型數據的可視化 139
6.3.1 散點圖 139
6.3.2 氣泡圖 142
6.3.3 熱力圖 144
6.4 多個圖形的合併 146
6.5 本章小結 148
第7章 線性回歸預測模型 150
7.1 一元線性回歸模型 150
7.2 多元線性回歸模型 153
7.2.1 回歸模型的參數求解 154
7.2.2 回歸模型的預測 155
7.3 回歸模型的假設檢驗 157
7.3.1 模型的顯著性檢驗——F檢驗 158
7.3.2 回歸係數的顯著性檢驗——t檢驗 160
7.4 回歸模型的診斷 162
7.4.1 正態性檢驗 162
7.4.2 多重共線性檢驗 164
7.4.3 線性相關性檢驗 165
7.4.4 異常值檢驗 167
7.4.5 獨立性檢驗 170
7.4.6 方差齊性檢驗 170
7.5 本章小結 173
第8章 嶺回歸與LASSO回歸模型 174
8.1 嶺回歸模型 174
8.1.1 參數求解 175
8.1.2 係數求解的幾何意義 176
8.2 嶺回歸模型的套用 177
8.2.1 可視化方法確定?值 177
8.2.2 交叉驗證法確定?值 179
8.2.3 模型的預測 180
8.3 LASSO回歸模型 182
8.3.1 參數求解 182
8.3.2 係數求解的幾何意義 183
8.4 LASSO回歸模型的套用 184
8.4.1 可視化方法確定?值 184
8.4.2 交叉驗證法確定?值 186
8.4.3 模型的預測 187
8.5 本章小結 189
第9章 Logistic回歸分類模型 190
9.1 Logistic模型的構建 191
9.1.1 Logistic模型的參數求解 193
9.1.2 Logistic模型的參數解釋 195
9.2 分類模型的評估方法 195
9.2.1 混淆矩陣 196
9.2.2 ROC曲線 197
9.2.3 K-S曲線 198
9.3 Logistic回歸模型的套用 200
9.3.1 模型的構建 200
9.3.2 模型的預測 202
9.3.3 模型的評估 203
9.4 本章小結 207
第10章 決策樹與隨機森林 208
10.1 節點欄位的選擇 209
10.1.1 信息增益 210
10.1.2 信息增益率 212
10.1.3 基尼指數 213
10.2 決策樹的剪枝 216
10.2.1 誤差降低剪枝法 217
10.2.2 悲觀剪枝法 217
10.2.3 代價複雜度剪枝法 219
10.3 隨機森林 220
10.4 決策樹與隨機森林的套用 222
10.4.1 分類問題的解決 222
10.4.2 預測問題的解決 229
10.5 本章小結 231
第11章 KNN模型的套用 233
11.1 KNN算法的思想 233
11.2 最佳k值的選擇 234
11.3 相似度的度量方法 235
11.3.1 歐式距離 235
11.3.2 曼哈頓距離 236
11.3.3 餘弦相似度 236
11.3.4 傑卡德相似係數 237
11.4 近鄰樣本的搜尋方法 238
11.4.1 KD樹搜尋法 238
11.4.2 球樹搜尋法 242
11.5 KNN模型的套用 244
11.5.1 分類問題的解決 245
11.5.2 預測問題的解決 248
11.6 本章小結 251
第12章 樸素貝葉斯模型 253
12.1 樸素貝葉斯理論基礎 253
12.2 幾種貝葉斯模型 255
12.2.1 高斯貝葉斯分類器 255
12.2.2 高斯貝葉斯分類器的套用 257
12.2.3 多項式貝葉斯分類器 259
12.2.4 多項式貝葉斯分類器的套用 261
12.2.5 伯努利貝葉斯分類器 264
12.2.6 伯努利貝葉斯分類器的套用 266
12.3 本章小結 271
第13章 SVM模型的套用 272
13.1 SVM簡介 273
13.1.1 距離公式的介紹 273
13.1.2 SVM的實現思想 274
13.2 幾種常見的SVM模型 276
13.2.1 線性可分的SVM 276
13.2.2 一個手動計算的案例 279
13.2.3 近似線性可分SVM 281
13.2.4 非線性可分SVM 284
13.2.5 幾種常用的SVM核函式 285
13.2.6 SVM的回歸預測 287
13.3 分類問題的解決 289
13.4 預測問題的解決 291
13.5 本章小結 294
第14章 GBDT模型的套用 296
14.1 提升樹算法 297
14.1.1 AdaBoost算法的損失函式 297
14.1.2 AdaBoost算法的操作步驟 299
14.1.3 AdaBoost算法的簡單例子 300
14.1.4 AdaBoost算法的套用 302
14.2 梯度提升樹算法 308
14.2.1 GBDT算法的操作步驟 308
14.2.2 GBDT分類算法 309
14.2.3 GBDT回歸算法 309
14.2.4 GBDT算法的套用 310
14.3 非平衡數據的處理 313
14.4 XGBoost算法 315
14.4.1 XGBoost算法的損失函式 315
14.4.2 損失函式的演變 317
14.4.3 XGBoost算法的套用 319
14.5 本章小結 324
第15章 Kmeans聚類分析 326
15.1 Kmeans聚類 327
15.1.1 Kmeans的思想 327
15.1.2 Kmeans的原理 328
15.2 最佳k值的確定 329
15.2.1 拐點法 329
15.2.2 輪廓係數法 332
15.2.3 間隔統計量法 333
15.3 Kmeans聚類的套用 336
15.3.1 iris數據集的聚類 336
15.3.2 NBA球員數據集的聚類 339
15.4 Kmeans聚類的注意事項 343
15.5 本章小結 343
第16章 DBSCAN與層次聚類分析 345
16.1 密度聚類簡介 345
16.1.1 密度聚類相關的概念 346
16.1.2 密度聚類的步驟 347
16.2 密度聚類與Kmeans的比較 349
16.3 層次聚類 353
16.3.1 簇間的距離度量 354
16.3.2 層次聚類的步驟 356
16.3.3 三種層次聚類的比較 357
16.4 密度聚類與層次聚類的套用 359
16.5 本章小結 365
4.2.3 廣播運算 65
4.3 常用的數學和統計函式 66
4.4 線性代數的相關計算 67
4.4.1 矩陣乘法 68
4.4.2 diag函式的使用 69
4.4.3 特徵根與特徵向量 69
4.4.4 多元線性回歸模型的解 70
4.4.5 多元一次方程組的求解 70
4.4.6 範數的計算 71
4.5 偽隨機數的生成 71
4.6 本章小結 74
第5章 Python數據處理工具——Pandas 76
5.1 序列與數據框的構造 76
5.1.1 構造序列 77
5.1.2 構造數據框 78
5.2 外部數據的讀取 79
5.2.1 文本檔案的讀取 79
5.2.2 電子表格的讀取 81
5.2.3 資料庫數據的讀取 83
5.3 數據類型轉換及描述統計 85
5.4 字元與日期數據的處理 89
5.5 常用的數據清洗方法 93
5.5.1 重複觀測處理 93
5.5.2 缺失值處理 94
5.5.3 異常值處理 97
5.6 數據子集的獲取 99
5.7 透視表功能 101
5.8 表之間的合併與連線 104
5.9 分組聚合操作 107
5.10 本章小結 108
第6章 Python數據可視化 110
6.1 離散型變數的可視化 110
6.1.1 餅圖 110
6.1.2 條形圖 115
6.2 數值型變數的可視化 125
6.2.1 直方圖與核密度曲線 125
6.2.2 箱線圖 129
6.2.3 小提琴圖 133
6.2.4 折線圖 135
6.3 關係型數據的可視化 139
6.3.1 散點圖 139
6.3.2 氣泡圖 142
6.3.3 熱力圖 144
6.4 多個圖形的合併 146
6.5 本章小結 148
第7章 線性回歸預測模型 150
7.1 一元線性回歸模型 150
7.2 多元線性回歸模型 153
7.2.1 回歸模型的參數求解 154
7.2.2 回歸模型的預測 155
7.3 回歸模型的假設檢驗 157
7.3.1 模型的顯著性檢驗——F檢驗 158
7.3.2 回歸係數的顯著性檢驗——t檢驗 160
7.4 回歸模型的診斷 162
7.4.1 正態性檢驗 162
7.4.2 多重共線性檢驗 164
7.4.3 線性相關性檢驗 165
7.4.4 異常值檢驗 167
7.4.5 獨立性檢驗 170
7.4.6 方差齊性檢驗 170
7.5 本章小結 173
第8章 嶺回歸與LASSO回歸模型 174
8.1 嶺回歸模型 174
8.1.1 參數求解 175
8.1.2 係數求解的幾何意義 176
8.2 嶺回歸模型的套用 177
8.2.1 可視化方法確定?值 177
8.2.2 交叉驗證法確定?值 179
8.2.3 模型的預測 180
8.3 LASSO回歸模型 182
8.3.1 參數求解 182
8.3.2 係數求解的幾何意義 183
8.4 LASSO回歸模型的套用 184
8.4.1 可視化方法確定?值 184
8.4.2 交叉驗證法確定?值 186
8.4.3 模型的預測 187
8.5 本章小結 189
第9章 Logistic回歸分類模型 190
9.1 Logistic模型的構建 191
9.1.1 Logistic模型的參數求解 193
9.1.2 Logistic模型的參數解釋 195
9.2 分類模型的評估方法 195
9.2.1 混淆矩陣 196
9.2.2 ROC曲線 197
9.2.3 K-S曲線 198
9.3 Logistic回歸模型的套用 200
9.3.1 模型的構建 200
9.3.2 模型的預測 202
9.3.3 模型的評估 203
9.4 本章小結 207
第10章 決策樹與隨機森林 208
10.1 節點欄位的選擇 209
10.1.1 信息增益 210
10.1.2 信息增益率 212
10.1.3 基尼指數 213
10.2 決策樹的剪枝 216
10.2.1 誤差降低剪枝法 217
10.2.2 悲觀剪枝法 217
10.2.3 代價複雜度剪枝法 219
10.3 隨機森林 220
10.4 決策樹與隨機森林的套用 222
10.4.1 分類問題的解決 222
10.4.2 預測問題的解決 229
10.5 本章小結 231
第11章 KNN模型的套用 233
11.1 KNN算法的思想 233
11.2 最佳k值的選擇 234
11.3 相似度的度量方法 235
11.3.1 歐式距離 235
11.3.2 曼哈頓距離 236
11.3.3 餘弦相似度 236
11.3.4 傑卡德相似係數 237
11.4 近鄰樣本的搜尋方法 238
11.4.1 KD樹搜尋法 238
11.4.2 球樹搜尋法 242
11.5 KNN模型的套用 244
11.5.1 分類問題的解決 245
11.5.2 預測問題的解決 248
11.6 本章小結 251
第12章 樸素貝葉斯模型 253
12.1 樸素貝葉斯理論基礎 253
12.2 幾種貝葉斯模型 255
12.2.1 高斯貝葉斯分類器 255
12.2.2 高斯貝葉斯分類器的套用 257
12.2.3 多項式貝葉斯分類器 259
12.2.4 多項式貝葉斯分類器的套用 261
12.2.5 伯努利貝葉斯分類器 264
12.2.6 伯努利貝葉斯分類器的套用 266
12.3 本章小結 271
第13章 SVM模型的套用 272
13.1 SVM簡介 273
13.1.1 距離公式的介紹 273
13.1.2 SVM的實現思想 274
13.2 幾種常見的SVM模型 276
13.2.1 線性可分的SVM 276
13.2.2 一個手動計算的案例 279
13.2.3 近似線性可分SVM 281
13.2.4 非線性可分SVM 284
13.2.5 幾種常用的SVM核函式 285
13.2.6 SVM的回歸預測 287
13.3 分類問題的解決 289
13.4 預測問題的解決 291
13.5 本章小結 294
第14章 GBDT模型的套用 296
14.1 提升樹算法 297
14.1.1 AdaBoost算法的損失函式 297
14.1.2 AdaBoost算法的操作步驟 299
14.1.3 AdaBoost算法的簡單例子 300
14.1.4 AdaBoost算法的套用 302
14.2 梯度提升樹算法 308
14.2.1 GBDT算法的操作步驟 308
14.2.2 GBDT分類算法 309
14.2.3 GBDT回歸算法 309
14.2.4 GBDT算法的套用 310
14.3 非平衡數據的處理 313
14.4 XGBoost算法 315
14.4.1 XGBoost算法的損失函式 315
14.4.2 損失函式的演變 317
14.4.3 XGBoost算法的套用 319
14.5 本章小結 324
第15章 Kmeans聚類分析 326
15.1 Kmeans聚類 327
15.1.1 Kmeans的思想 327
15.1.2 Kmeans的原理 328
15.2 最佳k值的確定 329
15.2.1 拐點法 329
15.2.2 輪廓係數法 332
15.2.3 間隔統計量法 333
15.3 Kmeans聚類的套用 336
15.3.1 iris數據集的聚類 336
15.3.2 NBA球員數據集的聚類 339
15.4 Kmeans聚類的注意事項 343
15.5 本章小結 343
第16章 DBSCAN與層次聚類分析 345
16.1 密度聚類簡介 345
16.1.1 密度聚類相關的概念 346
16.1.2 密度聚類的步驟 347
16.2 密度聚類與Kmeans的比較 349
16.3 層次聚類 353
16.3.1 簇間的距離度量 354
16.3.2 層次聚類的步驟 356
16.3.3 三種層次聚類的比較 357