Contents目錄
推薦序
譯者序
前言
致謝
關于作者
關于審稿人
第1章準備數據1
1.1導論1
1.2使用Python讀寫CSV/TSV文件2
1.3使用Python讀寫JSON文件6
1.4使用Python讀寫Excel文件7
1.5使用Python讀寫XML文件10
1.6使用pandas檢索HTML頁面13
1.7存儲并檢索關系數據庫15
1.8存儲并檢索MongoDB18
1.9使用OpenRefine打開并轉換數據20
1.10使用OpenRefine探索數據23
1.11排重25
1.12使用正則表達式與GREL清理數據27
1.13插補缺失值28
1.14將特征規(guī)范化、標準化29
1.15分級數據30
1.16編碼分類變量32
第2章探索數據34
2.1導論34
2.2生成描述性的統(tǒng)計數據34
2.3探索特征之間的相關性37
2.4可視化特征之間的相互作用38
2.5生成直方圖43
2.6創(chuàng)建多變量的圖表46
2.7數據取樣49
2.8將數據集拆分成訓練集、交叉驗證集和測試集51
第3章分類技巧53
3.1導論53
3.2測試并比較模型53
3.3樸素貝葉斯分類器56
3.4將邏輯回歸作為通用分類器使用58
3.5將支持向量機用作分類引擎61
3.6使用決策樹進行分類65
3.7使用隨機森林預測訂閱者69
3.8使用神經網絡對呼叫進行分類72
第4章聚類技巧79
4.1導論79
4.2評估聚類方法的表現79
4.3用k均值算法聚類數據82
4.4為k均值算法找到最優(yōu)的聚類數84
4.5使用meanshift聚類模型發(fā)現聚類90
4.6使用c均值構建模糊聚類模型91
4.7使用層次模型聚類數據93
4.8使用DBSCAN和BIRCH算法發(fā)現潛在的訂閱者96
第5章降維99
5.1導論99
5.2創(chuàng)建三維散點圖,顯示主成分99
5.3使用核PCA降維102
5.4用主成分分析找到關鍵因素105
5.5使用隨機PCA在數據中尋找主成分109
5.6使用線性判別分析提取有用的維度114
5.7用kNN分類模型給電話分類時使用多種降維技巧117
第6章回歸模型122
6.1導論122
6.2識別并解決數據中的多重共線性124
6.3構建線性回歸模型128
6.4使用OLS預測生產的電量134
6.5使用CART估算發(fā)電廠生產的電量138
6.6將kNN模型用于回歸問題141
6.7將隨機森林模型用于回歸分析143
6.8使用SVM預測發(fā)電廠生產的電量145
6.9訓練神經網絡,預測發(fā)電廠生產的電量151
第7章時間序列技術154
7.1導論154
7.2在Python中如何處理日期對象155
7.3理解時間序列數據159
7.4平滑并轉換觀測值163
7.5過濾時間序列數據166
7.6移除趨勢和季節(jié)性169
7.7使用ARMA和ARIMA模型預測未來173
第8章圖181
8.1導論181
8.2使用NetworkX在Python中處理圖對象182
8.3使用Gephi將圖可視化190
8.4識別信用卡信息被盜的用戶200
8.5識別誰盜竊了信用卡204
第9章自然語言處理207
9.1導論207
9.2從網絡讀入原始文本208
9.3標記化和標準化212
9.4識別詞類,處理n-gram,識別命名實體218
9.5識別文章主題224
9.6識別句子結構226
9.7根據評論給影片歸類229
第10章離散選擇模型233
10.1導論233
10.2準備數據集以估算離散選擇模型235
10.3估算知名的多項Logit模型239
10.4測試來自無關選項的獨立性沖突244
10.5用巢式Logit模型處理IIA沖突249
10.6用混合Logit模型處理復雜的替代模式251
第11章模擬254
11.1導論254
11.2使用SimPy模擬加油站的加油過程255
11.3模擬電動車耗盡電量的場景264
11.4判斷羊群面對群狼時是否有團滅的風險269