Python 大數據與機器學習實戰

謝彥

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

商品描述

本書結合作者十餘年軟件開發、系統架構、算法實戰及培訓經驗,
致力於系統地闡釋Python大數據和機器學習技術。
從數據的採集、存儲、清洗;到建立模型、統計分析;
最終用前端程序呈現給用戶的數據展示;以及後台的系統服務支持。
結合了Python數據工具使用、算法原理、以及典型實例各個層面,
希望讀者通過對本書的閱讀,少走彎路,以**的學習成本得到**的知識收益。

作者簡介

謝彥

從事軟件開發和算法研發十餘年,曾就職於聯想研究院、元心科技等公司。
參與研發機頂盒、上網本、智能手機操作系統,工作涉及上層應用、
集群構建、圖形底層優、語音合成與識別、數據挖掘、深度學習算法等。
帶領團隊經驗豐富,擅長團隊內部人才培訓。個人開發的應用
“天琴語音閱讀器”用戶數達百萬量級,
近兩年撰寫數據挖掘和機器學習文章百餘篇,CSDN閱讀量100多萬人次。
現就職於和興創聯健康科技有限公司,專注於醫療大數據應用研發。
作者的公眾號:算法學習分享。

目錄大綱

目錄
第1章Python大數據開發入門1
1.1大數據工程師必備技能1
1.2 Python開發環境5
1.2.1 Windows環境5
1.2.2 Linux環境7
1.2.3 Docker環境10
1.3 Python開發工具16
1.3.1 Python命令行環境16
1.3.2 Jupyter環境18
1.4 Python數據類型23
1.4.1數值24
1.4.2字符串24
1. 4.3列表25
1.4.4元組26
1.4.5集合26
1.4.6字典27
1.5 Python函數和類27
1.5.1定義和使用函數28
1.5.2 lambda匿名函數28
1.5.3類和繼承28
1.6 Python常用庫29
1.6.1 Python內置庫29
1.6.2 Python圖形圖像處理30
1.6.3 Python自然語言處理31
1 .6.4 Python數據分析和處理32
1.6.5 Python機器學習33
1.7 Python技巧34
1.7.1 Python程序調試34
1.7.2去掉警告信息35
1.7.3製作和導入模塊36
1.7.4異常處理37
1.8 Python常見問題38

第2章科學計算Numpy 40
2.1多維數組40
2.1.1創建數組40
2.1.2訪問數組42
2.1.3修改數組43
2.2數組元素運算44
2.2.1一元函數44
2.2.2二元函數45
2.2.3廣播46
2.2.4自定義ufunc函數47
2.3常用函數48
2.3.1分段函數48
2.3.2統計函數49
2.3.3組合與分割51
2.3.4矩陣與二維數組52
2.3.5其他常用函數54

第3章數據操作Pandas 55
3.1數據對象55
3.1.1 Series對象55
3.1.2 DataFrame對象57
3.1.3 Index對象60
3.2數據存取63
3.2.1訪問數據表元素63
3.2.2修改數據表元素66
3.3分組運算68
3.3.1分組69
3.3.2聚合70
3.3.3轉換71
3.3.4過濾72
3.3.5應用72
3.4日期時間處理73
3.4.1 Python日期時間處理73
3.4.2 Pandas日期時間處理75
3.4.3時間序列操作76
3.4.4數據重排84

第4章數據可視化86
4.1 Matplotlib繪圖庫87
4.1.1準備工作87
4.1.2散點圖與氣泡圖88
4.1.3線圖90
4.1.4柱圖92
4.1.5餅圖95
4.1.6箱線圖和小提琴圖96
4 .1.7三維圖97
4.1.8 Matplotlib繪圖區域100
4.1.9文字顯示問題103
4.1.10導出圖表104
4.1.11 Matplotlib技巧105
4.2 Seaborn高級數據可視化107
4 .2.1準備工作107
4.2.2連續變量相關圖108
4.2.3分類變量圖109
4.2.4回歸圖113
4.2.5多圖組合115
4.2.6熱力圖118
4.2.7印刷品作圖119
4.3 PyEcharts交互圖119
4.3.1 ECharts 119
4.3.2準備工作120
4.3.3繪製交互圖120
4. 3.4在網頁中顯示圖123

第5章獲取數據125
5.1讀寫文件126
5.1.1讀寫文本文件126
5.1.2寫日誌文件127
5.1.3讀寫XML文件128
5.1.4讀寫Json文件130
5.1.5讀寫CSV文件131
5.1.6讀寫PKL文件132
5.1.7讀寫HDF5文件133
5.1.8讀寫Excel文件134
5.2讀寫數據庫135
5.2.1數據庫基本操作136
5.2.2 Python存取MySQL數據庫138
5.2.3 Python存取SQL Server數據庫140
5.2.4 Python存取Sqlite數據庫143
5.2.5 Python存取Dbase數據庫143
5.3讀寫數據倉庫144
5.3.1讀取ElasticSearch數據144
5.3.2讀取S3雲存儲數據146
5.3.3讀取Hive數據148
5.4獲取網絡數據151
5.4.1從網絡接口讀取數據151
5.4.2抓取網站數據152
5.4.3使用POST方法抓取數據153
5.4.4轉換HTML文件153
5.5選擇數據存儲方式154

第6章數據預處理155
6.1數據類型識別與轉換155
6. 1.1基本類型轉換156
6.1.2數據類型識別157
6.2數據清洗158
6.2.1缺失值處理158
6.2.2異常值處理160
6.2.3去重處理162
6 .3數據歸約163
6.3.1經驗篩選特徵163
6.3.2統計學方法篩選特徵163
6.3.3模型篩選特徵164
6.3.4數學方法降維165
6.4數據抽樣166
6.4.1簡單隨機抽樣167
6.4.2系統抽樣168
6.4.3分層抽樣168
6.4.4整群抽樣168
6.5數據組合169
6.5.1 merge函數169
6.5.2 concat函數170
6.6特徵提取171
6.6.1數值型特徵171
6.6.2分類型特徵171
6.6.3字符型特徵172

