本書結合了Python和機器學習兩個熱門領域,通過易于理解的知識講解,幫助讀者學習和掌握機器學習。
全書共20章,分為5篇。其中第1篇為基礎入門篇,主要講述Python機器學習入門、設置機器學習的環境、機器學習基礎和統計分析數學基礎等內容;第2篇為數據預處理篇,主要講述了產生和加載數據集、數據預處理等內容;第3篇為機器學習算法篇,主要講述了回歸分析、決策樹分析、支持向量機、聚類分析、集成學習、神經網絡學習、卷積網絡學習和模型評價等內容;第4篇為機器學習應用篇,主要講述了圖像識別、語音識別、期刊新聞分類和圖形壓縮4個機器學習應用;第5篇為項目實戰篇,主要講述了社交好友分析、電商點擊率預估等。
本書適用于想了解傳統機器學習算法的學生和從業者,想知道如何高效實現機器學習算法的程序員,以及想了解機器學習算法能如何進行應用的職員、經理等。
楊志曉,工學博士,副教授,現在河南牧業經濟學院智能制造與自動化學院工作,從事計算機應用、控制理論與控制工程專業的教學與科研工作。研究方向主要有:人工智能理論及應用、人機情感交互、可信計算。
曾參與主持河南省重點科技攻關項目1項、河南省教育廳自然科學研究計劃項目2項、河南省高校青年骨干教師資助計劃項目、鄭州市科技攻關項目各1項,主持省級鑒定項目5項,作為主要完成人參與省級項目10余項,參與國家“十一五”科技支撐計劃項目1項,獲省政府科技進步2等獎和3等獎各1項,獲教育廳科技成果一等獎2項,二等獎4項。獲國家授權發明專利2項(均為主持)等。
范艷峰,工學博士,教授。1995年至今,于河南工業大學信息科學與工程學院工作,教授。從事人工智能理論及應用的教學科研工作。
第一篇 基礎入門篇
第1章 Python機器學習
入門 1
1.1 機器學習是人工智能的一個分支 2
1.1.1 什么是智能 2
1.1.2 智能的特點 4
1.1.3 人工智能及其研究內容 5
1.1.4 人工智能的主要學派 7
1.1.5 人工智能的研究和應用范疇 9
1.2 理解機器學習 10
1.2.1 學習與機器學習 10
1.2.2 機器學習的分類 11
1.2.3 典型的機器學習方法 12
1.2.4 深度學習 17
1.3 數據、大數據及其組織方式 18
1.3.1 數據及大數據 18
1.3.2 數據庫與數據倉庫 18
1.4 機器學習的一般步驟 19
1.5 本章小結 21
1.6 習題 21
1.7 高手點撥 21
第2章 設置機器學習的
環境 23
2.1 機器學習工具及Python
Anaconda的安裝 24
2.1.1 機器學習工具 24
2.1.2 Python Anaconda 24
2.1.3 Python Anaconda版的安裝
和使用 28
2.1.4 機器學習庫scikit- learn 32
2.2 環境測試 33
2.3 綜合實例—第一個機器學習
實例 34
2.4 本章小結 36
2.5 習題 36
2.6 高手點撥 36
第3章 Python機器學習
基礎 39
3.1 NumPy數值計算基礎 40
3.2 Matplotlib可視化基礎 59
3.2.1 matplotlib.pyplot繪圖元素和
基本流程 59
3.2.2 繪制散點圖 60
3.2.3 繪制折線圖和點線圖 62
3.2.4 繪制柱狀圖 64
3.2.5 繪制餅圖 67
3.2.6 繪制箱線圖 69
3.2.7 繪制直方圖 70
3.2.8 繪制子圖 71
3.3 Seaborn統計數據可視化 72
3.3.1 特征關系可視化 73
3.3.2 特征分類別可視化 76
3.3.3 特征分布可視化 90
3.3.4 矩陣可視化 98
3.4 訪問數據文件 101
3.4.1 NumPy訪問二進制文件 101
3.4.2 Pandas訪問文本文件 104
3.4.3 Pandas訪問Excel文件 107
3.5 Pandas DataFrame操作 108
3.5.1 DataFrame對象及其屬性 108
3.5.2 使用字典方式訪問
DataFrame 110
3.5.3 使用屬性方式訪問
DataFrame 112
3.5.4 DataFrame訪問行的特殊方法 113
3.5.5 使用DataFrame.loc[ ],
DataFrame.iloc[ ]對
DataFrame進行切片 114
3.5.6 更改DataFrame中的數據 119
3.6 綜合實例—iris數據集特征、
特征間關系及分類別分析 121
3.7 本章小結 129
3.8 習題 129
3.9 高手點撥 130
第4章 統計分析數學基礎及
Python實現 131
4.1 基本統計知識 132
4.1.1 中位數、眾數、極差 132
4.1.2 相關性、協方差、相關系數、
協方差矩陣 133
4.1.3 數據的分組聚合 135
4.1.4 數據透視表與交叉表 136
4.2 NumPy統計分析 136
4.3 Pandas統計分析 140
4.3.1 Pandas DataFrame描述性
統計 141
4.3.2 Pandas DataFrame數據
離散化 146
4.3.3 使用GroupBy拆分數據并
進行描述性統計 150
4.3.4 使用agg方法聚合數據 157
4.3.5 使用apply方法聚合數據 160
4.3.6 使用transform方法聚合
數據 161
4.3.7 使用pivot_table創建
透視表 163
4.3.8 使用crosstab創建交叉表 171
4.4 綜合實例—iris數據集統計
分析 173
4.5 本章小結 189
4.6 習題 189
4.7 高手點撥 190
第二篇 數據預處理篇
第5章 數據分析第一步—
產生和加載
數據集 191
5.1 使用NumPy的函數產生模擬
數據集 192
5.2 使用scikit-learn樣本生成器
生成數據集 198
5.3 訪問scikit-learn自帶數據
文件 206
5.4 訪問外部數據文件 210
5.5 綜合實例—加載boston數據集、
另存為并重新訪問 211
5.6 本章小結 214
5.7 習題 215
5.8 高手點撥 215
第6章 數據分析第二步—
數據預處理 217
6.1 數據預處理的基礎知識 218
6.1.1 一般流程和常用方法 218
6.1.2 標準化和正則化 219
6.1.3 特征選擇 221
6.1.4 特征降維—主成分分析、
線性判別分析 222
6.1.5 Pandas與scikit- learn數據
預處理概述 227
6.2 使用scikit-learn進行數據
預處理 228
6.2.1 使用sklearn對數據集進行
Z- score標準化 228
6.2.2 使用sklearn對數據集進行
極差標準化 232
6.2.3 使用sklearn對數據集
正則化 235
6.2.4 使用sklearn對數據集
二值化 238
6.2.5 使用sklearn進行缺失值
插補 239
6.2.6 使用sklearn對分類特征
編碼 240
6.3 特征降維 242
6.3.1 PCA降維 242
6.3.2 LDA降維 247
6.3.3 TSNE降維 250
6.4 綜合實例—breast_cancer
數據集預處理 253
6.5 本章小結 258
6.6 習題 259
6.7 高手點撥 259
第三篇 機器學習算法篇
第7章 回歸分析 261
7.1 回歸分析及常用方法 262
7.1.1 線性回歸 262
7.1.2 邏輯回歸 263
7.1.3 多項式回歸 263
7.1.4 逐步回歸 263
7.1.5 嶺回歸 263
7.1.6 套索回歸 264
7.1.7 彈性網絡回歸 264
7.2 線性回歸理論基礎 264
7.3 使用scikit-learn進行線性
回歸 266
7.4 使用scikit-learn進行嶺回歸 271
7.5 使用scikit-learn進行邏輯
回歸 274
7.6 使用scikit-learn進行多項式
回歸 280
7.6.1 單特征數據集多項式回歸 280
7.6.2 多特征數據集多項式回歸 285
7.7 綜合實例—波士頓房價數據集
回歸分析 291
7.8 本章小結 295
7.9 習題 296
7.10 高手點撥 296
第8章 分類算法—決策樹
學習 297
8.1 決策樹算法基礎 298
8.1.1 信息熵、信息增益、信息
增益率 298
8.1.2 決策樹算法 302
8.2 使用scikit-learn進行決策樹
學習 303
8.3 綜合實例—使用決策樹對鳶尾花
數據集iris進行分類 314
8.4 本章小結 319
8.5 習題 319
8.6 高手點撥 320