本書采用常用技術(shù)與真實案例相結(jié)合的講解方式,深入淺出地介紹了Python機器學習應(yīng)用的主要內(nèi)容。全書共8章,內(nèi)容包括Python概述、NumPy數(shù)值計算、pandas基礎(chǔ)、pandas進階、Matplotlib繪圖、scikit-learn、餐飲企業(yè)綜合分析與預(yù)測、通信運營商客戶流失分析與預(yù)測。前6章設(shè)置了選擇題、填空題和操作題,后兩章設(shè)置了操作題,希望通過練習和操作實踐,讀者可以鞏固所學的內(nèi)容。
本書可以作為高校大數(shù)據(jù)或人工智能專業(yè)的教材,也可作為機器學習愛好者的自學用書。
全書大部分章節(jié)緊扣實際需求展開,不堆積知識點,著重于解決問題時思路的啟發(fā)與方案的實施,幫助讀者真正理解與消化Python機器學習編程與實戰(zhàn)。
書中案例全部源于企業(yè)真實項目,可操作性強,引導(dǎo)讀者融會貫通,并提供源代碼等相關(guān)學習資源,幫助讀者快速掌握Python機器學習相關(guān)技能。
張良均,高級信息系統(tǒng)項目管理師,泰迪杯全國大學生數(shù)據(jù)挖掘競賽(www.tipdm.org)的發(fā)起人。華南師范大學、廣東工業(yè)大學兼職教授,廣東省工業(yè)與應(yīng)用數(shù)學學會理事。兼有大型高科技企業(yè)和高校的工作經(jīng)歷,主要從事大數(shù)據(jù)挖掘及其應(yīng)用的策劃、研發(fā)及咨詢培訓(xùn)。全國計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試繼續(xù)教育和CDA數(shù)據(jù)分析師培訓(xùn)講師。發(fā)表數(shù)據(jù)挖掘相關(guān)論文數(shù)二十余篇,已取得國家發(fā)明專利12項,主編圖書《神經(jīng)網(wǎng)絡(luò)實用教程》《數(shù)據(jù)挖掘:實用案例分析》《MATLAB數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》等9本暢銷圖書,主持并完成科技項目9項。獲得SAS、SPSS數(shù)據(jù)挖掘認證及Hadoop開發(fā)工程師證書,具有電力、電信、銀行、制造企業(yè)、電子商務(wù)和電子政務(wù)的項目經(jīng)驗和行業(yè)背景。
第 1章 Python概述 1
1.1 Python簡介 1
1.1.1 Python語言 1
1.1.2 Python與機器學習 1
1.1.3 Python環(huán)境配置 2
1.2 Python基礎(chǔ)知識 5
1.2.1 固定語法 5
1.2.2 運算符 6
1.2.3 數(shù)據(jù)類型 9
1.2.4 Python I/O 14
1.3 控制語句 17
1.3.1 條件語句 18
1.3.2 循環(huán)語句 20
1.4 函數(shù) 22
小結(jié) 25
課后習題 26
第 2章 NumPy數(shù)值計算 28
2.1 ndarray的創(chuàng)建與索引 28
2.1.1 創(chuàng)建ndarray 28
2.1.2 ndarray的索引和切片 33
2.2 ndarray的基礎(chǔ)操作 36
2.2.1 變換ndarray的形態(tài) 36
2.2.2 排序與搜索 42
2.3 ufunc 46
2.3.1 ufunc的廣播機制 46
2.3.2 常用ufunc運算 47
小結(jié) 54
課后習題 54
第3章 pandas基礎(chǔ) 56
3.1 pandas常用類 56
3.1.1 Series 56
3.1.2 DataFrame 60
3.1.3 Index 64
3.2 DataFrame基本操作 65
3.2.1 索引 66
3.2.2 排序 70
3.2.3 合并 73
3.3 其他數(shù)據(jù)類型操作 78
3.3.1 時間操作 78
3.3.2 文本操作 87
3.3.3 category操作 90
小結(jié) 93
課后習題 93
第4章 pandas進階 95
4.1 數(shù)據(jù)的讀取與寫出 95
4.1.1 CSV 95
4.1.2 Excel 97
4.1.3 數(shù)據(jù)庫 98
4.2 DataFrame進階 101
4.2.1 統(tǒng)計分析 101
4.2.2 分組運算 106
4.2.3 透視表和交叉表 111
4.3 數(shù)據(jù)準備 113
4.3.1 缺失值處理 113
4.3.2 重復(fù)數(shù)據(jù)處理 117
4.3.3 連續(xù)特征離散化處理 118
4.3.4 啞變量處理 120
小結(jié) 122
課后習題 122
第5章 Matplotlib繪圖 124
5.1 Matplotlib繪圖基礎(chǔ) 124
5.1.1 編程風格 124
5.1.2 動態(tài)rc參數(shù) 128
5.2 分析特征關(guān)系常用圖形 133
5.2.1 散點圖 133
5.2.2 折線圖 135
5.3 分析特征內(nèi)部數(shù)據(jù)狀態(tài)常用
圖形 137
5.3.1 直方圖與條形圖 138
5.3.2 餅圖 140
5.3.3 箱線圖 142
小結(jié) 144
課后習題 144
第6章 scikit-learn 146
6.1 數(shù)據(jù)準備 146
6.1.1 標準化 146
6.1.2 歸一化 149
6.1.3 二值化 150
6.1.4 獨熱編碼 151
6.2 降維 153
6.2.1 PCA 154
6.2.2 ICA 158
6.2.3 LDA 162
6.3 分類 166
6.3.1 Logistic回歸 166
6.3.2 SVM 171
6.3.3 決策樹 174
6.3.4 KNN 178
6.3.5 樸素貝葉斯 180
6.3.6 隨機森林 183
6.3.7 多層感知機 186
6.4 回歸 189
6.4.1 最小二乘回歸 191
6.4.2 嶺回歸 194
6.4.3 Lasso回歸 195
6.5 聚類 198
6.5.1 K-Means 199
6.5.2 層次聚類 202
6.5.3 DBSCAN 205
6.5.4 GMM 208
6.6 模型驗證 212
6.6.1 數(shù)據(jù)集劃分 212
6.6.2 交叉驗證 213
6.6.3 自動調(diào)參 214
6.6.4 模型評價 217
小結(jié) 221
課后習題 221
第7章 餐飲企業(yè)綜合分析與預(yù)測 225
7.1 餐飲企業(yè)需求分析 225
7.1.1 餐飲企業(yè)現(xiàn)狀與需求 225
7.1.2 餐飲企業(yè)數(shù)據(jù)基本狀況 226
7.1.3 餐飲企業(yè)數(shù)據(jù)分析的步驟與流程 227
7.2 數(shù)據(jù)準備 227
7.2.1 統(tǒng)計每日用餐人數(shù)與銷售額 227
7.2.2 數(shù)據(jù)預(yù)處理 229
7.3 使用K-Means算法進行客戶價值分析 231
7.3.1 構(gòu)建RFM特征 231
7.3.2 構(gòu)建K-Means模型 233
7.3.3 K-Means模型結(jié)果分析 234
7.4 使用決策樹算法實現(xiàn)餐飲客戶流失預(yù)測 236
7.4.1 構(gòu)建客戶流失特征 236
7.4.2 構(gòu)建客戶流失預(yù)測模型 238
7.4.3 分析決策樹模型結(jié)果 239
小結(jié) 240
課后習題 240
第8章 通信運營商用戶流失分析與預(yù)測 242
8.1 通信運營商用戶流失需求分析 242
8.1.1 通信運營商現(xiàn)狀與需求 242
8.1.2 通信運營商數(shù)據(jù)基本情況 242
8.1.3 通信運營商用戶流失分析與預(yù)測的步驟與流程 243
8.2 數(shù)據(jù)準備 244
8.2.1 數(shù)據(jù)去重與降維 244
8.2.2 數(shù)據(jù)清洗 245
8.2.3 數(shù)據(jù)合并 247
8.3 特征工程 251
8.3.1 獨熱編碼 251
8.3.2 合并預(yù)處理后的數(shù)據(jù)集 252
8.4 使用MLP算法實現(xiàn)通信運營商用戶流失預(yù)測 253
8.4.1 數(shù)據(jù)集劃分與數(shù)據(jù)標準化 253
8.4.2 構(gòu)建用戶流失預(yù)測模型 255
8.4.3 模型評價 255
小結(jié) 256
課后習題 256