本書一共分為19章,1~7章是編程基礎,為了讓那些沒有編程經(jīng)驗的但是又想從事數(shù)據(jù)分析工作的學員有個入門的基礎。8~19章則介紹了機器學習領域中常用的算法,他們分別是線性回歸,邏輯回歸,神經(jīng)網(wǎng)絡,線性判別,最近鄰算法,決策樹與隨機森林,樸素貝葉斯,支持向量機,主成分分析,奇異值分解,k-means聚類。在第19章中則著重介紹了現(xiàn)在比較流行的深度學習框架。
1.詳細講解Python基礎,針對機器學習重點有的放矢。
2.12個經(jīng)典機器學習算法,由淺入深,有機結合。
3.每章都有相應的代碼和案例,側重實戰(zhàn)開發(fā)。
4.大量的圖片介紹,讓算法不再枯燥難懂。
5.介紹現(xiàn)階段***的深度學習框架,實現(xiàn)由機器學習到深度學習的轉化。
王新宇,上海大學副教授,主講機器學習課程,研究方向包括金融行業(yè)大數(shù)據(jù)挖掘、醫(yī)學行業(yè)大數(shù)據(jù)挖掘、圖像識別以及高性能計算。
第1章 環(huán)境配置與準備知識 1
1.1 環(huán)境配置 1
1.2 機器學習相關概念 2
1.2.1 機器學習中的數(shù)據(jù) 2
1.2.2 訓練集和測試集 4
1.2.3 欠擬合與過度擬合 5
1.2.4 人工智能、機器學習、深度
學習 5
第2章 Python基礎知識 6
2.1 hello world! 6
2.2 變量 6
2.3 操作符 7
2.3.1 基本運算符 7
2.3.2 比較運算符 8
2.3.3 邏輯運算符 10
2.4 字符串 11
2.4.1 基礎 11
2.4.2 轉義字符 12
2.4.3 索引和切片 13
2.4.4 字符串方法 14
2.5 列表 18
2.6 集合 21
2.7 字典 22
2.8 循環(huán)語句 24
2.9 判斷語句 26
2.10 函數(shù) 26
2.11 面向對象編程 29
第3章 數(shù)值計算擴展工具——
Numpy 31
3.1 創(chuàng)建數(shù)組 31
3.1.1 創(chuàng)建元素為0或1的數(shù)組 31
3.1.2 將列表轉換為數(shù)組 33
3.1.3 生成一串數(shù)字 33
3.1.4 生成特殊數(shù)組 34
3.2 數(shù)組索引 35
3.3 排序與查詢 36
3.4 隨機數(shù)生成器 39
3.5 數(shù)學函數(shù) 41
3.5.1 三角函數(shù) 41
3.5.2 指數(shù)與對數(shù) 43
3.5.3 約數(shù) 43
3.5.4 數(shù)組自身加乘 44
3.5.5 算術運算 45
3.6 統(tǒng)計函數(shù) 47
3.7 線性代數(shù) 50
第4章 數(shù)據(jù)分析工具——
Pandas 52
4.1 序列對象Series 52
4.1.1 創(chuàng)建Series對象 52
4.1.2 Series索引 53
4.1.3 查看Series相關屬性 56
4.1.4 二元運算 57
4.1.5 統(tǒng)計方法 62
4.1.6 缺失值處理 65
4.1.7 排序 66
4.1.8 計數(shù)與重復 67
4.1.9 其他 69
4.2 數(shù)據(jù)框對象DataFrame 70
4.2.1 創(chuàng)建數(shù)據(jù)框 70
4.2.2 行操作 71
4.2.3 列操作 73
4.3 分組對象GroupBy 75
4.3.1 基本函數(shù) 75
4.3.2 統(tǒng)計函數(shù) 77
第5章 可視化展示庫——
Matplotlib 80
5.1 作圖類命令 80
5.1.1 折線圖 80
5.1.2 柱狀圖和條形圖 82
5.1.3 散點圖 84
5.1.4 餅圖 85
5.1.5 面積圖 86
5.2 坐標軸控制 88
5.2.1 axis 88
5.2.2 xlim與ylim 89
5.2.3 xticks與yticks 90
5.2.4 xlabel與ylabel 90
5.3 其他設置 91
第6章 通用型開源機器學習庫——
Scikit 93
6.1 預處理 94
6.1.1 標準化 95
6.1.2 非線性轉換 96
6.1.3 歸一化 97
6.1.4 二值化 97
6.1.5 分類特征編碼 98
6.1.6 缺失值插補 99
6.1.7 生成多項式特征 100
6.2 降維 101
6.3 有監(jiān)督學習與無監(jiān)督學習 101
6.4 模型評估 102
6.4.1 測試集評分 102
6.4.2 交叉驗證迭代器 105
6.4.3 分層交叉驗證迭代器 108
6.4.4 分組迭代器 109
6.4.5 時間序列交叉驗證 111
第7章 機器學習常用數(shù)據(jù)集 112
7.1 boston房價數(shù)據(jù)集 112
7.1.1 數(shù)據(jù)集基本信息描述 112
7.1.2 數(shù)據(jù)探索 113
7.2 diabetes糖尿病數(shù)據(jù)集 115
7.2.1 數(shù)據(jù)基本信息描述 116
7.2.2 數(shù)據(jù)探索 116
7.3 digits手寫字體識別數(shù)據(jù)集 117
7.3.1 數(shù)據(jù)集基本信息描述 124
7.3.2 數(shù)據(jù)集探索 124
7.4 iris鳶尾花數(shù)據(jù)集 127
7.4.1 數(shù)據(jù)集基本信息描述 127
7.4.2 數(shù)據(jù)探索 128
7.5 wine紅酒數(shù)據(jù)集 131
7.5.1 數(shù)據(jù)集基本信息描述 131
7.5.2 數(shù)據(jù)探索 132
第8章 線性回歸算法 134
8.1 從二次函數(shù)到機器學習 134
8.1.1 二次函數(shù)最優(yōu)求解方法 134
8.1.2 梯度下降 135
8.1.3 梯度下降的Python實現(xiàn) 138
8.1.4 初始值與學習速率? 的選擇 139
8.2 深入理解線性回歸算法 142
8.2.1 回歸曲線的數(shù)學解釋 143
8.2.2 梯度下降方法求解最優(yōu)直線 144
8.2.3 理解“機器學習”中的
“學習” 145
8.2.4 導數(shù)求解與梯度下降 145
8.2.5 學習速率? 與迭代次數(shù)的設置 146
8.3 線性回歸算法實戰(zhàn)——糖尿病患者
病情預測 146
第9章 邏輯回歸算法 149
9.1 邏輯回歸算法的基礎知識 149
9.1.1 直線分割平面 149
9.1.2 邏輯函數(shù) 153
9.2 深入理解邏輯回歸算法 155
9.2.1 直線分類器與邏輯回歸的結合 155
9.2.2 Sigmoid函數(shù)的作用 158
9.2.3 邏輯回歸模型 159
9.3 邏輯回歸算法實戰(zhàn)—— 二維鳶尾花
分類 160
第10章 神經(jīng)網(wǎng)絡算法 164
10.1 神經(jīng)網(wǎng)絡算法的基礎知識 164
10.1.1 邏輯回歸與神經(jīng)網(wǎng)絡的關系 165
10.1.2 激活函數(shù) 165
10.2 深入理解神經(jīng)網(wǎng)絡算法 167
10.2.1 神經(jīng)網(wǎng)絡的表示 167
10.2.2 做回歸的神經(jīng)網(wǎng)絡 168
10.2.3 做二分類的神經(jīng)網(wǎng)絡 168
10.2.4 做多分類的神經(jīng)網(wǎng)絡 169
10.3 神經(jīng)網(wǎng)絡的應用 169
10.3.1 MLPClassifier分類 169
10.3.2 MLPRegressor回歸 171
第11章 線性判別算法 173
11.1 線性判別算法的核心知識 173
11.1.1 方差 173
11.1.2 投影 175
11.1.3 投影方式與方差的關系 177
11.2 線性判別算法詳解 178
11.2.1 投影的實際應用 179
11.2.2 另一種思路解決重疊問題 180
11.2.3 線性判別算法的實質 182
11.3 線性判別算法實戰(zhàn)—— 花卉分類 183
第12章 K最近鄰算法 187
12.1 K最近鄰算法的核心知識 187
12.1.1 兩點的距離公式 187
12.1.2 權重 188
12.2 K最近鄰算法詳解 188
12.2.1 K最近鄰算法原理 188
12.2.2 K最近鄰算法的關鍵—— k的
選擇 191
12.2.3 距離加權最近鄰算法 191
12.3 K最近鄰算法實戰(zhàn)—— 手寫字體
識別 192
第13章 決策樹方法與隨機
森林 194
13.1 決策樹方法的基本知識 194
13.2 決策樹方法的原理 197
13.2.1 信息熵 198
13.2.2 分割數(shù)據(jù) 199
13.2.3 計算信息增益 201
13.3 決策樹方法實戰(zhàn)—— 紅酒分類 204
13.4 隨機森林 205
第14章 貝葉斯算法 206
14.1 貝葉斯算法的基礎知識 206
14.1.1 概率 206
14.1.2 條件概率 207
14.1.3 聯(lián)合概率 209
14.1.4 貝葉斯定理 210
14.2 深入理解貝葉斯算法 210
14.2.1 先驗概率和后驗概率 211
14.2.2 詞向量 211
14.2.3 貝葉斯模型 214
14.3 貝葉斯算法實戰(zhàn)—— 文本分類 222
第15章 支持向量機 225
15.1 支持向量機的基礎知識 225
15.1.1 向量 225
15.1.2 點積 228
15.1.3 投影 229
15.1.4 向量與代數(shù)直線的關系 230
15.2 深入理解支持向量機 233
15.2.1 超平面 233
15.2.2 支持向量機在二維空間的
超平面 234
15.2.3 計算最優(yōu)超平面 235
15.3 支持向量機實戰(zhàn)—— 鳶尾花分類 237
第16章 PCA降維算法 240
16.1 PCA降維算法的核心知識 240
16.1.1 矩陣的直觀理解 240
16.1.2 特征向量的本質 243
16.1.3 協(xié)方差 244
16.1.4 協(xié)方差矩陣 244
16.2 PCA降維算法詳解 244
16.2.1 協(xié)方差矩陣的特征向量 245
16.2.2 PCA降維算法的Python
實現(xiàn) 246
16.3 PCA降維算法實戰(zhàn)—— iris數(shù)據(jù)集
可視化 247
第17章 SVD奇異值分解 249
17.1 SVD奇異值分解的相關知識 249
17.2 深入理解矩陣作用 250
17.2.1 矩陣作用 250
17.2.2 將矩陣作用分解為特征向量
作用 251
17.2.3 將矩陣作用分解為奇異矩陣
作用 253
17.3 SVD奇異值分解的應用 255
17.3.1 U矩陣的理解 257
17.3.2 V矩陣的理解 258
17.3.3 S矩陣的理解 259
第18章 聚類算法 260
18.1 深入理解K均值聚類算法 260
18.2 Scikit庫中的K均值聚類算法 264
18.3 其他聚類算法 266
第19章 深度學習框架及其
應用 269
19.1 TensorFlow 269
19.1.1 TensorFlow的基本概念 269
19.1.2 TensorFlow的應用 271
19.2 Keras 277
19.3 PyTorch 282
19.4 Caffe 288