AutoML可以將部分機器學習過程自動化,減輕數(shù)據(jù)科學從業(yè)者的工作負擔,深受高級分析人員的喜愛。本書介紹搭建AutoML模塊的基礎知識,并通過練習幫助讀者消化這些知識。讀者將學習使用機器學習流水線自動實現(xiàn)數(shù)據(jù)預處理、特征選擇、模型訓練、模型優(yōu)化等任務,學習應用auto-sklearn和MLBox等已有的自動化庫,并且創(chuàng)建和擴展自定義的AutoML環(huán)節(jié)。閱讀本書,你將對AutoML有更清晰的認識,能利用真實數(shù)據(jù)集完成自動化任務。書中知識可運用到實際的機器學習項目中,或者在機器學習競賽中助你一臂之力。
國內(nèi)*本講解自動機器學習工具與方法的書。
自動機器學習(AutoML)將特征預處理、模型選擇和超參數(shù)優(yōu)化等常用步驟自動化,以簡化機器學習的建模流程。接下來的章節(jié)會詳細介紹這些步驟,并且會教讀者動手構建一套AutoML系統(tǒng),從而對AutoML工具和庫有更深刻的理解。
在開始之前,有必要回顧一下什么是機器學習模型,以及如何訓練模型。
機器學習算法對數(shù)據(jù)進行處理,識別特定的模式,這一學習過程稱為模型訓練(model training)。模型訓練的結果是機器學習模型。有了機器學習模型,你不用制定明確的規(guī)則,它就可針對數(shù)據(jù)提出見解或解答。
在實際應用機器學習模型時,需要輸入大量數(shù)據(jù),用于算法訓練。訓練后的成果是可用于預測的機器學習模型。這種預測可根據(jù)服務器當前狀態(tài)來確定它未來四個小時是否需要維護,或者判斷客戶會不會投向競爭對手。
有時待解決的問題本身都沒有明確定義,甚至我們都不知道需要什么樣的答案。在這種情況下,機器學習模型可幫助探索數(shù)據(jù)集,比如識別行為相似的客戶群,或者根據(jù)不同股票之間的關聯(lián)關系發(fā)現(xiàn)股票的層級結構。
模型劃分出客戶群后,有什么用?至少可以知道:同一群體的客戶有哪些相似的特征,比如年齡、職業(yè)、婚姻狀況、性別、喜好、日常消費習慣、總消費額等。不同群體的客戶是彼此不同的。有了這些信息,我們就可以針對每個群體推送不同的廣告。
可以使用簡單的數(shù)學術語說明這一流程。設有數(shù)據(jù)集 ,包含 個樣本。樣本可代表客戶或不同的動物。通常,每個樣本都是一個實數(shù)集,稱為特征(feature),比如,一位35歲的女性客戶在商店消費了12000美元,可以用向量(0.0,35.0,12000.0)表示。注意,這里性別是用 表示的,男性客戶可以用 表示。向量的大小稱為維度,通常用 表示。這是一個大小為3的向量,即三維數(shù)據(jù)集。
Sibanjan Das是業(yè)界資深數(shù)據(jù)科學顧問,是廣獲好評的《Data Science Using Oracle Data Miner and Oracle R Enterprise》一書作者。
第1章 AutoML簡介 1
1.1 機器學習的范圍 2
1.2 什么是AutoML 4
1.3 為什么和怎么用AutoML 10
1.4 何時需要將機器學習自動化 11
1.5 能學到什么 11
1.6 AutoML庫概述 13
1.7 總結 23
第2章 Python機器學習簡介 25
2.1 技術要求 26
2.2 機器學習 26
2.3 線性回歸 28
2.4 重要評估指標回歸算法 37
2.5 邏輯回歸 39
2.6 重要評估指標分類算法 44
2.7 決策樹 46
2.8 支持向量機 49
2.9 K近鄰算法 52
2.10 集成方法 54
2.11 分類器結果對比 59
2.12 交叉驗證 60
2.13 聚類 61
2.14 總結 66
第3章 數(shù)據(jù)預處理 67
3.1 技術要求 68
3.2 數(shù)據(jù)轉換 68
3.3 特征選擇 97
3.4 特征生成 103
3.5 總結 105
第4章 自動化算法選擇 107
4.1 技術要求 108
4.2 計算復雜度 108
4.3 訓練時間和推理時間的區(qū)別 110
4.4 線性與非線性 119
4.5 必要特征轉換 124
4.6 監(jiān)督機器學習 125
4.7 無監(jiān)督AutoML 132
4.8 總結 157
第5章 超參數(shù)優(yōu)化 159
5.1 技術要求 160
5.2 超參數(shù) 161
5.3 熱啟動 173
5.4 貝葉斯超參數(shù)優(yōu)化 174
5.5 示例系統(tǒng) 175
5.6 總結 178
第6章 創(chuàng)建AutoML流水線 179
6.1 技術要求 180
6.2 機器學習流水線簡介 180
6.3 簡單的流水線 182
6.4 函數(shù)轉換器 184
6.5 復雜流水線 187
6.6 總結 190
第7章 深度學習探究 191
7.1 技術要求 192
7.2 神經(jīng)網(wǎng)絡概覽 192
7.3 使用Keras的前饋神經(jīng)網(wǎng)絡 198
7.4 自編碼器 201
7.5 卷積神經(jīng)網(wǎng)絡 205
7.6 總結 210
第8章 機器學習和數(shù)據(jù)科學項目的重點 211
8.1 機器學習搜索 211
8.2 機器學習的權衡 221
8.3 典型數(shù)據(jù)科學項目的參與模型 222
8.4 參與模型的階段 223
8.5 總結 228
作者簡介 230
索引 231