數(shù)據(jù)挖掘:實用機器學(xué)習(xí)工具與技術(shù)(原書第4版)
定 價:99 元
叢書名:智能科學(xué)與技術(shù)叢書
- 作者:[新西蘭] 伊恩 H. 威騰
- 出版時間:2018/3/1
- ISBN:9787111589167
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:417
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書是數(shù)據(jù)挖掘和機器學(xué)習(xí)領(lǐng)域的經(jīng)典暢銷教材,被國內(nèi)外眾多名校選用。第4版新增了關(guān)于深度學(xué)習(xí)和概率方法的重要章節(jié),同時,備受歡迎的機器學(xué)習(xí)軟件Weka也再度升級。書中全面覆蓋了該領(lǐng)域的實用技術(shù),致力于幫助讀者理解不同技術(shù)的工作方式和應(yīng)用方式,從而學(xué)會在工程實踐和商業(yè)項目中解決真實問題。本書適合作為高等院校相關(guān)課程的教材,同時也適合業(yè)內(nèi)技術(shù)人員閱讀參考。
前 言
Data Mining: Practical Machine Learning Tools and Techniques, Fourth Edition
計算和通信的結(jié)合建立了一個以信息為基礎(chǔ)的新領(lǐng)域。但絕大多數(shù)信息尚處于原始狀態(tài),即以數(shù)據(jù)形式存在的狀態(tài)。假如我們將數(shù)據(jù)定義為被記錄下來的事實,那么“信息”就是隱藏于這些記錄事實的數(shù)據(jù)中的一系列模式或預(yù)期。在數(shù)據(jù)庫中蘊藏了大量具有潛在重要性的信息,這些信息尚未被發(fā)現(xiàn)和利用,我們的任務(wù)就是將這些信息釋放出來。
數(shù)據(jù)挖掘是將隱含的、尚不為人知的同時又是潛在有用的信息從數(shù)據(jù)中提取出來。為此我們編寫計算機程序,自動在數(shù)據(jù)庫中篩選有用的規(guī)律或模式。如果能發(fā)現(xiàn)一些明顯的模式,則可以將其歸納出來,以對未來的數(shù)據(jù)進(jìn)行準(zhǔn)確預(yù)測。當(dāng)然,數(shù)據(jù)挖掘結(jié)果中肯定會出現(xiàn)一些問題,比如許多模式可能是價值不大的或者沒有實際意義的,還有一些可能是虛假的,或者是由于某些具體數(shù)據(jù)集的巧合而產(chǎn)生的。在現(xiàn)實世界中,數(shù)據(jù)是不完美的:有些被人為篡改,有些會丟失。我們觀察到的所有東西都不是完全精確的:任何規(guī)律都有例外,并且總會出現(xiàn)不符合任何一個規(guī)律的實例。算法必須具有足夠的健壯性以應(yīng)付不完美的數(shù)據(jù),并能提取出不精確但有用的規(guī)律。
機器學(xué)習(xí)為數(shù)據(jù)挖掘提供了技術(shù)基礎(chǔ),能夠?qū)⑿畔臄?shù)據(jù)庫的原始數(shù)據(jù)中提取出來,以可以理解的形式表達(dá),并可用于多種用途。這是一種抽象化過程:如實地全盤接收現(xiàn)有數(shù)據(jù),然后在此基礎(chǔ)上推導(dǎo)出所有隱藏在這些數(shù)據(jù)中的結(jié)構(gòu)。本書將介紹在數(shù)據(jù)挖掘?qū)嵺`中為了發(fā)現(xiàn)和描述數(shù)據(jù)中的結(jié)構(gòu)模式而采用的機器學(xué)習(xí)工具與技術(shù)。
就像所有新興技術(shù)都會受到商界的強烈關(guān)注一樣,關(guān)于數(shù)據(jù)挖掘應(yīng)用的報道可謂是鋪天蓋地。夸張的報道宣稱通過設(shè)立學(xué)習(xí)算法就能從浩瀚的數(shù)據(jù)汪洋中發(fā)現(xiàn)那些神秘的規(guī)律,其實機器學(xué)習(xí)絕沒有什么魔法,也沒有什么隱藏的力量,更沒有什么巫術(shù),有的只是一些能將有用信息從原始數(shù)據(jù)中提取出來的簡單和實用的技術(shù)。本書將介紹這些技術(shù),并展示它們是如何工作的。
在許多應(yīng)用中,機器學(xué)習(xí)使得從數(shù)據(jù)樣本中獲取結(jié)構(gòu)描述成為可能。這種結(jié)構(gòu)描述可用于預(yù)測、解釋和理解。有些數(shù)據(jù)挖掘應(yīng)用側(cè)重于預(yù)測,即從數(shù)據(jù)所描述的過去預(yù)測將來在新情況下會發(fā)生什么,通常是預(yù)測新的樣本分類。但也許人們更感興趣的是,“學(xué)習(xí)”的結(jié)果是一個可以用來對樣本進(jìn)行分類的真實結(jié)構(gòu)描述。這種結(jié)構(gòu)描述不僅支持預(yù)測,也支持解釋和理解。根據(jù)經(jīng)驗,在絕大多數(shù)數(shù)據(jù)挖掘?qū)嵺`應(yīng)用中,用戶感興趣的莫過于掌握樣本的本質(zhì)。事實上,這是機器學(xué)習(xí)優(yōu)于傳統(tǒng)統(tǒng)計模型的一個主要優(yōu)點。
本書詮釋了多種多樣的機器學(xué)習(xí)方法。其中部分出于方便教學(xué)的目的而僅僅羅列了一些簡單方案,以清楚解釋基本思想如何實現(xiàn)。其他則更多考慮到具體實現(xiàn)而列舉了很多應(yīng)用于實際工作中的真實系統(tǒng)。在這些方法中,有很多都是近幾年發(fā)展起來的。
我們創(chuàng)建了一套綜合軟件以說明書中的思想。軟件名稱是懷卡托智能分析環(huán)境(Waikato
Environment for Knowledge Analysis),簡稱Weka,它的Java源代碼參見www.cs.waikato.ac.nz/ml/weka。Weka幾乎可以完整地、產(chǎn)業(yè)化地實現(xiàn)本書中所包含的所有技術(shù)。它包括了機器學(xué)習(xí)方法的說明性代碼以及具體實現(xiàn)。針對一些簡單技術(shù),它提供了清楚而簡潔的實例,以幫助理解機器學(xué)習(xí)中的相關(guān)機理。Weka還提供了一個工作平臺,完整、實用、高水準(zhǔn)地實現(xiàn)了很多流行的學(xué)習(xí)方案,這些方案能夠運用于實際的數(shù)據(jù)挖掘項目或?qū)W術(shù)研究。最后,它還包括了一個形如Java類庫的框架,這個框架支持嵌入式機器學(xué)習(xí)的應(yīng)用乃至新學(xué)習(xí)方案的實現(xiàn)。
本書旨在介紹用于數(shù)據(jù)挖掘領(lǐng)域的機器學(xué)習(xí)工具和技術(shù)。讀完本書后,你將對這些技術(shù)有所了解,并能體會到它們的功效和實用價值。如果你希望用自己的數(shù)據(jù)進(jìn)行實驗,用Weka就能輕松做到。但Weka絕不是唯一的選擇,例如,免費統(tǒng)計計算環(huán)境R就包含許多機器學(xué)習(xí)算法。Python編程語言的愛好者可能更喜歡流行的scikit-learn庫。用于分布式計算的現(xiàn)代“大數(shù)據(jù)”框架也支持機器學(xué)習(xí),如Apache Spark。在實際應(yīng)用中,部署機器學(xué)習(xí)的選擇有很多。本書僅討論基本的學(xué)習(xí)算法,沒有深入研究特定軟件的實現(xiàn)細(xì)節(jié),但會在恰當(dāng)?shù)奈恢弥赋鏊懻摰乃惴ǹ梢栽赪eka軟件的什么位置找到。本書還簡要介紹了其他機器學(xué)習(xí)軟件,如用于高維數(shù)據(jù)的“深度學(xué)習(xí)”。不過,大多數(shù)具體軟件的信息被歸納到了附錄中。
提供數(shù)據(jù)挖掘案例研究的商業(yè)書籍中往往涉及一些非常實用的方法,這些方法與當(dāng)前機器學(xué)習(xí)教材中出現(xiàn)的更理論化、更原則化的方法之間存在鴻溝,本書跨越了這個鴻溝。這個鴻溝相當(dāng)大,為了讓機器學(xué)習(xí)技術(shù)應(yīng)用得到成果,需要理解它們是如何工作的。這不是一種可以盲目應(yīng)用而后便期待好結(jié)果出現(xiàn)的技術(shù)。不同的問題需要用不同的技術(shù)解決,但是根據(jù)實際問題來選擇合適的技術(shù)并非易事,你需要知道到底有多少種可能的解決方案。本書所論及的技術(shù)范圍相當(dāng)廣泛,并不囿于某種特定的商業(yè)軟件或方案。書中給出了大量實例,但是展示實例所采用的數(shù)據(jù)集卻小得足以讓你搞清楚實例的整個過程。真實的數(shù)據(jù)集太大,不能做到這一點(而且真實數(shù)據(jù)集的獲取常受限于商業(yè)機密)。本書所選擇的
目 錄
Data Mining: Practical Machine Learning Tools and Techniques, Fourth Edition
譯者序
前言
致謝
第一部分 數(shù)據(jù)挖掘基礎(chǔ)
第1章 緒論 2
1.1 數(shù)據(jù)挖掘和機器學(xué)習(xí) 2
1.1.1 描述結(jié)構(gòu)模式 3
1.1.2 機器學(xué)習(xí) 5
1.1.3 數(shù)據(jù)挖掘 6
1.2 簡單的例子:天氣問題和其他問題 6
1.2.1 天氣問題 6
1.2.2 隱形眼鏡:一個理想化的問題 8
1.2.3 鳶尾花:一個經(jīng)典的數(shù)值型數(shù)據(jù)集 9
1.2.4 CPU性能:引入數(shù)值預(yù)測 10
1.2.5 勞資協(xié)商:一個更真實的例子 11
1.2.6 大豆分類:一個經(jīng)典的機器學(xué)習(xí)的成功例子 12
1.3 應(yīng)用領(lǐng)域 14
1.3.1 Web挖掘 14
1.3.2 包含判斷的決策 15
1.3.3 圖像篩選 15
1.3.4 負(fù)載預(yù)測 16
1.3.5 診斷 17
1.3.6 市場和銷售 17
1.3.7 其他應(yīng)用 18
1.4 數(shù)據(jù)挖掘過程 19
1.5 機器學(xué)習(xí)和統(tǒng)計學(xué) 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 拓展閱讀及參考文獻(xiàn) 26
第2章 輸入:概念、實例和屬性 29
2.1 概念 29
2.2 實例 31
2.2.1 關(guān)系 31
2.2.2 其他實例類型 34
2.3 屬性 35
2.4 輸入準(zhǔn)備 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 拓展閱讀及參考文獻(xiàn) 43
第3章 輸出:知識表達(dá) 44
3.1 表 44
3.2 線性模型 44
3.3 樹 46
3.4 規(guī)則 49
3.4.1 分類規(guī)則 49
3.4.2 關(guān)聯(lián)規(guī)則 52
3.4.3 包含例外的規(guī)則 53
3.4.4 表達(dá)能力更強的規(guī)則 54
3.5 基于實例的表達(dá) 56
3.6 聚類 58
3.7 拓展閱讀及參考文獻(xiàn) 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 關(guān)聯(lián)規(guī)則挖掘 79
4.5.1 項集 80
4.5.2 關(guān)聯(lián)規(guī)則 81
4.5.3 高效地生成規(guī)則 84
4.6 線性模型 86
4.6.1 數(shù)值預(yù)測:線性回歸 86
4.6.2 線性分類:logistic回歸 87
4.6.3 使用感知機的線性分類 89
4.6.4 使用Winnow的線性分類 90
4.7 基于實例的學(xué)習(xí) 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 多實例學(xué)習(xí) 107
4.9.1 聚集輸入 107
4.9.2 聚集輸出 107
4.10 拓展閱讀及參考文獻(xiàn) 108
4.11 Weka實現(xiàn) 109
第5章 可信度:評估學(xué)習(xí)結(jié)果 111
5.1 訓(xùn)練和測試 111
5.2 預(yù)測性能 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 預(yù)測概率 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 成本敏感學(xué)習(xí) 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ù)值預(yù)測 134
5.10 最小描述長度原理 136
5.11 將MDL原理應(yīng)用于聚類 138
5.12 使用驗證集進(jìn)行模型選擇 138
5.13 拓展閱讀及參考文獻(xiàn) 139
第二部分 高級機器學(xué)習(xí)方案
第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 決策樹歸納法的復(fù)雜度 149
6.1.6 從決策樹到規(guī)則 150
6.1.7 C4.5:選擇和選項 150
6.1.8 成本–復(fù)雜度剪枝 151
6.1.9 討論 151
6.2 分類規(guī)則 152
6.2.1 選擇測試的標(biāo)準(zhǔn) 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 關(guān)聯(lián)規(guī)則 161
6.3.1 建立頻繁模式樹 161
6.3.2 尋找大項集 163
6.3.3 討論 166
6.4 Weka 實現(xiàn) 167
第7章 基于實例的學(xué)習(xí)和線性模型的擴展 168
7.1 基于實例的學(xué)習(xí) 168
7.1.1 減少樣本集的數(shù)量 168
7.1.2 對噪聲樣本集剪枝 169
7.1.3 屬性加權(quán) 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 非線性類邊界