近年來,Python語言成為了廣受歡迎的編程語言,而它在機器學習領域也有很好的表現。scikit-learn是一個用Python語言編寫的機器學習算法庫,它可以實現一系列常用的機器學習算法,是一個好工具。
本書通過14章內容,詳細地介紹了一系列機器學習模型和scikit-learn的使用技巧。本書從機器學習的基礎理論講起,涵蓋了簡單線性回歸、K-近鄰算法、特征提取、多元線性回歸、邏輯回歸、樸素貝葉斯、非線性分類、決策樹回歸、隨機森林、感知機、支持向量機、人工神經網絡、K-均值算法、主成分分析等重要話題。
本書適合機器學習領域的工程師學習,也適合想要了解scikit-learn的數據科學家閱讀。通過閱讀本書,讀者將有效提升自己在機器學習模型的構建和評估方面的能力,并能夠高效地解決機器學習難題。
機器學習是一個非常熱門的技術,本書內容涵蓋多種機器學習模型,包括流行的機器學習算法,例如K近鄰算法、邏輯回歸、樸素貝葉斯、K 均值算法、決策樹以及人工神經網絡。與此同時,還討論了數據預處理、超參數優(yōu)化和集成方法等主題。
閱讀完本書之后,讀者將學會構建用于文檔分類、圖像識別、廣告檢測等任務的系統(tǒng),還將學到如何使用scikit-learn類庫的API從類別變量、文本和圖像中提取特征,如何評估模型的性能,并對如何提升模型的性能建立直覺。除此之外,還將掌握在實踐中運用scikit-learn構建高效模型所需的技能,并能夠通過實用的策略完成高級任務。
Gavin Hackeling 是一名數據科學家和作家。他研究過各種各樣的機器學習問題,包括自動語音識別、文檔分類、目標識別、以及語義切分。Gavin Hackeling 畢業(yè)于北卡羅來納大學和紐約大學,目前和他的妻子和貓生活在布魯克林。
第 1章 機器學習基礎 1
1.1 定義機器學習 1
1.2 從經驗中學習 2
1.3 機器學習任務 3
1.4 訓練數據、測試數據和驗證數據 4
1.5 偏差和方差 6
1.6 scikit-learn簡介 8
1.7 安裝scikit-learn 8
1.7.1 使用pip安裝 9
1.7.2 在Windows系統(tǒng)下安裝 9
1.7.3 在Ubuntu 16.04系統(tǒng)下安裝 10
1.7.4 在Mac OS系統(tǒng)下安裝 10
1.7.5 安裝Anaconda 10
1.7.6 驗證安裝 10
1.8 安裝pandas、Pillow、NLTK和matplotlib 11
1.9 小結 11
第 2章 簡單線性回歸 12
2.1 簡單線性回歸 12
2.1.1 用代價函數評價模型的擬合性 15
2.1.2 求解簡單線性回歸的OLS 17
2.2 評價模型 19
2.3 小結 21
第3章 用K-近鄰算法分類和回歸 22
3.1 K-近鄰模型 22
3.2 惰性學習和非參數模型 23
3.3 KNN模型分類 23
3.4 KNN模型回歸 31
3.5 小結 36
第4章 特征提取 37
4.1 從類別變量中提取特征 37
4.2 特征標準化 38
4.3 從文本中提取特征 39
4.3.1 詞袋模型 39
4.3.2 停用詞過濾 42
4.3.3 詞干提取和詞形還原 43
4.3.4 tf-idf權重擴展詞包 45
4.3.5 空間有效特征向量化與哈希技巧 48
4.3.6 詞向量 49
4.4 從圖像中提取特征 52
4.4.1 從像素強度中提取特征 53
4.4.2 使用卷積神經網絡激活項作為特征 54
4.5 小結 56
第5章 從簡單線性回歸到多元線性回歸 58
5.1 多元線性回歸 58
5.2 多項式回歸 62
5.3 正則化 66
5.4 應用線性回歸 67
5.4.1 探索數據 67
5.4.2 擬合和評估模型 69
5.5 梯度下降法 72
5.6 小結 76
第6章 從線性回歸到邏輯回歸 77
6.1 使用邏輯回歸進行二元分類 77
6.2 垃圾郵件過濾 79
6.2.1 二元分類性能指標 81
6.2.2 準確率 82
6.2.3 精準率和召回率 83
6.2.4 計算F1值 84
6.2.5 ROC AUC 84
6.3 使用網格搜索微調模型 86
6.4 多類別分類 88
6.5 多標簽分類和問題轉換 93
6.6 小結 97
第7章 樸素貝葉斯 98
7.1 貝葉斯定理 98
7.2 生成模型和判別模型 100
7.3 樸素貝葉斯 100
7.4 在scikit-learn中使用樸素貝葉斯 102
7.5 小結 106
第8章 非線性分類和決策樹回歸 107
8.1 決策樹 107
8.2 訓練決策樹 108
8.2.1 選擇問題 109
8.2.2 基尼不純度 116
8.3 使用scikit-learn類庫創(chuàng)建決策樹 117
8.4 小結 120
第9章 集成方法:從決策樹到隨機森林 121
9.1 套袋法 121
9.2 推進法 124
9.3 堆疊法 126
9.4 小結 128
第 10章 感知機 129
10.1 感知機 129
10.1.1 激活函數 130
10.1.2 感知機學習算法 131
10.1.3 使用感知機進行二元分類 132
10.1.4 使用感知機進行文檔分類 138
10.2 感知機的局限性 139
10.3 小結 140
第 11章 從感知機到支持向量機 141
11.1 核與核技巧 141
11.2 最大間隔分類和支持向量 145
11.3 用scikit-learn分類字符 147
11.3.1 手寫數字分類 147
11.3.2 自然圖片字符分類 150
11.4 小結 152
第 12章 從感知機到人工神經網絡 153
12.1 非線性決策邊界 154
12.2 前饋人工神經網絡和反饋人工神經網絡 155
12.3 多層感知機 155
12.4 訓練多層感知機 157
12.4.1 反向傳播 158
12.4.2 訓練一個多層感知機逼近XOR函數 162
12.4.3 訓練一個多層感知機分類手寫數字 164
12.5 小結 165
第 13章 K-均值算法 166
13.1 聚類 166
13.2 K-均值算法 168
13.2.1 局部最優(yōu)值 172
13.2.2 用肘部法選擇K值 173
13.3 評估聚類 176
13.4 圖像量化 178
13.5 通過聚類學習特征 180
13.6 小結 184
第 14章 使用主成分分析降維 185
14.1 主成分分析 185
14.1.1 方差、協方差和協方差矩陣 188
14.1.2 特征向量和特征值 190
14.1.3 進行主成分分析 192
14.2 使用PCA對高維數據可視化 194
14.3 使用PCA進行面部識別 196
14.4 小結 199