圖書信息
作 譯 者:魏貞原
出版時間:2018-01
版 次:01-01
開 本:16開
印 次:01-01
I S B N :9787121331107
內容簡介
本書系統地講解了機器學習的基本知識,以及在實際項目中使用機器學習的基本步驟和方法;詳細地介紹了在進行數據處理、分析時怎樣選擇
合適的算法,以及建立模型並最佳化等方法,通過不同的例子展示了機器學習在具體項目中的套用和實踐經驗,是一本非常好的機器學習入門和實踐的書籍。不同於很多講解機器學習的書籍,本書以實踐為導向,使用 scikit-learn 作為編程框架,強調簡單、快速地建立模型,解決實際項目問題。讀者通過對本書的學習,可以迅速上手實踐機器學習,並利用機器學習解決實際問題。本書非常適合於項目經理、有意從事機器學習開發的程式設計師,以及高校相關專業在的讀學生閱讀。
圖書目錄
第一部分 初始
1 初識機器學習.................................................................................. 2
1.1 學習機器學習的誤區 ........................................................................................ 2
1.2 什麼是機器學習 ................................................................................................ 3
1.3 Python 中的機器學習........................................................................................ 3
1.4 學習機器學習的原則 ........................................................................................ 5
1.5 學習機器學習的技巧 ........................................................................................ 5
1.6 這本書不涵蓋以下內容 .................................................................................... 6
1.7 代碼說明 ............................................................................................................ 6
1.8 總結.................................................................................................................... 6
2 Python 機器學習的生態圈 .............................................................. 7
2.1 Python ................................................................................................................. 7
2.2 SciPy ................................................................................................................... 9
2.3 scikit-learn .......................................................................................................... 9
2.4 環境安裝 .......................................................................................................... 10
2.4.1 安裝 Python.......................................................................................... 10
2.4.2 安裝 SciPy ........................................................................................... 10
2.4.3 安裝 scikit-learn ................................................................................... 11
2.4.4 更加便捷的安裝方式.......................................................................... 11
2.5 總結.................................................................................................................. 12
3 第一個機器學習項目..................................................................... 13
3.1 機器學習中的 Hello World 項目 .................................................................... 13
3.2 導入數據.......................................................................................................... 14
3.2.1 導入類庫.............................................................................................. 14
3.2.2 導入數據集.......................................................................................... 15
3.3 概述數據.......................................................................................................... 15
3.3.1 數據維度.............................................................................................. 16
3.3.2 查看數據自身...................................................................................... 16
3.3.3 統計描述數據...................................................................................... 17
3.3.4 數據分類分布...................................................................................... 17
3.4 數據可視化...................................................................................................... 18
3.4.1 單變數圖表.......................................................................................... 18
3.4.2 多變數圖表.......................................................................................... 20
3.5 評估算法.......................................................................................................... 20
3.5.1 分離出評估數據集.............................................................................. 21
3.5.2 評估模式.............................................................................................. 21
3.5.3 創建模型.............................................................................................. 21
3.5.4 選擇最優模型...................................................................................... 22
3.6 實施預測.......................................................................................................... 23
3.7 總結.................................................................................................................. 24
4 Python 和 SciPy 速成 ................................................................... 25
4.1 Python 速成 ..................................................................................................... 25
4.1.1 基本數據類型和賦值運算.................................................................. 26
4.1.2 控制語句.............................................................................................. 28
4.1.3 複雜數據類型...................................................................................... 29
4.1.4 函式...................................................................................................... 32
4.1.5 with 語句.............................................................................................. 33
4.2 NumPy 速成..................................................................................................... 34
4.2.1 創建數組.............................................................................................. 34
4.2.2 訪問數據.............................................................................................. 35
4.2.3 算數運算.............................................................................................. 35
4.3 Matplotlib 速成 ................................................................................................ 36
4.3.1 繪製線條圖.......................................................................................... 36
4.3.2 散點圖.................................................................................................. 37
4.4 Pandas 速成...................................................................................................... 39
4.4.1 Series .................................................................................................... 39
4.4.2 DataFrame ............................................................................................ 40
4.5 總結.................................................................................................................. 41
第二部分 數據理解
5 數據導入....................................................................................... 44
5.1 CSV 檔案 ......................................................................................................... 44
5.1.1 檔案頭.................................................................................................. 45
5.1.2 檔案中的注釋...................................................................................... 45
5.1.3 分隔設定.................................................................................................. 45
5.1.4 引號...................................................................................................... 45
5.2 Pima Indians 數據集 ........................................................................................ 45
5.3 採用標準 Python 類庫導入數據..................................................................... 46
5.4 採用 NumPy 導入數據.................................................................................... 46
5.5 採用 Pandas 導入數據..................................................................................... 47
5.6 總結.................................................................................................................. 47
6 數據理解....................................................................................... 48
6.1 簡單地查看數據.............................................................................................. 48
6.2 數據的維度...................................................................................................... 49
6.3 數據屬性和類型.............................................................................................. 50
6.4 描述性統計...................................................................................................... 50
6.5 數據分組分布(適用於分類算法) .............................................................. 51
6.6 數據屬性的相關性.......................................................................................... 52
6.7 數據的分布分析.............................................................................................. 53
6.8 總結.................................................................................................................. 54
7 數據可視化 ................................................................................... 55
7.1 單一圖表.......................................................................................................... 55
7.1.1 直方圖.................................................................................................. 55
7.1.2 密度圖.................................................................................................. 56
7.1.3 箱線圖.................................................................................................. 57
7.2 多重圖表.......................................................................................................... 58
7.2.1 相關矩陣圖.......................................................................................... 58
7.2.2 散點矩陣圖.......................................................................................... 60
7.3 總結.................................................................................................................. 61
第三部分 數據準備
8 數據預處理 ................................................................................... 64
8.1 為什麼需要數據預處理.................................................................................. 64
8.2 格式化數據...................................................................................................... 65
8.3 調整數據尺度.................................................................................................. 65
8.4 正態化數據...................................................................................................... 67
8.5 標準化數據...................................................................................................... 68
8.6 二值數據 .......................................................................................................... 69
8.7 總結.................................................................................................................. 70
9 數據特徵選定................................................................................ 71
9.1 特徵選定 .......................................................................................................... 72
9.2 單變數特徵選定 .............................................................................................. 72
9.3 遞歸特徵消除 .................................................................................................. 73
9.4 主要成分分析 .................................................................................................. 75
9.5 特徵重要性 ...................................................................................................... 76
9.6 總結.................................................................................................................. 76
第四部分 選擇模型
10 評估算法....................................................................................... 78
10.1 評估算法的方法 ............................................................................................ 78
10.2 分離訓練數據集和評估數據集 .................................................................... 79
10.3 K 折交叉驗證分離 ........................................................................................ 80
10.4 棄一交叉驗證分離 ........................................................................................ 81
10.5 重複隨機分離評估數據集與訓練數據集 .................................................... 82
10.6 總結................................................................................................................ 83
11 算法評估矩陣 ................................................................................ 85
11.1 算法評估矩陣 ................................................................................................ 85
11.2 分類算法矩陣 ................................................................................................ 86
11.2.1 分類準確度 ........................................................................................ 86
11.2.2 對數損失函式 .................................................................................... 87
11.2.3 AUC 圖............................................................................................... 88
11.2.4 混淆矩陣............................................................................................ 90
11.2.5 分類報告............................................................................................ 91
11.3 回歸算法矩陣................................................................................................ 93
11.3.1 平均絕對誤差.................................................................................... 93
11.3.2 均方誤差............................................................................................ 94
11.3.3 決定係數( ............................................................................... )??95
11.4 總結................................................................................................................ 96
12 審查分類算法................................................................................ 97
12.1 算法審查........................................................................................................ 97
12.2 算法概述........................................................................................................ 98
12.3 線性算法........................................................................................................ 98
12.3.1 邏輯回歸............................................................................................ 99
12.3.2 線性判別分析.................................................................................. 100
12.4 非線性算法.................................................................................................. 101
12.4.1 K 近鄰算法...................................................................................... 101
12.4.2 貝葉斯分類器.................................................................................. 102
12.4.3 分類與回歸樹.................................................................................. 103
12.4.4 支持向量機...................................................................................... 104
12.5 總結.............................................................................................................. 105
13 審查回歸算法.............................................................................. 106
13.1 算法概述...................................................................................................... 106
13.2 線性算法...................................................................................................... 107
13.2.1 線性回歸算法.................................................................................. 107
13.2.2 嶺回歸算法...................................................................................... 108
13.2.3 套索回歸算法.................................................................................. 109
13.2.4 彈性網路回歸算法.......................................................................... 110
13.3 非線性算法................................................................................................... 111
13.3.1 K 近鄰算法....................................................................................... 111
13.3.2 分類與回歸樹.................................................................................. 112
13.3.3 支持向量機...................................................................................... 112
13.4 總結.............................................................................................................. 113
14 算法比較..................................................................................... 115
14.1 選擇最佳的機器學習算法 .......................................................................... 115
14.2 機器學習算法的比較 .................................................................................. 116
14.3 總結.............................................................................................................. 118
15 自動流程..................................................................................... 119
15.1 機器學習的自動流程 .................................................................................. 119
15.2 數據準備和生成模型的 Pipeline ................................................................ 120
15.3 特徵選擇和生成模型的 Pipeline ................................................................ 121
15.4 總結.............................................................................................................. 122
第五部分 最佳化模型
16 集成算法..................................................................................... 124
16.1 集成的方法 .................................................................................................. 124
16.2 裝袋算法 ...................................................................................................... 125
16.2.1 裝袋決策樹...................................................................................... 125
16.2.2 隨機森林.......................................................................................... 126
16.2.3 極端隨機樹...................................................................................... 127
16.3 提升算法 ...................................................................................................... 129
16.3.1 AdaBoost .......................................................................................... 129
16.3.2 隨機梯度提升.................................................................................. 130
16.4 投票算法 ...................................................................................................... 131
16.5 總結.............................................................................................................. 132
17 算法調參..................................................................................... 133
17.1 機器學習算法調參...................................................................................... 133
17.2 格線搜尋最佳化參數...................................................................................... 134
17.3 隨機搜尋最佳化參數...................................................................................... 135
17.4 總結.............................................................................................................. 136
第六部分 結果部署
18 持久化載入模型 .......................................................................... 138
18.1 通過 pickle 序列化和反序列化機器學習的模型 ...................................... 138
18.2 通過 joblib 序列化和反序列化機器學習的模型....................................... 140
18.3 生成模型的技巧.......................................................................................... 141
18.4 總結.............................................................................................................. 141
第七部分 項目實踐
19 預測模型項目模板....................................................................... 144
19.1 在項目中實踐機器學習.............................................................................. 145
19.2 機器學習項目的 Python 模板..................................................................... 145
19.3 各步驟的詳細說明...................................................................................... 146
步驟 1:定義問題......................................................................................... 147
步驟 2:理解數據......................................................................................... 147
步驟 3:數據準備......................................................................................... 147
步驟 4:評估算法......................................................................................... 147
步驟 5:最佳化模型......................................................................................... 148
步驟 6:結果部署......................................................................................... 148
19.4 使用模板的小技巧 ...................................................................................... 148
19.5 總結.............................................................................................................. 149
20 回歸項目實例.............................................................................. 150
20.1 定義問題 ...................................................................................................... 150
20.2 導入數據 ...................................................................................................... 151
20.3 理解數據 ...................................................................................................... 152
20.4 數據可視化 .................................................................................................. 155
20.4.1 單一特徵圖表.................................................................................. 155
20.4.2 多重數據圖表.................................................................................. 157
20.4.3 思路總結.......................................................................................... 159
20.5 分離評估數據集 .......................................................................................... 159
20.6 評估算法 ...................................................................................................... 160
20.6.1 評估算法——原始數據.................................................................. 160
20.6.2 評估算法——正態化數據 .............................................................. 162
20.7 調參改善算法 .............................................................................................. 164
20.8 集成算法 ...................................................................................................... 165
20.9 集成算法調參 .............................................................................................. 167
20.10 確定最終模型 ............................................................................................ 168
20.11 總結 ............................................................................................................ 169
21 二分類實例 ................................................................................. 170
21.1 問題定義 ...................................................................................................... 170
21.2 導入數據 ...................................................................................................... 171
21.3 分析數據 ...................................................................................................... 172
21.3.1 描述性統計...................................................................................... 172
21.3.2 數據可視化...................................................................................... 177
21.4 分離評估數據集 .......................................................................................... 180
21.5 評估算法 ...................................................................................................... 180
21.6 算法調參...................................................................................................... 184
21.6.1 K 近鄰算法調參.............................................................................. 184
21.6.2 支持向量機調參.............................................................................. 185
21.7 集成算法...................................................................................................... 187
21.8 確定最終模型.............................................................................................. 190
21.9 總結.............................................................................................................. 190
22 文本分類實例.............................................................................. 192
22.1 問題定義...................................................................................................... 192
22.2 導入數據...................................................................................................... 193
22.3 文本特徵提取.............................................................................................. 195
22.4 評估算法...................................................................................................... 196
22.5 算法調參...................................................................................................... 198
22.5.1 邏輯回歸調參.................................................................................. 199
22.5.2 樸素貝葉斯分類器調參.................................................................. 199
22.6 集成算法...................................................................................................... 200
22.7 集成算法調參.............................................................................................. 201
22.8 確定最終模型.............................................................................................. 202
22.9 總結.............................................................................................................. 203
附錄 A ...................................................................................................... 205
A.1 IDE PyCharm 介紹 ....................................................................................... 205
A.2 Python 文檔................................................................................................... 206
A.3 SciPy、 NumPy、 Matplotlib 和 Pandas 文檔 .............................................. 206
A.4 樹模型可視化............................................................................................... 206
A.5 scikit-learn 的算法選擇路徑 ........................................................................ 209
A.6 聚類分析....................................................................................................... 209