機器學習實戰/机器学习实战 (Machine Learning in Action) 電子書/原始碼

機器學習實戰/机器学习实战 (Machine Learning in Action) 電子書/原始碼

機器學習實戰/机器学习实战 (Machine Learning in Action) 電子書/原始碼


GITHUB: https://github.com/jash-git/Machine-Learning-in-Action


第一部分 分類

第1章 機器學習基礎 2
1.1 何謂機器學習 3
1.1.1 傳感器和海量數據 4
1.1.2 機器學習非常重要 5
1.2 關鍵術語 5
1.3 機器學習的主要任務 7
1.4 如何選擇合適的算法 8
1.5 開發機器學習應用程序的步驟 9
1.6 Python語言的優勢 10
1.6.1 可執行偽代碼 10
1.6.2 Python比較流行 10
1.6.3 Python語言的特色 11
1.6.4 Python語言的缺點 11
1.7 NumPy函數庫基礎 12
1.8 本章小結 13

第2章 k-近鄰算法 15
2.1 k-近鄰算法概述 15
2.1.1 準備:使用Python導入數據 17
2.1.2 從文本文件中解析數據 19
2.1.3 如何測試分類器 20
2.2 示例:使用k-近鄰算法改進約會網站的配對效果 20
2.2.1 準備數據:從文本文件中解析數據 21
2.2.2 分析數據:使用Matplotlib創建散點圖 23
2.2.3 準備數據:歸一化數值 25
2.2.4 測試算法:作為完整程序驗證分類器 26
2.2.5 使用算法:構建完整可用系統 27
2.3 示例:手寫識別系統 28
2.3.1 準備數據:將圖像轉換為測試向量 29
2.3.2 測試算法:使用k-近鄰算法識別手寫數字 30
2.4 本章小結 31

第3章 決策樹 32
3.1 決策樹的構造 33
3.1.1 信息增益 35
3.1.2 劃分數據集 37
3.1.3 遞歸構建決策樹 39
3.2 在Python中使用Matplotlib注解繪制樹形圖 42
3.2.1 Matplotlib注解 43
3.2.2 構造注解樹 44
3.3 測試和存儲分類器 48
3.3.1 測試算法:使用決策樹執行分類 49
3.3.2 使用算法:決策樹的存儲 50
3.4 示例:使用決策樹預測隱形眼鏡類型 50
3.5 本章小結 52

第4章 基于概率論的分類方法:樸素貝葉斯 53
4.1 基于貝葉斯決策理論的分類方法 53
4.2 條件概率 55
4.3 使用條件概率來分類 56
4.4 使用樸素貝葉斯進行文檔分類 57
4.5 使用Python進行文本分類 58
4.5.1 準備數據:從文本中構建詞向量 58
4.5.2 訓練算法:從詞向量計算概率 60
4.5.3 測試算法:根據現實情況修改分類器 62
4.5.4 準備數據:文檔詞袋模型 64
4.6 示例:使用樸素貝葉斯過濾垃圾郵件 64
4.6.1 準備數據:切分文本 65
4.6.2 測試算法:使用樸素貝葉斯進行交叉驗證 66
4.7 示例:使用樸素貝葉斯分類器從個人廣告中獲取區域傾向 68
4.7.1 收集數據:導入RSS源 68
4.7.2 分析數據:顯示地域相關的用詞 71
4.8 本章小結 72

第5章 Logistic回歸 73
5.1 基于Logistic回歸和Sigmoid函數的分類 74
5.2 基于最優化方法的最佳回歸系數確定 75
5.2.1 梯度上升法 75
5.2.2 訓練算法:使用梯度上升找到最佳參數 77
5.2.3 分析數據:畫出決策邊界 79
5.2.4 訓練算法:隨機梯度上升 80
5.3 示例:從疝氣病癥預測病馬的死亡率 85
5.3.1 準備數據:處理數據中的缺失值 85
5.3.2 測試算法:用Logistic回歸進行分類 86
5.4 本章小結 88

第6章 支持向量機 89
6.1 基于最大間隔分隔數據 89
6.2 尋找最大間隔 91
6.2.1 分類器求解的優化問題 92
6.2.2 SVM應用的一般框架 93
6.3 SMO高效優化算法 94
6.3.1 Platt的SMO算法 94
6.3.2 應用簡化版SMO算法處理小規模數據集 94
6.4 利用完整Platt SMO算法加速優化 99
6.5 在復雜數據上應用核函數 105
6.5.1 利用核函數將數據映射到高維空間 106
6.5.2 徑向基核函數 106
6.5.3 在測試中使用核函數 108
6.6 示例:手寫識別問題回顧 111
6.7 本章小結 113

第7章 利用AdaBoost元算法提高分類性能 115
7.1 基于數據集多重抽樣的分類器 115
7.1.1 bagging:基于數據隨機重抽樣的分類器構建方法 116
7.1.2 boosting 116
7.2 訓練算法:基于錯誤提升分類器的性能 117
7.3 基于單層決策樹構建弱分類器 118
7.4 完整AdaBoost算法的實現 122
7.5 測試算法:基于AdaBoost的分類 124
7.6 示例:在一個難數據集上應用AdaBoost 125
7.7 非均衡分類問題 127
7.7.1 其他分類性能度量指標:正確率、召回率及ROC曲線 128
7.7.2 基于代價函數的分類器決策控制 131
7.7.3 處理非均衡問題的數據抽樣方法 132
7.8 本章小結 132

