數(shù)據(jù)挖掘:實用機器學習工具與技術(原書第4版)
定 價:99 元
叢書名:智能科學與技術叢書
- 作者:[新西蘭] 伊恩 H. 威騰
- 出版時間:2018/3/1
- ISBN:9787111589167
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:417
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書是數(shù)據(jù)挖掘和機器學習領域的經典暢銷教材,被國內外眾多名校選用。第4版新增了關于深度學習和概率方法的重要章節(jié),同時,備受歡迎的機器學習軟件Weka也再度升級。書中全面覆蓋了該領域的實用技術,致力于幫助讀者理解不同技術的工作方式和應用方式,從而學會在工程實踐和商業(yè)項目中解決真實問題。本書適合作為高等院校相關課程的教材,同時也適合業(yè)內技術人員閱讀參考。
前 言
Data Mining: Practical Machine Learning Tools and Techniques, Fourth Edition
計算和通信的結合建立了一個以信息為基礎的新領域。但絕大多數(shù)信息尚處于原始狀態(tài),即以數(shù)據(jù)形式存在的狀態(tài)。假如我們將數(shù)據(jù)定義為被記錄下來的事實,那么“信息”就是隱藏于這些記錄事實的數(shù)據(jù)中的一系列模式或預期。在數(shù)據(jù)庫中蘊藏了大量具有潛在重要性的信息,這些信息尚未被發(fā)現(xiàn)和利用,我們的任務就是將這些信息釋放出來。
數(shù)據(jù)挖掘是將隱含的、尚不為人知的同時又是潛在有用的信息從數(shù)據(jù)中提取出來。為此我們編寫計算機程序,自動在數(shù)據(jù)庫中篩選有用的規(guī)律或模式。如果能發(fā)現(xiàn)一些明顯的模式,則可以將其歸納出來,以對未來的數(shù)據(jù)進行準確預測。當然,數(shù)據(jù)挖掘結果中肯定會出現(xiàn)一些問題,比如許多模式可能是價值不大的或者沒有實際意義的,還有一些可能是虛假的,或者是由于某些具體數(shù)據(jù)集的巧合而產生的。在現(xiàn)實世界中,數(shù)據(jù)是不完美的:有些被人為篡改,有些會丟失。我們觀察到的所有東西都不是完全精確的:任何規(guī)律都有例外,并且總會出現(xiàn)不符合任何一個規(guī)律的實例。算法必須具有足夠的健壯性以應付不完美的數(shù)據(jù),并能提取出不精確但有用的規(guī)律。
機器學習為數(shù)據(jù)挖掘提供了技術基礎,能夠將信息從數(shù)據(jù)庫的原始數(shù)據(jù)中提取出來,以可以理解的形式表達,并可用于多種用途。這是一種抽象化過程:如實地全盤接收現(xiàn)有數(shù)據(jù),然后在此基礎上推導出所有隱藏在這些數(shù)據(jù)中的結構。本書將介紹在數(shù)據(jù)挖掘實踐中為了發(fā)現(xiàn)和描述數(shù)據(jù)中的結構模式而采用的機器學習工具與技術。
就像所有新興技術都會受到商界的強烈關注一樣,關于數(shù)據(jù)挖掘應用的報道可謂是鋪天蓋地。夸張的報道宣稱通過設立學習算法就能從浩瀚的數(shù)據(jù)汪洋中發(fā)現(xiàn)那些神秘的規(guī)律,其實機器學習絕沒有什么魔法,也沒有什么隱藏的力量,更沒有什么巫術,有的只是一些能將有用信息從原始數(shù)據(jù)中提取出來的簡單和實用的技術。本書將介紹這些技術,并展示它們是如何工作的。
在許多應用中,機器學習使得從數(shù)據(jù)樣本中獲取結構描述成為可能。這種結構描述可用于預測、解釋和理解。有些數(shù)據(jù)挖掘應用側重于預測,即從數(shù)據(jù)所描述的過去預測將來在新情況下會發(fā)生什么,通常是預測新的樣本分類。但也許人們更感興趣的是,“學習”的結果是一個可以用來對樣本進行分類的真實結構描述。這種結構描述不僅支持預測,也支持解釋和理解。根據(jù)經驗,在絕大多數(shù)數(shù)據(jù)挖掘實踐應用中,用戶感興趣的莫過于掌握樣本的本質。事實上,這是機器學習優(yōu)于傳統(tǒng)統(tǒng)計模型的一個主要優(yōu)點。
本書詮釋了多種多樣的機器學習方法。其中部分出于方便教學的目的而僅僅羅列了一些簡單方案,以清楚解釋基本思想如何實現(xiàn)。其他則更多考慮到具體實現(xiàn)而列舉了很多應用于實際工作中的真實系統(tǒng)。在這些方法中,有很多都是近幾年發(fā)展起來的。
我們創(chuàng)建了一套綜合軟件以說明書中的思想。軟件名稱是懷卡托智能分析環(huán)境(Waikato
Environment for Knowledge Analysis),簡稱Weka,它的Java源代碼參見www.cs.waikato.ac.nz/ml/weka。Weka幾乎可以完整地、產業(yè)化地實現(xiàn)本書中所包含的所有技術。它包括了機器學習方法的說明性代碼以及具體實現(xiàn)。針對一些簡單技術,它提供了清楚而簡潔的實例,以幫助理解機器學習中的相關機理。Weka還提供了一個工作平臺,完整、實用、高水準地實現(xiàn)了很多流行的學習方案,這些方案能夠運用于實際的數(shù)據(jù)挖掘項目或學術研究。最后,它還包括了一個形如Java類庫的框架,這個框架支持嵌入式機器學習的應用乃至新學習方案的實現(xiàn)。
本書旨在介紹用于數(shù)據(jù)挖掘領域的機器學習工具和技術。讀完本書后,你將對這些技術有所了解,并能體會到它們的功效和實用價值。如果你希望用自己的數(shù)據(jù)進行實驗,用Weka就能輕松做到。但Weka絕不是唯一的選擇,例如,免費統(tǒng)計計算環(huán)境R就包含許多機器學習算法。Python編程語言的愛好者可能更喜歡流行的scikit-learn庫。用于分布式計算的現(xiàn)代“大數(shù)據(jù)”框架也支持機器學習,如Apache Spark。在實際應用中,部署機器學習的選擇有很多。本書僅討論基本的學習算法,沒有深入研究特定軟件的實現(xiàn)細節(jié),但會在恰當?shù)奈恢弥赋鏊懻摰乃惴ǹ梢栽赪eka軟件的什么位置找到。本書還簡要介紹了其他機器學習軟件,如用于高維數(shù)據(jù)的“深度學習”。不過,大多數(shù)具體軟件的信息被歸納到了附錄中。
提供數(shù)據(jù)挖掘案例研究的商業(yè)書籍中往往涉及一些非常實用的方法,這些方法與當前機器學習教材中出現(xiàn)的更理論化、更原則化的方法之間存在鴻溝,本書跨越了這個鴻溝。這個鴻溝相當大,為了讓機器學習技術應用得到成果,需要理解它們是如何工作的。這不是一種可以盲目應用而后便期待好結果出現(xiàn)的技術。不同的問題需要用不同的技術解決,但是根據(jù)實際問題來選擇合適的技術并非易事,你需要知道到底有多少種可能的解決方案。本書所論及的技術范圍相當廣泛,并不囿于某種特定的商業(yè)軟件或方案。書中給出了大量實例,但是展示實例所采用的數(shù)據(jù)集卻小得足以讓你搞清楚實例的整個過程。真實的數(shù)據(jù)集太大,不能做到這一點(而且真實數(shù)據(jù)集的獲取常受限于商業(yè)機密)。本書所選擇的
目 錄
Data Mining: Practical Machine Learning Tools and Techniques, Fourth Edition
譯者序
前言
致謝
第一部分 數(shù)據(jù)挖掘基礎
第1章 緒論 2
1.1 數(shù)據(jù)挖掘和機器學習 2
1.1.1 描述結構模式 3
1.1.2 機器學習 5
1.1.3 數(shù)據(jù)挖掘 6
1.2 簡單的例子:天氣問題和其他問題 6
1.2.1 天氣問題 6
1.2.2 隱形眼鏡:一個理想化的問題 8
1.2.3 鳶尾花:一個經典的數(shù)值型數(shù)據(jù)集 9
1.2.4 CPU性能:引入數(shù)值預測 10
1.2.5 勞資協(xié)商:一個更真實的例子 11
1.2.6 大豆分類:一個經典的機器學習的成功例子 12
1.3 應用領域 14
1.3.1 Web挖掘 14
1.3.2 包含判斷的決策 15
1.3.3 圖像篩選 15
1.3.4 負載預測 16
1.3.5 診斷 17
1.3.6 市場和銷售 17
1.3.7 其他應用 18
1.4 數(shù)據(jù)挖掘過程 19
1.5 機器學習和統(tǒng)計學 20
1.6 將泛化看作搜索 21
1.6.1 枚舉概念空間 22
1.6.2 偏差 22
1.7 數(shù)據(jù)挖掘和道德問題 24
1.7.1 再識別 24
1.7.2 使用個人信息 25
1.7.3 其他問題 26
1.8 拓展閱讀及參考文獻 26
第2章 輸入:概念、實例和屬性 29
2.1 概念 29
2.2 實例 31
2.2.1 關系 31
2.2.2 其他實例類型 34
2.3 屬性 35
2.4 輸入準備 36
2.4.1 數(shù)據(jù)收集 37
2.4.2 ARFF格式 37
2.4.3 稀疏數(shù)據(jù) 39
2.4.4 屬性類型 40
2.4.5 缺失值 41
2.4.6 不正確的值 42
2.4.7 非均衡數(shù)據(jù) 42
2.4.8 了解數(shù)據(jù) 43
2.5 拓展閱讀及參考文獻 43
第3章 輸出:知識表達 44
3.1 表 44
3.2 線性模型 44
3.3 樹 46
3.4 規(guī)則 49
3.4.1 分類規(guī)則 49
3.4.2 關聯(lián)規(guī)則 52
3.4.3 包含例外的規(guī)則 53
3.4.4 表達能力更強的規(guī)則 54
3.5 基于實例的表達 56
3.6 聚類 58
3.7 拓展閱讀及參考文獻 59
第4章 算法:基本方法 60
4.1 推斷基本規(guī)則 60
4.2 簡單概率模型 63
4.2.1 缺失值和數(shù)值屬性 65
4.2.2 用于文檔分類的樸素貝葉斯 67
4.2.3 討論 68
4.3 分治法:創(chuàng)建決策樹 69
4.3.1 計算信息量 71
4.3.2 高度分支屬性 73
4.4 覆蓋算法:建立規(guī)則 74
4.4.1 規(guī)則與樹 75
4.4.2 一個簡單的覆蓋算法 76
4.4.3 規(guī)則與決策列表 79
4.5 關聯(lián)規(guī)則挖掘 79
4.5.1 項集 80
4.5.2 關聯(lián)規(guī)則 81
4.5.3 高效地生成規(guī)則 84
4.6 線性模型 86
4.6.1 數(shù)值預測:線性回歸 86
4.6.2 線性分類:logistic回歸 87
4.6.3 使用感知機的線性分類 89
4.6.4 使用Winnow的線性分類 90
4.7 基于實例的學習 91
4.7.1 距離函數(shù) 92
4.7.2 高效尋找最近鄰 92
4.7.3 討論 96
4.8 聚類 96
4.8.1 基于距離的迭代聚類 97
4.8.2 更快的距離計算 98
4.8.3 選擇簇的個數(shù) 99
4.8.4 層次聚類 100
4.8.5 層次聚類示例 101
4.8.6 增量聚類 102
4.8.7 分類效用 104
4.8.8 討論 106
4.9 多實例學習 107
4.9.1 聚集輸入 107
4.9.2 聚集輸出 107
4.10 拓展閱讀及參考文獻 108
4.11 Weka實現(xiàn) 109
第5章 可信度:評估學習結果 111
5.1 訓練和測試 111
5.2 預測性能 113
5.3 交叉驗證 115
5.4 其他評估方法 116
5.4.1 留一交叉驗證法 116
5.4.2 自助法 116
5.5 超參數(shù)選擇 117
5.6 數(shù)據(jù)挖掘方法比較 118
5.7 預測概率 121
5.7.1 二次損失函數(shù) 121
5.7.2 信息損失函數(shù) 122
5.7.3 討論 123
5.8 計算成本 123
5.8.1 成本敏感分類 125
5.8.2 成本敏感學習 126
5.8.3 提升圖 126
5.8.4 ROC曲線 129
5.8.5 召回率–精確率曲線 130
5.8.6 討論 131
5.8.7 成本曲線 132
5.9 評估數(shù)值預測 134
5.10 最小描述長度原理 136
5.11 將MDL原理應用于聚類 138
5.12 使用驗證集進行模型選擇 138
5.13 拓展閱讀及參考文獻 139
第二部分 高級機器學習方案
第6章 樹和規(guī)則 144
6.1 決策樹 144
6.1.1 數(shù)值屬性 144
6.1.2 缺失值 145
6.1.3 剪枝 146
6.1.4 估計誤差率 147
6.1.5 決策樹歸納法的復雜度 149
6.1.6 從決策樹到規(guī)則 150
6.1.7 C4.5:選擇和選項 150
6.1.8 成本–復雜度剪枝 151
6.1.9 討論 151
6.2 分類規(guī)則 152
6.2.1 選擇測試的標準 152
6.2.2 缺失值和數(shù)值屬性 153
6.2.3 生成好的規(guī)則 153
6.2.4 使用全局優(yōu)化 155
6.2.5 從局部決策樹中獲得規(guī)則 157
6.2.6 包含例外的規(guī)則 158
6.2.7 討論 160
6.3 關聯(lián)規(guī)則 161
6.3.1 建立頻繁模式樹 161
6.3.2 尋找大項集 163
6.3.3 討論 166
6.4 Weka 實現(xiàn) 167
第7章 基于實例的學習和線性模型的擴展 168
7.1 基于實例的學習 168
7.1.1 減少樣本集的數(shù)量 168
7.1.2 對噪聲樣本集剪枝 169
7.1.3 屬性加權 170
7.1.4 泛化樣本集 170
7.1.5 用于泛化樣本集的距離函數(shù) 171
7.1.6 泛化的距離函數(shù) 172
7.1.7 討論 172
7.2 擴展線性模型 173
7.2.1 最大間隔超平面 173
7.2.2 非線性類邊界