機器學習是近年來比較熱門的一個領域,Python語言經過一段時間的發(fā)展也已逐漸成為主流的編程語言之一。本書結合了機器學習和Python語言兩個熱門的領域,通過實用案例來詳細講解機器學習的相關知識,以便更好地引起讀者的閱讀興趣且?guī)椭x者理解相關內容。
全書共有8章。第1章講解了Python和機器學習的基礎知識,第2~7章通過多個案例詳細講解了文本分析算法、樸素貝葉斯、支持向量機、對率回歸及回歸算法等知識,案例主要包括探索新聞組數(shù)據(jù)集、檢測垃圾郵件、微新聞話題分類、預測點擊率以及預測股價等。第8章是最佳實踐,主要介紹機器學習方案的整個工作流的最佳實踐。
本書適合Python程序員、數(shù)據(jù)分析人員、機器學習領域的從業(yè)人員以及對算法感興趣的讀者閱讀。
1.在講解算法的原理和用 scikit-learn 庫封裝好的方法實現(xiàn)算法之前,先通過幾個例子,教會你具體的計算方法,讓你手動實現(xiàn)算法;
2.書中代碼比較連貫,可直接粘貼到Jupyter Notebook中運行,這一點對初學者非常有幫助;
3.書中示例淺顯易懂,涵蓋多種應用場景:新聞話題分類、垃圾郵件過濾、在線廣告點擊率預測和股票價格預測等,講解方式生動有趣;
4.提供源代碼。
本書開篇介紹Python語言和機器學習開發(fā)環(huán)境的搭建方法。后續(xù)章節(jié)介紹相關的重要概念,比如數(shù)據(jù)分析、數(shù)據(jù)預處理、特征抽取、數(shù)據(jù)可視化、聚類、分類、回歸和模型性能度量等。本書包含多個項目案例,涉及幾種重要且有趣的機器學習算法,引導讀者從頭實現(xiàn)自己的模型。學完本書,你將了解機器學習生態(tài)系統(tǒng)的全貌,并掌握機器學習技術的實踐和應用。
在本書的幫助下,你將學會用強大卻很簡單的Python語言來處理數(shù)據(jù)科學難題,并構建自己的解決方案。
本書包括以下內容:
·利用Python語言抽取數(shù)據(jù)、處理數(shù)據(jù)和探索數(shù)據(jù);
·用Python對多維數(shù)據(jù)進行可視化,并抽取有用特征;
·深入鉆研數(shù)據(jù)分析技術,正確預測發(fā)展趨勢;
·用Python從頭實現(xiàn)機器學習分類算法和回歸算法;
·用雅虎財經數(shù)據(jù)來分析和預測股價;
·評估并優(yōu)化機器學習模型的性能;
·用機器學習和Python解決實際問題。
劉宇熙 Yuxi(Hayden)Liu是加拿大多倫多市一家跨國網絡媒體公司的數(shù)據(jù)科學家,他從事消息應用優(yōu)化工作。他的研究方向是社交網絡挖掘、社交個性化(social personalization)、用戶人口統(tǒng)計學特征和興趣預測、垃圾信息監(jiān)測和推薦系統(tǒng)。他曾在多家程序化廣告投放公司工作,擔任數(shù)據(jù)科學家職位,他將機器學習專業(yè)知識應用于廣告優(yōu)化、點擊率和轉化率預測、點擊欺詐檢測等。Yuxi擁有多倫多大學的碩士學位,研究生期間曾發(fā)表過5篇IEEE期刊文章和會議論文。他喜歡爬取網絡數(shù)據(jù),并從中獲取有價值的信息。他還熱衷于投資。
第 1章 開始Python和機器學習之旅 1
1.1 什么是機器學習?我們?yōu)槭裁葱枰?
1.2 機器學習概覽 4
1.3 機器學習算法發(fā)展簡史 6
1.4 從數(shù)據(jù)中泛化的能力 7
1.5 過擬合、欠擬合及偏差和方差的權衡 8
1.5.1 用交叉檢驗避免過擬合 10
1.5.2 用正則化避免過擬合 12
1.6 通過特征選取和降維避免過擬合 14
1.7 預處理、探索和特征工程 15
1.7.1 缺失值 16
1.7.2 標簽編碼 17
1.7.3 一位有效編碼 17
1.7.4 調整數(shù)值范圍 18
1.7.5 多項式特征 18
1.7.6 冪次轉換 18
1.7.7面元劃分 19
1.8 模型組合 19
1.8.1 Bagging 20
1.8.2 Boosting 20
1.8.3 Stacking 20
1.8.4 Blending 21
1.8.5 投票和平均法 21
1.9 安裝和設置軟件 21
1.10 問題解決和尋求幫助 22
1.11 小結 23
第 2章 用文本分析算法探索20個新聞組數(shù)據(jù)集 24
2.1 什么是NLP 25
2.2 強大的Python NLP庫之旅 27
2.3 新聞組數(shù)據(jù)集 31
2.4 獲取數(shù)據(jù) 31
2.5 思考特征 32
2.6 可視化 35
2.7 數(shù)據(jù)預處理 39
2.8 聚類 42
2.9 話題建!44
2.10 小結 48
第3章 用樸素貝葉斯檢測垃圾郵件 50
3.1 開始分類之旅 51
3.2 分類的類型 51
3.3 文本分類應用 53
3.4 探索樸素貝葉斯 54
3.5 貝葉斯定理實例講解 54
3.6 樸素貝葉斯原理 56
3.7 樸素貝葉斯的實現(xiàn) 59
3.8 分類器性能評估 70
3.9 模型調試和交叉檢驗 74
3.10 小結 77
第4章 用支持向量機為新聞話題分類 79
4.1 回顧先前內容和介紹逆文檔頻率 80
4.2 SVM 81
4.2.1 SVM的原理 82
4.2.2 SVM的實現(xiàn) 86
4.2.3 SVM內核 92
4.2.4 線性和RBF內核的選擇 95
4.3 用SVM為新聞話題分類 96
4.4 更多示例—用SVM根據(jù)胎心宮縮監(jiān)護數(shù)據(jù)為胎兒狀態(tài)分類 100
4.5 小結 102
第5章 用基于樹的算法預測點擊率 103
5.1 廣告點擊率預測簡介 104
5.2 兩種不同類型的數(shù)據(jù):數(shù)值型和類別型 104
5.3 決策樹分類器 106
5.3.1 構造決策樹 107
5.3.2 度量劃分的標準 109
5.3.3 實現(xiàn)決策樹 115
5.4 用決策樹預測點擊率 123
5.5 隨機森林—決策樹的特征裝袋技術 128
5.6 小結 129
第6章 用對率回歸預測點擊率 130
6.1 一位有效編碼—將類別型特征轉換為數(shù)值型類型 131
6.2 對率回歸分類器 134
6.2.1 從對率函數(shù)說起 134
6.2.2 對率回歸的原理 135
6.2.3 用梯度下降方法訓練對率回歸模型 139
6.3 用梯度下降對率回歸預測點擊率 144
6.3.1 訓練隨機梯度下降對率回歸模型 146
6.3.2 訓練帶正則項的對率回歸模型 149
6.3.3 用線上學習方法,在大型數(shù)據(jù)集上訓練 151
6.3.4 多分類 153
6.4 用隨機森林選擇參數(shù) 155
6.5 小結 156
第7章 用回歸算法預測股價 158
7.1 股市和股價的簡介 159
7.2 什么是回歸 159
7.3 用回歸算法預測股價 160
7.3.1 特征工程 162
7.3.2 數(shù)據(jù)獲取和特征生成 165
7.3.3 線性回歸 170
7.3.4 決策樹回歸 176
7.3.5 支持向量回歸 183
7.3.6 回歸性能評估 185
7.3.7 用回歸算法預測股價 186
7.4 小結 190
第8章 最佳實踐 192
8.1 機器學習工作流 193
8.2 數(shù)據(jù)準備階段的最佳實踐 193
8.2.1 最佳實踐1—理解透徹項目的目標 193
8.2.2 最佳實踐2—采集所有相關字段 194
8.2.3 最佳實踐3—字段值保持一致 194
8.2.4 最佳實踐4—缺失值處理 195
8.3 訓練集生成階段的最佳實踐 198
8.3.1 最佳實踐5—用數(shù)值代替類別型特征 199
8.3.2 最佳實踐6—決定是否對類別型特征編碼 199
8.3.3 最佳實踐7—是否要選擇特征,怎么選 199
8.3.4 最佳實踐8—是否降維,怎么降 201
8.3.5 最佳實踐9—是否縮放特征,怎么縮放 201
8.3.6 最佳實踐10—帶著領域知識做特征工程 202
8.3.7 最佳實踐11—缺少領域知識的前提下,做特征工程 202
8.3.8 最佳實踐12—記錄每個特征的生成方法 204
8.4 模型訓練、評估和選擇階段的最佳實踐 204
8.4.1 最佳實踐13—選擇從正確的算法開始 204
8.4.2 最佳實踐14—降低過擬合 206
8.4.3 最佳實踐15—診斷過擬合和欠擬合 206
8.5 系統(tǒng)部署和監(jiān)控階段的最佳實踐 208
8.5.1 最佳實踐16—保存、加載和重用模型 208
8.5.2 最佳實踐17—監(jiān)控模型性能 209
8.5.3 最佳實踐18—定期更新模型 210
8.6 小結 210