關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
機(jī)器學(xué)習(xí)Python版(英文版) 讀者對(duì)象:機(jī)器學(xué)習(xí)初學(xué)者、愛(ài)好者
本書(shū)面向初學(xué)者,使用Python語(yǔ)言以及流行的scikit-learn機(jī)器學(xué)習(xí)庫(kù)等資源,通過(guò)易于實(shí)踐的項(xiàng)目,幫助讀者掌握開(kāi)發(fā)有效的機(jī)器學(xué)習(xí)系統(tǒng)所需的流程、模式和策略。本書(shū)首先介紹機(jī)器學(xué)習(xí)的基本概念和機(jī)器學(xué)習(xí)系統(tǒng)的評(píng)估技術(shù);之后擴(kuò)展工具庫(kù),引入另外幾種分類(lèi)和回歸技術(shù)以及特征工程;最后介紹一些較為前沿的新技術(shù),包括組合機(jī)器學(xué)習(xí)模型和自動(dòng)化特征工程模型等,并將機(jī)器學(xué)習(xí)應(yīng)用于圖像處理和文本處理兩個(gè)特定領(lǐng)域。本書(shū)不依賴于復(fù)雜的數(shù)學(xué)公式,僅要求讀者具備一定的編程基礎(chǔ),適合學(xué)生、數(shù)據(jù)分析人員、科研人員等各領(lǐng)域的讀者閱讀參考。
第一部分 機(jī)器學(xué)習(xí)入門(mén)
第1章 機(jī)器學(xué)習(xí)概論 3 1.1 歡迎來(lái)到機(jī)器學(xué)習(xí)的世界 3 1.2 范圍、術(shù)語(yǔ)、預(yù)測(cè)和數(shù)據(jù) 4 1.2.1 特征 5 1.2.2 目標(biāo)值和預(yù)測(cè)值 6 1.3 讓機(jī)器開(kāi)始機(jī)器學(xué)習(xí) 7 1.4 學(xué)習(xí)系統(tǒng)舉例 9 1.4.1 預(yù)測(cè)類(lèi)別:分類(lèi)器舉例 9 1.4.2 預(yù)測(cè)值:回歸器舉例 10 1.5 評(píng)估機(jī)器學(xué)習(xí)系統(tǒng) 11 1.5.1 準(zhǔn)確率 11 1.5.2 資源消耗 12 1.6 創(chuàng)建機(jī)器學(xué)習(xí)系統(tǒng)的過(guò)程 13 1.7 機(jī)器學(xué)習(xí)的假設(shè)和現(xiàn)實(shí) 15 1.8 參考閱讀資料 17 1.8.1 進(jìn)一步研究方向 17 1.8.2 注釋 17 第2章 相關(guān)技術(shù)背景 19 2.1 編程環(huán)境配置 19 2.2 數(shù)學(xué)語(yǔ)言的必要性 19 2.3 用于解決機(jī)器學(xué)習(xí)問(wèn)題的軟件 20 2.4 概率 21 2.4.1 基本事件 22 2.4.2 獨(dú)立性 23 2.4.3 條件概率 24 2.4.4 概率分布 25 2.5 線性組合、加權(quán)和以及點(diǎn)積 28 2.5.1 加權(quán)平均 30 2.5.2 平方和 32 2.5.3 誤差平方和 33 2.6 幾何視圖:空間中的點(diǎn) 34 2.6.1 直線 34 2.6.2 直線拓展 39 2.7 表示法和加1技巧 43 2.8 漸入佳境:突破線性和非線性 45 2.9 NumPy與“數(shù)學(xué)無(wú)所不在” 47 2.9.1 一維數(shù)組與二維數(shù)組 49 2.10 浮點(diǎn)數(shù)問(wèn)題 52 2.11 參考閱讀資料 53 2.11.1 小結(jié) 53 2.11.2 注釋 54 第3章 預(yù)測(cè)類(lèi)別:分類(lèi)入門(mén) 55 3.1 分類(lèi)任務(wù) 55 3.2 一個(gè)簡(jiǎn)單的分類(lèi)數(shù)據(jù)集 56 3.3 訓(xùn)練和測(cè)試:請(qǐng)勿“應(yīng)試教育” 59 3.4 評(píng)估:考試評(píng)分 62 3.5 簡(jiǎn)單分類(lèi)器1:最近鄰分類(lèi)器、遠(yuǎn)距離關(guān)系和假設(shè) 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 建立一個(gè)k-最近鄰分類(lèi)模型 66 3.6 簡(jiǎn)單分類(lèi)器2:樸素貝葉斯分類(lèi)器、概率和違背承諾 68 3.7 分類(lèi)器的簡(jiǎn)單評(píng)估 70 3.7.1 機(jī)器學(xué)習(xí)的性能 70 3.7.2 分類(lèi)器的資源消耗 71 3.7.3 獨(dú)立資源評(píng)估 77 3.8 參考閱讀資料 81 3.8.1 再次警告:局限性和尚未解決的問(wèn)題 81 3.8.2 小結(jié) 82 3.8.3 注釋 82 3.8.4 練習(xí)題 83 第4章 預(yù)測(cè)數(shù)值:回歸入門(mén) 85 4.1 一個(gè)簡(jiǎn)單的回歸數(shù)據(jù)集 85 4.2 最近鄰回歸和匯總統(tǒng)計(jì) 87 4.2.1 中心測(cè)量:中位數(shù)和均值 88 4.2.2 構(gòu)建一個(gè)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 隨機(jī)猜測(cè) 98 4.4.2 隨機(jī)步進(jìn) 99 4.4.3 智能步進(jìn) 99 4.4.4 計(jì)算的捷徑 100 4.4.5 線性回歸的應(yīng)用 101 4.5 回歸器的簡(jiǎn)單評(píng)估和比較 101 4.5.1 均方根誤差 101 4.5.2 機(jī)器學(xué)習(xí)的性能 102 4.5.3 回歸過(guò)程中的資源消耗 102 4.6 參考閱讀資料 104 4.6.1 局限性和尚未解決的問(wèn)題 104 4.6.2 小結(jié) 105 4.6.3 注釋 105 4.6.4 練習(xí)題 105 第二部分 通用評(píng)估技術(shù) 第5章 機(jī)器學(xué)習(xí)算法的評(píng)估和比較分析 109 5.1 評(píng)估和大道至簡(jiǎn)的原則 109 5.2 機(jī)器學(xué)習(xí)階段的術(shù)語(yǔ) 110 5.2.1 有關(guān)機(jī)器的重新討論 110 5.2.2 更規(guī)范的闡述 113 5.3 過(guò)擬合和欠擬合 116 5.3.1 合成數(shù)據(jù)和線性回歸 117 5.3.2 手動(dòng)操控模型的復(fù)雜度 118 5.3.3 “恰到好處”原則:可視化過(guò)擬合、欠擬合和最佳擬合 120 5.3.4 簡(jiǎn)單性 124 5.3.5 關(guān)于過(guò)擬合必須牢記的注意事項(xiàng) 124 5.4 從誤差到成本 125 5.4.1 損失 125 5.4.2 成本 126 5.4.3 評(píng)分 127 5.5 (重新)抽樣:以少勝多 128 5.5.1 交叉驗(yàn)證 128 5.5.2 分層抽樣 132 5.5.3 重復(fù)的訓(xùn)練–測(cè)試數(shù)據(jù)集拆分 133 5.5.4 一種更好的方法和混排 137 5.5.5 留一交叉驗(yàn)證 140 5.6 分解:將誤差分解為偏差和方差 142 5.6.1 數(shù)據(jù)的方差 143 5.6.2 模型的方差 144 5.6.3 模型的偏差 144 5.6.4 結(jié)合所有的因素 145 5.6.5 偏差–方差權(quán)衡示例 145 5.7 圖形可視化評(píng)估和比較 149 5.7.1 學(xué)習(xí)曲線:到底需要多少數(shù)據(jù) 150 5.7.2 復(fù)雜度曲線 152 5.8 使用交叉驗(yàn)證比較機(jī)器學(xué)習(xí)模型 154 5.9 參考閱讀資料 155 5.9.1 小結(jié) 155 5.9.2 注釋 155 5.9.3 練習(xí)題 157 第6章 評(píng)估分類(lèi)器 159 6.1 基線分類(lèi)器 159 6.2 準(zhǔn)確度以外:分類(lèi)器的其他度量指標(biāo) 161 6.2.1 從混淆矩陣中消除混淆 163 6.2.2 錯(cuò)誤的方式 164 6.2.3 基于混淆矩陣的度量指標(biāo) 165 6.2.4 混淆矩陣編碼 166 6.2.5 處理多元類(lèi)別:多元類(lèi)別平均 168 6.2.6 F1分?jǐn)?shù) 170 6.3 ROC曲線 170 6.3.1 ROC模式 173 6.3.2 二元分類(lèi)ROC 174 6.3.3 AUC:(ROC)曲線下的面積 177 6.3.4 多元分類(lèi)機(jī)器學(xué)習(xí)模型、一對(duì)其他和ROC 179 6.4 多元分類(lèi)的另一種方法:一對(duì)一 181 6.4.1 多元分類(lèi)AUC第二部分:尋找單一值 182 6.5 精確率–召回率曲線 185 6.5.1 關(guān)于精確率–召回率權(quán)衡的說(shuō)明 185 6.5.2 構(gòu)建精確率–召回率曲線 186 6.6 累積響應(yīng)和提升曲線 187 6.7 更復(fù)雜的分類(lèi)器評(píng)估:第二階段 190 6.7.1 二元分類(lèi) 190 6.7.2 一個(gè)新穎的多元分類(lèi)問(wèn)題 195 6.8 參考閱讀資料 201 6.8.1 小結(jié) 201 6.8.2 注釋 202 6.8.3 練習(xí)題 203 第7章 評(píng)估回歸器 205 7.1 基線回歸器 205 7.2 回歸器的其他度量指標(biāo) 207 7.2.1 創(chuàng)建自定義的評(píng)估指標(biāo) 207 7.2.2 其他內(nèi)置的回歸度量指標(biāo) 208 7.2.3 R2 209 7.3 殘差圖 214 7.3.1 誤差圖 215 7.3.2 殘差圖 217 7.4 標(biāo)準(zhǔn)化初探 221 7.5 使用更復(fù)雜的方法評(píng)估回歸系數(shù):第二階段 225 7.5.1 多個(gè)度量指標(biāo)的交叉驗(yàn)證結(jié)果 226 7.5.2 交叉驗(yàn)證結(jié)果匯總 230 7.5.3 殘差 230 7.6 參考閱讀資料 232 7.6.1 小結(jié) 232 7.6.2 注釋 232 7.6.3 練習(xí)題 234 第三部分 更多方法和其他技術(shù) 第8章 更多分類(lèi)方法 237 8.1 重溫分類(lèi)知識(shí) 237 8.2 決策樹(shù) 239 8.2.1 樹(shù)構(gòu)建算法 242 8.2.2 讓我們開(kāi)始:決策樹(shù)時(shí)間 245 8.2.3 決策樹(shù)中的偏差和方差 249 8.3 支持向量分類(lèi)器 249 8.3.1 執(zhí)行支持向量分類(lèi)器 253 8.3.2 SVC中的偏差和方差 256 8.4 邏輯回歸 259 8.4.1 投注幾率 259 8.4.2 概率、幾率和對(duì)數(shù)幾率 262 8.4.3 實(shí)現(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 假設(shè)、偏差和分類(lèi)器 285 8.7 分類(lèi)器的比較:第三階段 287 8.7.1 數(shù)字 287 8.8 參考閱讀資料 290 8.8.1 小結(jié) 290 8.8.2 注釋 290 8.8.3 練習(xí)題 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 實(shí)踐應(yīng)用:支持向量回歸風(fēng)格 307 9.3 分段常數(shù)回歸 308 9.3.1 實(shí)現(xiàn)分段常數(shù)回歸器 310 9.3.2 模型實(shí)現(xiàn)的一般說(shuō)明 311 9.4 回歸樹(shù) 313 9.4.1 用決策樹(shù)實(shí)現(xiàn)回歸 313 9.5 回歸器比較:第三階段 314 9.6 參考閱讀資料 318 9.6.1 小結(jié) 318 9.6.2 注釋 318 9.6.3 練習(xí)題 319 第10章 手動(dòng)特征工程:操作數(shù)據(jù)的樂(lè)趣和意義 321 10.1 特征工程的術(shù)語(yǔ)和動(dòng)機(jī) 321 10.1.1 為什么選擇特征工程 322 10.1.2 何時(shí)開(kāi)始特征工程 323 10.1.3 特征工程是如何發(fā)生的 324 10.2 特征選擇和數(shù)據(jù)簡(jiǎn)化:清除垃圾 324 10.3 特征縮放 325 10.4 離散化 329 10.5 分類(lèi)編碼 332 10.5.1 編碼的另一種方式以及無(wú)截距的奇怪情況 334 10.6 關(guān)系和相互作用 341 10.6.1 手動(dòng)特征構(gòu)造 341 10.6.2 相互作用 343 10.6.3 使用轉(zhuǎn)換器添加特征 348 10.7 對(duì)輸入空間和目標(biāo)的相關(guān)操作 350 10.7.1 對(duì)輸入空間的相關(guān)操作 351 10.7.2 對(duì)目標(biāo)的相關(guān)操作 353 10.8 參考閱讀資料 356 10.8.1 小結(jié) 356 10.8.2 注釋 356 10.8.3 練習(xí)題 357 第11章 調(diào)整超參數(shù)和管道技術(shù) 359 11.1 模型、參數(shù)、超參數(shù) 360 11.2 調(diào)整超參數(shù) 362 11.2.1 關(guān)于計(jì)算機(jī)科學(xué)和機(jī)器學(xué)習(xí)術(shù)語(yǔ)的說(shuō)明 362 11.2.2 關(guān)于完整搜索的示例 362 11.2.3 使用隨機(jī)性在大海中撈針 368 11.3 遞歸的神奇世界:嵌套交叉驗(yàn)證 370 11.3.1 重溫交叉驗(yàn)證 370 11.3.2 作為模型的網(wǎng)格搜索 371 11.3.3 交叉驗(yàn)證中嵌套的交叉驗(yàn)證 372 11.3.4 關(guān)于嵌套交叉驗(yàn)證的注釋 375 11.4 管道技術(shù) 377 11.4.1 簡(jiǎn)單的管道 378 11.4.2 復(fù)雜的管道 379 11.5 管道和調(diào)參相結(jié)合 380 11.6 參考閱讀資料 382 11.6.1 小結(jié) 382 11.6.2 注釋 382 11.6.3 練習(xí)題 383 第四部分 高級(jí)主題 第12章 組合機(jī)器學(xué)習(xí)模型 387 12.1 集成 387 12.2 投票集成 389 12.3 裝袋法和隨機(jī)森林 390 12.3.1 自舉 390 12.3.2 從自舉到裝袋法 394 12.3.3 隨機(jī)森林 396 12.4 提升方法 398 12.4.1 提升方法的核心理念 399 12.5 各種樹(shù)集成方法的比較 401 12.6 參考閱讀資料 405 12.6.1 小結(jié) 405 12.6.2 注釋 405 12.6.3 練習(xí)題 406 第13章 提供特征工程的模型 409 13.1 特征選擇 411 13.1.1 基于度量特征的“單步篩選”方法 412 13.1.2 基于模型的特征選擇 423 13.1.3 將特征選擇與機(jī)器學(xué)習(xí)管道相集成 426 13.2 基于核的特征構(gòu)造 428 13.2.1 核激勵(lì)因子 428 13.2.2 手動(dòng)核方法 433 13.2.3 核方法和核選項(xiàng) 438 13.2.4 核化支持向量分類(lèi)器:支持向量機(jī) 442 13.2.5 關(guān)于SVM的建議和示例 443 13.3 主成分分析:一種無(wú)監(jiān)督技術(shù) 445 13.3.1 預(yù)熱:中心化數(shù)據(jù) 445 13.3.2 尋找不同的最佳線路 448 13.3.3 第一次執(zhí)行PCA 449 13.3.4 PCA的內(nèi)部原理 452 13.3.5 對(duì)一般PCA的評(píng)論 457 13.3.6 核心PCA和流形方法 458 13.4 參考閱讀資料 462 13.4.1 小結(jié) 462 13.4.2 注釋 462 13.4.3 練習(xí)題 467 第14章 領(lǐng)域特征工程:領(lǐng)域特定的機(jī)器學(xué)習(xí) 469 14.1 處理文本 470 14.1.1 對(duì)文本進(jìn)行編碼 471 14.1.2 文本學(xué)習(xí)的示例 476 14.2 聚類(lèi) 479 14.2.1 k-均值聚類(lèi) 479 14.3 處理圖像 481 14.3.1 視覺(jué)詞袋 481 14.3.2 圖像數(shù)據(jù) 482 14.3.3 端到端系統(tǒng) 483 14.3.4 全局視覺(jué)詞袋轉(zhuǎn)換器的完整代碼 491 14.4 參考閱讀資料 493 14.4.1 小結(jié) 493 14.4.2 注釋 494 14.4.3 練習(xí)題 495 第15章 連接、擴(kuò)展和進(jìn)一步研究方向 497 15.1 優(yōu)化 497 15.2 基于原始數(shù)據(jù)的線性回歸 500 15.2.1 線性回歸的可視化視圖 504 15.3 基于原始數(shù)據(jù)構(gòu)建邏輯回歸 504 15.3.1 采用0-1編碼的邏輯回歸 506 15.3.2 采用加1減1編碼的邏輯回歸 508 15.3.3 邏輯回歸的可視化視圖 509 15.4 基于原始數(shù)據(jù)的SVM 510 15.5 神經(jīng)網(wǎng)絡(luò) 512 15.5.1 線性回歸的神經(jīng)網(wǎng)絡(luò)視圖 512 15.5.2 邏輯回歸的神經(jīng)網(wǎng)絡(luò)視圖 515 15.5.3 超越基本神經(jīng)網(wǎng)絡(luò) 516 15.6 概率圖模型 516 15.6.1 抽樣 518 15.6.2 線性回歸的概率圖模型視圖 519 15.6.3 邏輯回歸的概率圖模型視圖 523 15.7 參考閱讀資料 525 15.7.1 小結(jié) 525 15.7.2 注釋 526 15.7.3 練習(xí)題 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
你還可能感興趣
我要評(píng)論
|