關于我們
書單推薦
新書推薦
|
機器學習Python版(英文版) 讀者對象:機器學習初學者、愛好者
本書面向初學者,使用Python語言以及流行的scikit-learn機器學習庫等資源,通過易于實踐的項目,幫助讀者掌握開發(fā)有效的機器學習系統(tǒng)所需的流程、模式和策略。本書首先介紹機器學習的基本概念和機器學習系統(tǒng)的評估技術;之后擴展工具庫,引入另外幾種分類和回歸技術以及特征工程;最后介紹一些較為前沿的新技術,包括組合機器學習模型和自動化特征工程模型等,并將機器學習應用于圖像處理和文本處理兩個特定領域。本書不依賴于復雜的數(shù)學公式,僅要求讀者具備一定的編程基礎,適合學生、數(shù)據分析人員、科研人員等各領域的讀者閱讀參考。
第一部分 機器學習入門
第1章 機器學習概論 3 1.1 歡迎來到機器學習的世界 3 1.2 范圍、術語、預測和數(shù)據 4 1.2.1 特征 5 1.2.2 目標值和預測值 6 1.3 讓機器開始機器學習 7 1.4 學習系統(tǒng)舉例 9 1.4.1 預測類別:分類器舉例 9 1.4.2 預測值:回歸器舉例 10 1.5 評估機器學習系統(tǒng) 11 1.5.1 準確率 11 1.5.2 資源消耗 12 1.6 創(chuàng)建機器學習系統(tǒng)的過程 13 1.7 機器學習的假設和現(xiàn)實 15 1.8 參考閱讀資料 17 1.8.1 進一步研究方向 17 1.8.2 注釋 17 第2章 相關技術背景 19 2.1 編程環(huán)境配置 19 2.2 數(shù)學語言的必要性 19 2.3 用于解決機器學習問題的軟件 20 2.4 概率 21 2.4.1 基本事件 22 2.4.2 獨立性 23 2.4.3 條件概率 24 2.4.4 概率分布 25 2.5 線性組合、加權和以及點積 28 2.5.1 加權平均 30 2.5.2 平方和 32 2.5.3 誤差平方和 33 2.6 幾何視圖:空間中的點 34 2.6.1 直線 34 2.6.2 直線拓展 39 2.7 表示法和加1技巧 43 2.8 漸入佳境:突破線性和非線性 45 2.9 NumPy與“數(shù)學無所不在” 47 2.9.1 一維數(shù)組與二維數(shù)組 49 2.10 浮點數(shù)問題 52 2.11 參考閱讀資料 53 2.11.1 小結 53 2.11.2 注釋 54 第3章 預測類別:分類入門 55 3.1 分類任務 55 3.2 一個簡單的分類數(shù)據集 56 3.3 訓練和測試:請勿“應試教育” 59 3.4 評估:考試評分 62 3.5 簡單分類器1:最近鄰分類器、遠距離關系和假設 63 3.5.1 定義相似性 63 3.5.2 k-最近鄰中的k 64 3.5.3 答案組合 64 3.5.4 k-最近鄰、參數(shù)和非參數(shù)方法 65 3.5.5 建立一個k-最近鄰分類模型 66 3.6 簡單分類器2:樸素貝葉斯分類器、概率和違背承諾 68 3.7 分類器的簡單評估 70 3.7.1 機器學習的性能 70 3.7.2 分類器的資源消耗 71 3.7.3 獨立資源評估 77 3.8 參考閱讀資料 81 3.8.1 再次警告:局限性和尚未解決的問題 81 3.8.2 小結 82 3.8.3 注釋 82 3.8.4 練習題 83 第4章 預測數(shù)值:回歸入門 85 4.1 一個簡單的回歸數(shù)據集 85 4.2 最近鄰回歸和匯總統(tǒng)計 87 4.2.1 中心測量:中位數(shù)和均值 88 4.2.2 構建一個k-最近鄰回歸模型 90 4.3 線性回歸和誤差 91 4.3.1 地面總是不平坦的:為什么需要斜坡 92 4.3.2 傾斜直線 94 4.3.3 執(zhí)行線性回歸 97 4.4 優(yōu)化:選擇最佳答案 98 4.4.1 隨機猜測 98 4.4.2 隨機步進 99 4.4.3 智能步進 99 4.4.4 計算的捷徑 100 4.4.5 線性回歸的應用 101 4.5 回歸器的簡單評估和比較 101 4.5.1 均方根誤差 101 4.5.2 機器學習的性能 102 4.5.3 回歸過程中的資源消耗 102 4.6 參考閱讀資料 104 4.6.1 局限性和尚未解決的問題 104 4.6.2 小結 105 4.6.3 注釋 105 4.6.4 練習題 105 第二部分 通用評估技術 第5章 機器學習算法的評估和比較分析 109 5.1 評估和大道至簡的原則 109 5.2 機器學習階段的術語 110 5.2.1 有關機器的重新討論 110 5.2.2 更規(guī)范的闡述 113 5.3 過擬合和欠擬合 116 5.3.1 合成數(shù)據和線性回歸 117 5.3.2 手動操控模型的復雜度 118 5.3.3 “恰到好處”原則:可視化過擬合、欠擬合和最佳擬合 120 5.3.4 簡單性 124 5.3.5 關于過擬合必須牢記的注意事項 124 5.4 從誤差到成本 125 5.4.1 損失 125 5.4.2 成本 126 5.4.3 評分 127 5.5。ㄖ匦拢┏闃樱阂陨賱俣 128 5.5.1 交叉驗證 128 5.5.2 分層抽樣 132 5.5.3 重復的訓練–測試數(shù)據集拆分 133 5.5.4 一種更好的方法和混排 137 5.5.5 留一交叉驗證 140 5.6 分解:將誤差分解為偏差和方差 142 5.6.1 數(shù)據的方差 143 5.6.2 模型的方差 144 5.6.3 模型的偏差 144 5.6.4 結合所有的因素 145 5.6.5 偏差–方差權衡示例 145 5.7 圖形可視化評估和比較 149 5.7.1 學習曲線:到底需要多少數(shù)據 150 5.7.2 復雜度曲線 152 5.8 使用交叉驗證比較機器學習模型 154 5.9 參考閱讀資料 155 5.9.1 小結 155 5.9.2 注釋 155 5.9.3 練習題 157 第6章 評估分類器 159 6.1 基線分類器 159 6.2 準確度以外:分類器的其他度量指標 161 6.2.1 從混淆矩陣中消除混淆 163 6.2.2 錯誤的方式 164 6.2.3 基于混淆矩陣的度量指標 165 6.2.4 混淆矩陣編碼 166 6.2.5 處理多元類別:多元類別平均 168 6.2.6 F1分數(shù) 170 6.3 ROC曲線 170 6.3.1 ROC模式 173 6.3.2 二元分類ROC 174 6.3.3 AUC:(ROC)曲線下的面積 177 6.3.4 多元分類機器學習模型、一對其他和ROC 179 6.4 多元分類的另一種方法:一對一 181 6.4.1 多元分類AUC第二部分:尋找單一值 182 6.5 精確率–召回率曲線 185 6.5.1 關于精確率–召回率權衡的說明 185 6.5.2 構建精確率–召回率曲線 186 6.6 累積響應和提升曲線 187 6.7 更復雜的分類器評估:第二階段 190 6.7.1 二元分類 190 6.7.2 一個新穎的多元分類問題 195 6.8 參考閱讀資料 201 6.8.1 小結 201 6.8.2 注釋 202 6.8.3 練習題 203 第7章 評估回歸器 205 7.1 基線回歸器 205 7.2 回歸器的其他度量指標 207 7.2.1 創(chuàng)建自定義的評估指標 207 7.2.2 其他內置的回歸度量指標 208 7.2.3 R2 209 7.3 殘差圖 214 7.3.1 誤差圖 215 7.3.2 殘差圖 217 7.4 標準化初探 221 7.5 使用更復雜的方法評估回歸系數(shù):第二階段 225 7.5.1 多個度量指標的交叉驗證結果 226 7.5.2 交叉驗證結果匯總 230 7.5.3 殘差 230 7.6 參考閱讀資料 232 7.6.1 小結 232 7.6.2 注釋 232 7.6.3 練習題 234 第三部分 更多方法和其他技術 第8章 更多分類方法 237 8.1 重溫分類知識 237 8.2 決策樹 239 8.2.1 樹構建算法 242 8.2.2 讓我們開始:決策樹時間 245 8.2.3 決策樹中的偏差和方差 249 8.3 支持向量分類器 249 8.3.1 執(zhí)行支持向量分類器 253 8.3.2 SVC中的偏差和方差 256 8.4 邏輯回歸 259 8.4.1 投注幾率 259 8.4.2 概率、幾率和對數(shù)幾率 262 8.4.3 實現(xiàn)操作:邏輯回歸版本 267 8.4.4 邏輯回歸:空間奇異性 268 8.5 判別分析 269 8.5.1 協(xié)方差 270 8.5.2 方法 282 8.5.3 執(zhí)行判別分析 283 8.6 假設、偏差和分類器 285 8.7 分類器的比較:第三階段 287 8.7.1 數(shù)字 287 8.8 參考閱讀資料 290 8.8.1 小結 290 8.8.2 注釋 290 8.8.3 練習題 293 第9章 更多回歸方法 295 9.1 懲罰框中的線性回歸:正則化 295 9.1.1 執(zhí)行正則化回歸 300 9.2 支持向量回歸 301 9.2.1 鉸鏈損失 301 9.2.2 從線性回歸到正則化回歸,再到支持向量回歸 305 9.2.3 實踐應用:支持向量回歸風格 307 9.3 分段常數(shù)回歸 308 9.3.1 實現(xiàn)分段常數(shù)回歸器 310 9.3.2 模型實現(xiàn)的一般說明 311 9.4 回歸樹 313 9.4.1 用決策樹實現(xiàn)回歸 313 9.5 回歸器比較:第三階段 314 9.6 參考閱讀資料 318 9.6.1 小結 318 9.6.2 注釋 318 9.6.3 練習題 319 第10章 手動特征工程:操作數(shù)據的樂趣和意義 321 10.1 特征工程的術語和動機 321 10.1.1 為什么選擇特征工程 322 10.1.2 何時開始特征工程 323 10.1.3 特征工程是如何發(fā)生的 324 10.2 特征選擇和數(shù)據簡化:清除垃圾 324 10.3 特征縮放 325 10.4 離散化 329 10.5 分類編碼 332 10.5.1 編碼的另一種方式以及無截距的奇怪情況 334 10.6 關系和相互作用 341 10.6.1 手動特征構造 341 10.6.2 相互作用 343 10.6.3 使用轉換器添加特征 348 10.7 對輸入空間和目標的相關操作 350 10.7.1 對輸入空間的相關操作 351 10.7.2 對目標的相關操作 353 10.8 參考閱讀資料 356 10.8.1 小結 356 10.8.2 注釋 356 10.8.3 練習題 357 第11章 調整超參數(shù)和管道技術 359 11.1 模型、參數(shù)、超參數(shù) 360 11.2 調整超參數(shù) 362 11.2.1 關于計算機科學和機器學習術語的說明 362 11.2.2 關于完整搜索的示例 362 11.2.3 使用隨機性在大海中撈針 368 11.3 遞歸的神奇世界:嵌套交叉驗證 370 11.3.1 重溫交叉驗證 370 11.3.2 作為模型的網格搜索 371 11.3.3 交叉驗證中嵌套的交叉驗證 372 11.3.4 關于嵌套交叉驗證的注釋 375 11.4 管道技術 377 11.4.1 簡單的管道 378 11.4.2 復雜的管道 379 11.5 管道和調參相結合 380 11.6 參考閱讀資料 382 11.6.1 小結 382 11.6.2 注釋 382 11.6.3 練習題 383 第四部分 高級主題 第12章 組合機器學習模型 387 12.1 集成 387 12.2 投票集成 389 12.3 裝袋法和隨機森林 390 12.3.1 自舉 390 12.3.2 從自舉到裝袋法 394 12.3.3 隨機森林 396 12.4 提升方法 398 12.4.1 提升方法的核心理念 399 12.5 各種樹集成方法的比較 401 12.6 參考閱讀資料 405 12.6.1 小結 405 12.6.2 注釋 405 12.6.3 練習題 406 第13章 提供特征工程的模型 409 13.1 特征選擇 411 13.1.1 基于度量特征的“單步篩選”方法 412 13.1.2 基于模型的特征選擇 423 13.1.3 將特征選擇與機器學習管道相集成 426 13.2 基于核的特征構造 428 13.2.1 核激勵因子 428 13.2.2 手動核方法 433 13.2.3 核方法和核選項 438 13.2.4 核化支持向量分類器:支持向量機 442 13.2.5 關于SVM的建議和示例 443 13.3 主成分分析:一種無監(jiān)督技術 445 13.3.1 預熱:中心化數(shù)據 445 13.3.2 尋找不同的最佳線路 448 13.3.3 第一次執(zhí)行PCA 449 13.3.4 PCA的內部原理 452 13.3.5 對一般PCA的評論 457 13.3.6 核心PCA和流形方法 458 13.4 參考閱讀資料 462 13.4.1 小結 462 13.4.2 注釋 462 13.4.3 練習題 467 第14章 領域特征工程:領域特定的機器學習 469 14.1 處理文本 470 14.1.1 對文本進行編碼 471 14.1.2 文本學習的示例 476 14.2 聚類 479 14.2.1 k-均值聚類 479 14.3 處理圖像 481 14.3.1 視覺詞袋 481 14.3.2 圖像數(shù)據 482 14.3.3 端到端系統(tǒng) 483 14.3.4 全局視覺詞袋轉換器的完整代碼 491 14.4 參考閱讀資料 493 14.4.1 小結 493 14.4.2 注釋 494 14.4.3 練習題 495 第15章 連接、擴展和進一步研究方向 497 15.1 優(yōu)化 497 15.2 基于原始數(shù)據的線性回歸 500 15.2.1 線性回歸的可視化視圖 504 15.3 基于原始數(shù)據構建邏輯回歸 504 15.3.1 采用0-1編碼的邏輯回歸 506 15.3.2 采用加1減1編碼的邏輯回歸 508 15.3.3 邏輯回歸的可視化視圖 509 15.4 基于原始數(shù)據的SVM 510 15.5 神經網絡 512 15.5.1 線性回歸的神經網絡視圖 512 15.5.2 邏輯回歸的神經網絡視圖 515 15.5.3 超越基本神經網絡 516 15.6 概率圖模型 516 15.6.1 抽樣 518 15.6.2 線性回歸的概率圖模型視圖 519 15.6.3 邏輯回歸的概率圖模型視圖 523 15.7 參考閱讀資料 525 15.7.1 小結 525 15.7.2 注釋 526 15.7.3 練習題 527 附錄A mlwpy.py程序清單 529 Contents I First Steps 1 1 Let’s Discuss Learning 3 1.1 Welcome 3 1.2 Scope, Terminology, Prediction, and Data 4 1.2.1 Features 5 1.2.2 Target Values and Predictions 6 1.3 Putting the Machine in Machine Learning 7 1.4 Examples of Learning Systems 9 1.4.1 Predicting Categories: Examples of Classifiers 9 1.4.2 Predicting Values: Examples of Regressors 10 1.5 Evaluating Learning Systems 11 1.5.1 Correctness 11 1.5.2 Resource Consumption 12 1.6 A Process for Building Learning Systems 13 1.7 Assumptions and Reality of Learning 15 1.8 End-of-Chapter Material 17 1.8.1 The Road Ahead 17 1.8.2 Notes 17 2 Some Technical Background 19 2.1 About Our Setup 19 2.2 The Need for Mathematical Language 19 2.3 Our Software for Tackling Machine Learning 20 2.4 Probability 21 2.4.1 Primitive Events 22 2.4.2 Independence 23 2.4.3 Conditional Probability 24 2.4.4 Distributions 25 2.5 Linear Combinations, Weighted Sums, and Dot Products 28 2.5.1 Weighted Average 30 2.5.2 Sums of Squares 32 2.5.3 Sum of Squared Errors 33 2.6 A Geometric View: Points in Space 34 2.6.1 Lines 34 2.6.2 Beyond Lines 39 2.7 Notation and the Plus-One Trick 43 2.8 Getting Groovy, Breaking the Straight-Jacket, and Nonlinearity 45 2.9 NumPy versus “All the Maths” 47 2.9.1 Back to 1D versus 2D 49 2.10 Floating-Point Issues 52 2.11 EOC 53 2.11.1 Summary 53 2.11.2 Notes 54 3 Predicting Categories: Getting Started with Classification 55 3.1 Classification Tasks 55 3.2 A Simple Classification Dataset 56 3.3 Training and Testing: Don’t Teach to the Test 59 3.4 Evaluation: Grading the Exam 62 3.5 Simple Classifier #1: Nearest Neighbors, Long Distance Relationships, and Assumptions 63 3.5.1 Defining Similarity 63 3.5.2 The k in k-NN 64 3.5.3 Answer Combination 64 3.5.4 k-NN, Parameters, and Nonparametric Methods 65 3.5.5 Building a k-NN Classification Model 66 3.6 Simple Classifier #2: Naive Bayes, Probability, and Broken Promises 68 3.7 Simplistic Evaluation of Classifiers 70 3.7.1 Learning Performance 70 3.7.2 Resource Utilization in Classification 71 3.7.3 Stand-Alone Resource Evaluation 77 3.8 EOC 81 3.8.1 Sophomore Warning: Limitations and Open Issues 81 3.8.2 Summary 82 3.8.3 Notes 82 3.8.4 Exercises 83 4 Predicting Numerical Values: Getting Started with Regression 85 4.1 A Simple Regression Dataset 85 4.2 Nearest-Neighbors Regression and Summary Statistics 87 4.2.1 Measures of Center: Median and Mean 88 4.2.2 Building a k-NN Regression Model 90 4.3 Linear Regression and Errors 91 4.3.1 No Flat Earth: Why We Need Slope 92 4.3.2 Tilting the Field 94 4.3.3 Performing Linear Regression 97 4.4 Optimization: Picking the Best Answer 98 4.4.1 Random Guess 98 4.4.2 Random Step 99 4.4.3 Smart Step 99 4.4.4 Calculated Shortcuts 100 4.4.5 Application to Linear Regression 101 4.5 Simple Evaluation and Comparison of Regressors 101 4.5.1 Root Mean Squared Error 101 4.5.2 Learning Performance 102 4.5.3 Resource Utilization in Regression 102 4.6 EOC 104 4.6.1 Limitations and Open Issues 104 4.6.2 Summary 105 4.6.3 Notes 105 4.6.4 Exercises 105 II Evaluation 107 5 Evaluating and Comparing Learners 109 5.1 Evaluation and Why Less Is More 109 5.2 Terminology for Learning Phases 110 5.2.1 Back to the Machines 110 5.2.2 More Technically 113 5.3 Major Tom, There’s Something Wrong: Overfitting and Underfitting 116 5.3.1 Synthetic Data and Linear Regression 117 5.3.2 Manually Manipulating Model Complexity 118 5.3.3 Goldilocks: Visualizing Overfitting, Underfitting, and “Just Right” 120 5.3.4 Simplicity 124 5.3.5 Take-Home Notes on Overfitting 124 5.4 From Errors to Costs 125 5.4.1 Loss 125 5.4.2 Cost 126 Speaking 5.4.3 Score 127 5.5 (Re)Sampling: Making More from Less 128 5.5.1 Cross-Validation 128 5.5.2 Stratification 132 5.5.3 Repeated Train-Test Splits 133 5.5.4 A Better Way and Shuffling 137 5.5.5 Leave-One-Out Cross-Validation 140 5.6 Break-It-Down: Deconstructing Error into Bias and Variance 142 5.6.1 Variance of the Data 143 5.6.2 Variance of the Model 144 5.6.3 Bias of the Model 144 5.6.4 All Together Now 145 5.6.5 Examples of Bias-Variance Tradeoffs 145 5.7 Graphical Evaluation and Comparison 149 5.7.1 Learning Curves: How Much Data Do We Need? 150 5.7.2 Complexity Curves 152 5.8 Comparing Learners with Cross-Validation 154 5.9 EOC 155 5.9.1 Summary 155 5.9.2 Notes 155 5.9.3 Exercises 157 6 Evaluating Classifiers 159 6.1 Baseline Classifiers 159 6.2 Beyond Accuracy: Metrics for Classification 161 6.2.1 Eliminating Confusion from the Confusion Matrix 163 6.2.2 Ways of Being Wrong 164 6.2.3 Metrics from the Confusion Matrix 165 6.2.4 Coding the Confusion Matrix 166 6.2.5 Dealing with Multiple Classes: Multiclass Averaging 168 6.2.6 F1 170 6.3 ROC Curves 170 6.3.1 Patterns in the ROC 173 6.3.2 Binary ROC 174 6.3.3 AUC: Area-Under-the-(ROC)- Curve 177 6.3.4 Multiclass Learners, One-versus-Rest, and ROC 179 6.4 Another Take on Multiclass: One-versus-One 181 6.4.1 Multiclass AUC Part Two: The Quest for a Single Value 182 6.5 Precision-Recall Curves 185 6.5.1 A Note on Precision-Recall Tradeoff 185 6.5.2 Constructing a Precision-Recall Curve 186 6.6 Cumulative Response and Lift Curves 187 6.7 More Sophisticated Evaluation of Classifiers: Take Two 190 6.7.1 Binary 190 6.7.2 A Novel Multiclass Problem 195 6.8 EOC 201 6.8.1 Summary 201 6.8.2 Notes 202 6.8.3 Exercises 203 7 Evaluating Regressors 205 7.1 Baseline Regressors 205 7.2 Additional Measures for Regression 207 7.2.1 Creating Our Own Evaluation Metric 207 7.2.2 Other Built-in Regression Metrics 208 7.2.3 R2 209 7.3 Residual Plots 214 7.3.1 Error Plots 215 7.3.2 Residual Plots 217 7.4 A First Look at Standardization 221 7.5 Evaluating Regressors in a More Sophisticated Way: Take Two 225 7.5.1 Cross-Validated Results on Multiple Metrics 226 7.5.2 Summarizing Cross-Validated Results 230 7.5.3 Residuals 230 7.6 EOC 232 7.6.1 Summary 232 7.6.2 Notes 232 7.6.3 Exercises 234 III More Methods and Fundamentals 235 8 More Classification Methods 237 8.1 Revisiting Classification 237 8.2 Decision Trees 239 8.2.1 Tree-Building Algorithms 242 8.2.2 Let’s Go: Decision Tree Time 245 8.2.3 Bias and Variance in Decision Trees 249 8.3 Support Vector Classifiers 249 8.3.1 Performing SVC 253 8.3.2 Bias and Variance in SVCs 256 8.4 Logistic Regression 259 8.4.1 Betting Odds 259 8.4.2 Probabilities, Odds, and Log-Odds 262 8.4.3 Just Do It: Logistic Regression Edition 267 8.4.4 A Logistic Regression: A Space Oddity 268 8.5 Discriminant Analysis 269 8.5.1 Covariance 270 8.5.2 The Methods 282 8.5.3 Performing DA 283 8.6 Assumptions, Biases, and Classifiers 285 8.7 Comparison of Classifiers: Take Three 287 8.7.1 Digits 287 8.8 EOC 290 8.8.1 Summary 290 8.8.2 Notes 290 8.8.3 Exercises 293 9 More Regression Methods 295 9.1 Linear Regression in the Penalty Box: Regularization 295 9.1.1 Performing Regularized Regression 300 9.2 Support Vector Regression 301 9.2.1 Hinge Loss 301 9.2.2 From Linear Regression to Regularized Regression to Support Vector Regression 305 9.2.3 Just Do It — SVR Style 307 9.3 Piecewise Constant Regression 308 9.3.1 Implementing a Piecewise Constant Regressor 310 9.3.2 General Notes on Implementing Models 311 9.4 Regression Trees 313 9.4.1 Performing Regression with Trees 313 9.5 Comparison of Regressors: Take Three 314 9.6 EOC 318 9.6.1 Summary 318 9.6.2 Notes 318 9.6.3 Exercises 319 Data for Fun and Profit 321 10.1 Feature Engineering Terminology and Motivation 321 10.1.1 Why Engineer Features? 322 10.1.2 When Does Engineering Happen? 323 10.1.3 How Does Feature Engineering Occur? 324 10.2 Feature Selection and Data Reduction: Taking out the Trash 324 10.3 Feature Scaling 325 10.4 Discretization 329 10.5 Categorical Coding 332 10.5.1 Another Way to Code and the Curious Case of the Missing Intercept 334 10.6 Relationships and Interactions 341 10.6.1 Manual Feature Construction 341 10.6.2 Interactions 343 10.6.3 Adding Features with Transformers 348 10.7 Target Manipulations 350 10.7.1 Manipulating the Input Space 351 10.7.2 Manipulating the Target 353 10.8 EOC 356 10.8.1 Summary 356 10.8.2 Notes 356 10.8.3 Exercises 357 359 11.1 Models, Parameters, Hyperparameters 360 11.2 Tuning Hyperparameters 362 11.2.1 A Note on Computer Science and Learning Terminology 362 11.2.2 An Example of Complete Search 362 11.2.3 Using Randomness to Search for a Needle in a Haystack 368 11 Tuning Hyperparameters and Pipelines 10 Manual Feature Engineering: Manipulating 11.3 Down the Recursive Rabbit Hole: Nested Cross-Validation 370 11.3.1 Cross-Validation, Redux 370 11.3.2 GridSearch as a Model 371 11.3.3 Cross-Validation Nested within Cross-Validation 372 11.3.4 Comments on Nested CV 375 11.4 Pipelines 377 11.4.1 A Simple Pipeline 378 11.4.2 A More Complex Pipeline 379 11.5 Pipelines and Tuning Together 380 11.6 EOC 382 11.6.1 Summary 382 11.6.2 Notes 382 11.6.3 Exercises 383 IV Adding Complexity 385 387 12.1 Ensembles 387 12.2 Voting Ensembles 389 12.3 Bagging and Random Forests 390 12.3.1 Bootstrapping 390 12.3.2 From Bootstrapping to Bagging 394 12.3.3 Through the Random Forest 396 12.4 Boosting 398 12.4.1 Boosting Details 399 12.5 Comparing the Tree-Ensemble Methods 401 12.6 EOC 405 12.6.1 Summary 405 12.6.2 Notes 405 12.6.3 Exercises 406 12 Combining Learners409 13.1 Feature Selection 411 13.1.1 Single-Step Filtering with Metric-Based Feature Selection 412 13.1.2 Model-Based Feature Selection 423 13.1.3 Integrating Feature Selection with a Learning Pipeline 426 13.2 Feature Construction with Kernels 428 13.2.1 A Kernel Motivator 428 13.2.2 Manual Kernel Methods 433 13.2.3 Kernel Methods and Kernel Options 438 13.2.4 Kernelized SVCs: SVMs 442 13.2.5 Take-Home Notes on SVM and an Example 443 13.3 Principal Components Analysis: An Unsupervised Technique 445 13.3.1 A Warm Up: Centering 445 13.3.2 Finding a Different Best Line 448 13.3.3 A First PCA 449 13.3.4 Under the Hood of PCA 452 13.3.5 A Finale: Comments on General PCA 457 13.3.6 Kernel PCA and Manifold Methods 458 13.4 EOC 462 13.4.1 Summary 462 13.4.2 Notes 462 13.4.3 Exercises 467 Domain-Specific Learning 469 14.1 Working with Text 470 14.1.1 Encoding Text 471 14.1.2 Example of Text Learning 476 14.2 Clustering 479 14.2.1 k-Means Clustering 479 13 Models That Engineer Features for Us 14 Feature Engineering for Domains: 14.3 Working with Images 481 14.3.1 Bag of Visual Words 481 14.3.2 Our Image Data 482 14.3.3 An End-to-End System 483 14.3.4 Complete Code of BoVW Transformer 491 14.4 EOC 493 14.4.1 Summary 493 14.4.2 Notes 494 14.4.3 Exercises 495 Directions 497 15.1 Optimization 497 15.2 Linear Regression from Raw Materials 500 15.2.1 A Graphical View of Linear Regression 504 15.3 Building Logistic Regression from Raw Materials 504 15.3.1 Logistic Regression with Zero-One Coding 506 15.3.2 Logistic Regression with Plus-One Minus-One Coding 508 15.3.3 A Graphical View of Logistic Regression 509 15.4 SVM from Raw Materials 510 15.5 Neural Networks 512 15.5.1 A NN View of Linear Regression 512 15.5.2 A NN View of Logistic Regression 515 15.5.3 Beyond Basic Neural Networks 516 15.6 Probabilistic Graphical Models 516 15.6.1 Sampling 518 15.6.2 A PGM View of Linear Regression 519 15 Connections, Extensions, and Further 15.6.3 A PGM View of Logistic Regression 523 15.7 EOC 525 15.7.1 Summary 525 15.7.2 Notes 526 15.7.3 Exercises 527 A mlwpy.py Listing 529 Index 537
你還可能感興趣
我要評論
|