第7章數據分析175
7.1入門實例175
7.2假設檢驗177
7.2.1基本概念177
7.2.2假設檢驗的步驟178
7.2.3統計分析工具178
7.3參數檢驗與非參數檢驗179
7.3.1正態性檢驗179
7.3.2方差齊性檢驗181
7.3.3分析檢驗結果182
7.4 T檢驗182
7.4.1單樣本T檢驗182
7 .4.2獨立樣本T檢驗183
7.4.3配對樣本T檢驗183
7.5方差分析184
7.6秩和檢驗185
7.7卡方檢驗186
7.8相關性分析187
7.8. 1圖形描述相關性188
7.8.2正態資料的相關分析189
7.8.3非正態資料的相關分析190
7.9變量分析190
7.9.1單變量分析190
7.9.2多變量分析191
7.10 TableOne工具193
7.11統計方法總結194

第8章機器學習基礎知識196
8.1基本概念196
8.1.1深度學習、機器學習、人工智能197
8.1.2有監督學習、無監督學習、半監督學習197
8.1.3訓練集、驗證集、測試集198
8.1.4過擬合與欠擬合198
8.1.5常用術語199
8.2評價模型199
8.2.1方差、協方差、協方差矩陣200
8.2.2距離與範數204
8.2.3回歸效果評估207
8.2.4分類效果評估210

第9章機器學習模型與工具216
9.1基於距離的算法217
9.1.1 K近鄰算法217
9.1.2聚類算法219
9.2線性回歸與邏輯回歸221
9.2.1線性回歸222
9.2.2邏輯回歸225
9.3支持向量機226
9.4信息熵和決策樹230
9.4.1信息量和熵231
9.4.2決策樹234
9.5關聯規則236
9.5.1 Apriori關聯規則237
9.5.2 FP-Growth關聯分析240
9.6貝葉斯模型242
9.6.1貝葉斯公式242
9.6.2樸素貝葉斯算法244
9.6.3貝葉斯網絡248
9.7隱馬爾可夫模型250
9.8集成算法254

第10章模型選擇與相關技術259
10.1數據準備與模型選擇259
10.1.1預處理259
10.1.2選擇模型260
10.2自動機器學習框架263
10.2.1框架原理263
10.2.2 Auto-Sklearn 264
10.2 .3 Auto-ML 266
10.2.4 Auto-Keras 267
10.3自然語言處理269
10.3.1分詞工具269
10.3.2 TF-IDF 271
10.4建模相關技術274
10.4 .1切分數據集與交叉驗證274
10.4.2模型調參276
10.4.3學習曲線和驗證曲線279
10.4.4保存模型282

第11章大數據競賽平台283
11.1定義問題283
11.1.1強人工智能與弱人工智能284
11.1.2 Datathon競賽285
11.2算法競賽286
11 .2.1大數據競賽平台優勢287
11.2.2 Kaggle大數據平台288
11.2.3實戰泰坦尼克號倖存問題288
11.2.4國內大數據平台294
11.2.5賽題選擇294
11.2.6比賽注意事項295

第12章決策問題:幸福感挖掘296
12.1賽題解讀296
12.2模型初探297
12.3模型調優299
12.3.1模型粗調299
12 .3.2模型精調300
12.4模型輸出305
12.4.1顯示決策樹305
12.4.2特徵重要性306
12.5 XGBoost模型307
12.5.1 XGBoost參數分析307
12.5 .2 XGBoost原理解析308
12.5.3 XGBoost源碼分析312

第13章遷移學習:貓狗圖片分類317
13.1深度學習神經網絡317
13.1.1深度學習318
13.1.2卷積神經網絡319
13.1.3卷積神經網絡發展史321
13 .2使用現有的神經網絡模型321
13.3遷移學習322
13.4解決貓狗分類問題323
13.4.1數據及代碼結構323
13.4.2提取特徵324
13.4.3訓練模型和預測325
13.4.4訓練結果分析326
13.4.5代碼下載327

第14章圖像分割:識別圖中物體328
14.1 Mask R-CNN算法329
14.1.1 R-CNN 329
14 .1.2 SPP Net 330
14.1.3 Fast R-CNN 330
14.1.4 Faster R-CNN 331
14.1.5 Mask R-CNN 332
14.2 Mask R-CNN源碼解析332
14.2 .1安裝工具332
14.2.2源碼結構333
14.3訓練模型與預測334
14.3.1製作訓練數據335
14.3.2訓練模型和預測338
14.3.3建模相關問題344

第15章時間序列分析346
15.1時序問題處理流程346
15.1.1分析問題346
15.1.2解決思路347
15.2趨勢分析工具ARIMA 349
15 .2.1相關概念349
15.2.2模型示例353
15.3傅里葉和小波變換357
15.3.1傅里葉變換358
15.3.2小波變換360
15.4 Prophet時序模型361
15.4.1模型介紹362
15.4.2獲取數據362
15.4.3模型示例363

第16章自然語言處理:微博互動預測367
16.1賽題分析367
16.1.1數據分析368
16.1.2評價函數369
16.1.3目標變量分佈370
16.1.4發博用戶統計371
16.1.5特殊用戶分析371
16.1.6整體分析372
16.2中文分析372
16.2.1正則表達式373
16.2.2自動提取關鍵詞376