從零開始學Python數據分析與挖掘
內容描述
本書以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.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 KS曲線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.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.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