第二部分 利用回歸預測數值型數據

第8章 預測數值型數據:回歸 136
8.1 用線性回歸找到最佳擬合直線 136
8.2 局部加權線性回歸 141
8.3 示例:預測鮑魚的年齡 145
8.4 縮減系數來“理解”數據 146
8.4.1 嶺回歸 146
8.4.2 lasso 148
8.4.3 前向逐步回歸 149
8.5 權衡偏差與方差 152
8.6 示例:預測樂高玩具套裝的價格 153
8.6.1 收集數據:使用Google購物的API 153
8.6.2 訓練算法:建立模型 155
8.7 本章小結 158

第9章 樹回歸 159
9.1 復雜數據的局部性建模 159
9.2 連續和離散型特征的樹的構建 160
9.3 將CART算法用于回歸 163
9.3.1 構建樹 163
9.3.2 運行代碼 165
9.4 樹剪枝 167
9.4.1 預剪枝 167
9.4.2 后剪枝 168
9.5 模型樹 170
9.6 示例:樹回歸與標準回歸的比較 173
9.7 使用Python的Tkinter庫創建GUI 176
9.7.1 用Tkinter創建GUI 177
9.7.2 集成Matplotlib和Tkinter 179
9.8 本章小結 182

第三部分 無監督學習

第10章 利用K-均值聚類算法對未標注數據分組 184
10.1 K-均值聚類算法 185
10.2 使用后處理來提高聚類性能 189
10.3 二分K-均值算法 190
10.4 示例:對地圖上的點進行聚類 193
10.4.1 Yahoo! PlaceFinder API 194
10.4.2 對地理坐標進行聚類 196
10.5 本章小結 198

第11章 使用Apriori算法進行關聯分析 200
11.1 關聯分析 201
11.2 Apriori原理 202
11.3 使用Apriori算法來發現頻繁集 204
11.3.1 生成候選項集 204
11.3.2 組織完整的Apriori算法 207
11.4 從頻繁項集中挖掘關聯規則 209
11.5 示例:發現國會投票中的模式 212
11.5.1 收集數據:構建美國國會投票記錄的事務數據集 213
11.5.2 測試算法:基于美國國會投票記錄挖掘關聯規則 219
11.6 示例:發現毒蘑菇的相似特征 220
11.7 本章小結 221

第12章 使用FP-growth算法來高效發現頻繁項集 223
12.1 FP樹:用于編碼數據集的有效方式 224
12.2 構建FP樹 225
12.2.1 創建FP樹的數據結構 226
12.2.2 構建FP樹 227
12.3 從一棵FP樹中挖掘頻繁項集 231
12.3.1 抽取條件模式基 231
12.3.2 創建條件FP樹 232
12.4 示例:在Twitter源中發現一些共現詞 235
12.5 示例:從新聞網站點擊流中挖掘 238
12.6 本章小結 239

第四部分 其他工具

第13章 利用PCA來簡化數據 242
13.1 降維技術 242
13.2 PCA 243
13.2.1 移動坐標軸 243
13.2.2 在NumPy中實現PCA 246
13.3 示例:利用PCA對半導體制造數據降維 248
13.4 本章小結 251

第14章 利用SVD簡化數據 252
14.1 SVD的應用 252
14.1.1 隱性語義索引 253
14.1.2 推薦系統 253
14.2 矩陣分解 254
14.3 利用Python實現SVD 255
14.4 基于協同過濾的推薦引擎 257
14.4.1 相似度計算 257
14.4.2 基于物品的相似度還是基于用戶的相似度? 260
14.4.3 推薦引擎的評價 260
14.5 示例:餐館菜肴推薦引擎 260
14.5.1 推薦未嘗過的菜肴 261
14.5.2 利用SVD提高推薦的效果 263
14.5.3 構建推薦引擎面臨的挑戰 265
14.6 基于SVD的圖像壓縮 266
14.7 本章小結 268

第15章 大數據與MapReduce 270
15.1 MapReduce:分布式計算的框架 271
15.2 Hadoop流 273
15.2.1 分布式計算均值和方差的mapper 273
15.2.2 分布式計算均值和方差的reducer 274
15.3 在Amazon網絡服務上運行Hadoop程序 275
15.3.1 AWS上的可用服務 276
15.3.2 開啟Amazon網絡服務之旅 276
15.3.3 在EMR上運行Hadoop作業 278
15.4 MapReduce上的機器學習 282
15.5 在Python中使用mrjob來自動化MapReduce 283
15.5.1 mrjob與EMR的無縫集成 283
15.5.2 mrjob的一個MapReduce腳本剖析 284
15.6 示例:分布式SVM的Pegasos算法 286
15.6.1 Pegasos算法 287
15.6.2 訓練算法:用mrjob實現MapReduce版本的SVM 288
15.7 你真的需要MapReduce嗎? 292
15.8 本章小結 292

附錄A Python入門 294
附錄B 線性代數 303
附錄C 概率論復習 309
附錄D 資源 312

索引 313
版權聲明 316

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *