作者簡介:
Willi Richert
機器學習和機器人學博士,目前任職於微軟Bing搜索核心研發團隊。他從事多種機器學習領域的研究,包括主動學習和統計機器翻譯。
Luis Pedro Coelho
計算生物學傢,主要關注生物圖像信息學和大規模圖像數據的處理,緻力於生物標本圖像分析中機器學習技術的應用,他還是Python計算機視覺庫mahotas的主要開發人員。他於1998年開始開發開源軟件,2004年起從事Python開發,並為多個Python開源庫貢獻瞭代碼。另外,Luis擁有機器學習領域世界領先的卡內基-梅隆大學的博士學位,並發錶過多篇科學論文。
譯者簡介:
劉峰
百度LBS地圖基礎業務部資深研發工程師,新加坡南洋理工大學計算機工程係博士,研究領域包括機器學習、模糊神經網絡等。2010年加入百度,主要從事大數據分析和挖掘方麵的工作,近年來專注於無綫定位、用戶軌跡等LBS大數據的挖掘及機器學習應用。
第1章 Python機器學習入門 1
1.1 夢之隊:機器學習與Python 1
1.2 這本書將教給你什麼(以及不會教什麼) 2
1.3 遇到睏難的時候怎麼辦 3
1.4 開始 4
1.4.1 NumPy、SciPy和Matplotlib簡介 4
1.4.2 安裝Python 5
1.4.3 使用NumPy和SciPy智能高效地處理數據 5
1.4.4 學習NumPy 5
1.4.5 學習SciPy 9
1.5 我們第一個(極小的)機器學習應用 10
1.5.1 讀取數據 10
1.5.2 預處理和清洗數據 11
1.5.3 選擇正確的模型和學習算法 12
1.6 小結 20
第2章 如何對真實樣本分類 22
2.1 Iris數據集 22
2.1.1 第一步是可視化 23
2.1.2 構建第一個分類模型 24
2.2 構建更復雜的分類器 28
2.3 更復雜的數據集和更復雜的分類器 29
2.3.1 從Seeds數據集中學習 29
2.3.2 特徵和特徵工程 30
2.3.3 最鄰近分類 30
2.4 二分類和多分類 33
2.5 小結 34
第3章 聚類:尋找相關的帖子 35
3.1 評估帖子的關聯性 35
3.1.1 不應該怎樣 36
3.1.2 應該怎樣 36
3.2 預處理:用相近的公共詞語個數來衡量相似性 37
3.2.1 將原始文本轉化為詞袋 37
3.2.2 統計詞語 38
3.2.3 詞語頻次嚮量的歸一化 40
3.2.4 刪除不重要的詞語 41
3.2.5 詞乾處理 42
3.2.6 停用詞興奮劑 44
3.2.7 我們的成果和目標 45
3.3 聚類 46
3.3.1 K均值 46
3.3.2 讓測試數據評估我們的想法 49
3.3.3 對帖子聚類 50
3.4 解決我們最初的難題 51
3.5 調整參數 54
3.6 小結 54
第4章 主題模型 55
4.1 潛在狄利剋雷分配(LDA) 55
4.2 在主題空間比較相似度 59
4.3 選擇主題個數 64
4.4 小結 65
第5章 分類:檢測劣質答案 67
5.1 路綫圖概述 67
5.2 學習如何區分齣優秀的答案 68
5.2.1 調整樣本 68
5.2.2 調整分類器 68
5.3 獲取數據 68
5.3.1 將數據消減到可處理的程度 69
5.3.2 對屬性進行預選擇和處理 70
5.3.3 定義什麼是優質答案 71
5.4 創建第一個分類器 71
5.4.1 從k鄰近(kNN)算法開始 71
5.4.2 特徵工程 72
5.4.3 訓練分類器 73
5.4.4 評估分類器的性能 74
5.4.5 設計更多的特徵 74
5.5 決定怎樣提升效果 77
5.5.1 偏差?方差及其摺中 77
5.5.2 解決高偏差 78
5.5.3 解決高方差 78
5.5.4 高偏差或低偏差 78
5.6 采用邏輯迴歸 81
5.6.1 一點數學和一個小例子 81
5.6.2 在帖子分類問題上應用邏輯迴歸 83
5.7 觀察正確率的背後:準確率和召迴率 84
5.8 為分類器瘦身 87
5.9 齣貨 88
5.10 小結 88
第6章 分類II:情感分析 89
6.1 路綫圖概述 89
6.2 獲取推特(Twitter)數據 89
6.3 樸素貝葉斯分類器介紹 90
6.3.1 瞭解貝葉斯定理 90
6.3.2 樸素 91
6.3.3 使用樸素貝葉斯進行分類 92
6.3.4 考慮未齣現的詞語和其他古怪情況 94
6.3.5 考慮算術下溢 95
6.4 創建第一個分類器並調優 97
6.4.1 先解決一個簡單問題 97
6.4.2 使用所有的類 99
6.4.3 對分類器的參數進行調優 101
6.5 清洗推文 104
6.6 將詞語類型考慮進去 106
6.6.1 確定詞語的類型 106
6.6.2 用SentiWordNet成功地作弊 108
6.6.3 我們第一個估算器 110
6.6.4 把所有東西融閤在一起 111
6.7 小結 112
第7章 迴歸:推薦 113
7.1 用迴歸預測房價 113
7.1.1 多維迴歸 116
7.1.2 迴歸裏的交叉驗證 116
7.2 懲罰式迴歸 117
7.2.1 L1和L2懲罰 117
7.2.2 在Scikit-learn中使用Lasso或彈性網 118
7.3 P大於N的情形 119
7.3.1 基於文本的例子 120
7.3.2 巧妙地設置超參數(hyperparameter) 121
7.3.3 評分預測和推薦 122
7.4 小結 126
第8章 迴歸:改進的推薦 127
8.1 改進的推薦 127
8.1.1 使用二值推薦矩陣 127
8.1.2 審視電影的近鄰 129
8.1.3 組閤多種方法 130
8.2 購物籃分析 132
8.2.1 獲取有用的預測 133
8.2.2 分析超市購物籃 134
8.2.3 關聯規則挖掘 136
8.2.4 更多購物籃分析的高級話題 137
8.3 小結 138
第9章 分類III:音樂體裁分類 139
9.1 路綫圖概述 139
9.2 獲取音樂數據 139
9.3 觀察音樂 140
9.4 用FFT構建第一個分類器 143
9.4.1 增加實驗敏捷性 143
9.4.2 訓練分類器 144
9.4.3 在多分類問題中用混淆矩陣評估正確率 144
9.4.4 另一種方式評估分類器效果:受試者工作特徵麯綫(ROC) 146
9.5 用梅爾倒頻譜係數(MFCC)提升分類效果 148
9.6 小結 152
第10章 計算機視覺:模式識彆 154
10.1 圖像處理簡介 154
10.2 讀取和顯示圖像 155
10.2.1 圖像處理基礎 156
10.2.2 加入椒鹽噪聲 161
10.2.3 模式識彆 163
10.2.4 計算圖像特徵 163
10.2.5 設計你自己的特徵 164
10.3 在更難的數據集上分類 166
10.4 局部特徵錶示 167
10.5 小結 170
第11章 降維 171
11.1 路綫圖 171
11.2 選擇特徵 172
11.2.1 用篩選器檢測冗餘特徵 172
11.2.2 用封裝器讓模型選擇特徵 178
11.3 其他特徵選擇方法 180
11.4 特徵抽取 181
11.4.1 主成分分析(PCA) 181
11.4.2 PCA的局限性以及LDA會有什麼幫助 183
11.5 多維標度法(MDS) 184
11.6 小結 187
第12章 大數據 188
12.1 瞭解大數據 188
12.2 用Jug程序包把你的處理流程分解成幾個任務 189
12.2.1 關於任務 189
12.2.2 復用部分結果 191
12.2.3 幕後的工作原理 192
12.2.4 用Jug分析數據 192
12.3 使用亞馬遜Web服務(AWS) 194
12.3.1 構建你的第一颱機器 195
12.3.2 用starcluster自動創建集群 199
12.4 小結 202
附錄A 更多機器學習知識 203
A.1 在綫資源 203
A.2 參考書 203
A.2.1 問答網站 203
A.2.2 博客 204
A.2.3 數據資源 205
A.2.4 競爭日益加劇 205
A.3 還剩下什麼 205
A.4 小結 206
索引 207
· · · · · · (
收起)
如今,機器學習正在互聯網上下掀起熱潮,而Python則是非常適閤開發機器學習係統的一門優秀語言。作為動態語言,它支持快速探索和實驗,並且針對Python的機器學習算法庫的數量也與日俱增。本書最大的特色,就是結閤實例分析教會讀者如何通過機器學習解決實際問題。
本書將嚮讀者展示如何從原始數據中發現模式,首先從Python與機器學習的關係講起,再介紹一些庫,然後就開始基於數據集進行比較正式的項目開發瞭,涉及建模、推薦及改進,以及聲音與圖像處理。通過流行的開源庫,我們可以掌握如何高效處理文本、圖片和聲音。同時,讀者也能掌握如何評估、比較和選擇適用的機器學習技術。
舉幾個例子,我們會介紹怎麼把StackOverflow的迴答按質量高低進行分類,怎麼知道某個音樂文件是爵士風格,還是重金屬搖滾風格。另外,本書還涵蓋瞭主題建模、購物習性分析及雲計算等高級內容。總之,通過學習本書,讀者可以掌握構建自己所需係統的各方麵知識,並且學以緻用,解決自己麵臨的現實問題。
讀者隻要具有一定的Python編程經驗,能夠自己安裝和使用開源庫,就足夠瞭,即使對機器學習一點瞭解都沒有也沒關係。本書不會講機器學習算法背後的數學。