本書系統(tǒng)地介紹了數(shù)據(jù)預(yù)處理、數(shù)據(jù)倉庫和數(shù)據(jù)挖掘的原理、方法及應(yīng)用技術(shù), 以及采用Mahout 對相應(yīng)的挖掘算法進(jìn)行實(shí)際練習(xí)。本書共有11 章, 分為兩大部分。第1 ~7 章為理論部分。第1 章為緒論, 介紹了數(shù)據(jù)挖掘與知識發(fā)現(xiàn)領(lǐng)域中的一些基本理論、研究方法等, 也簡單介紹了Hadoop 生態(tài)系統(tǒng)中的Mahout; 第2 ~7 章按知識發(fā)現(xiàn)的過程, 介紹數(shù)據(jù)預(yù)處理的方法和技術(shù)、數(shù)據(jù)倉庫的構(gòu)建與OLAP 技術(shù)、數(shù)據(jù)挖掘原理及算法(包括關(guān)聯(lián)規(guī)則挖掘、聚類分析方法、分類規(guī)則挖掘)、常見的數(shù)據(jù)挖掘工具與產(chǎn)品。第8 ~11 章為實(shí)驗(yàn)部分, 采用Mahout 對數(shù)據(jù)挖掘各類算法進(jìn)行實(shí)際練習(xí)。
本書應(yīng)用性較強(qiáng), 與實(shí)踐相結(jié)合, 以小數(shù)據(jù)集為例詳細(xì)介紹各種挖掘算法, 使讀者更易掌握挖掘算法的基本原理及過程; 使用廣泛的大數(shù)據(jù)平臺———Hadoop 生態(tài)系統(tǒng)中的Mahout 對各種挖掘算法進(jìn)行實(shí)際練習(xí), 實(shí)戰(zhàn)性強(qiáng), 也符合目前數(shù)據(jù)處理與挖掘的發(fā)展趨勢。
本書既便于教師課堂講授, 又便于自學(xué)者閱讀, 可作為高等院校高年級學(xué)生“數(shù)據(jù)挖掘技術(shù)” “數(shù)據(jù)倉庫與數(shù)據(jù)挖掘” “數(shù)據(jù)處理與智能決策”等課程的教材。
前言
現(xiàn)在的社會是一個高速發(fā)展的社會, 科技發(fā)達(dá), 信息暢通, 人們之間的交流越來越密切, 生活也越來越方便, 大數(shù)據(jù)就是這個高科技時代的產(chǎn)物, 并且將會以更多、更復(fù)雜、更多樣化的方式持續(xù)增長。大數(shù)據(jù)的復(fù)雜化和格式多樣化, 決定了應(yīng)用服務(wù)平臺中針對大數(shù)據(jù)的服務(wù)場景和類型的多樣化, 從而要求應(yīng)用服務(wù)平臺必須融合大數(shù)據(jù)技術(shù)來應(yīng)對, 傳統(tǒng)的數(shù)據(jù)存儲和分析技術(shù)已無法滿足應(yīng)用的需求。
目前行業(yè)中使用最廣泛的大數(shù)據(jù)平臺是基于Apache 開源社區(qū)版本的Hadoop 生態(tài)體系,阿里巴巴、騰訊、百度、臉書(Facebook) 等國內(nèi)外各大互聯(lián)網(wǎng)公司的系統(tǒng)基本都采用Hadoop生態(tài)系統(tǒng), 來完成數(shù)據(jù)存儲和處理。事實(shí)上, 在未來2 ~3 年預(yù)計(jì)有超過50% 的大數(shù)據(jù)項(xiàng)目會在Hadoop 框架下運(yùn)行。
在大數(shù)據(jù)時代, 大學(xué)生應(yīng)具備一定的大數(shù)據(jù)處理能力。本書圍繞大數(shù)據(jù)背景下的數(shù)據(jù)處理和知識發(fā)現(xiàn)問題, 從基本概念入手, 由淺入深、循序漸進(jìn)地介紹了數(shù)據(jù)處理與知識發(fā)現(xiàn)過程中的數(shù)據(jù)預(yù)處理技術(shù)、數(shù)據(jù)倉庫技術(shù)、數(shù)據(jù)挖掘的基本方法, 并在最后使用最廣泛的大數(shù)據(jù)平臺———Hadoop 生態(tài)系統(tǒng)中的Mahout 對各種挖掘算法進(jìn)行實(shí)際練習(xí), 實(shí)戰(zhàn)性強(qiáng), 也符合目前數(shù)據(jù)處理與挖掘的發(fā)展趨勢。
目前, 數(shù)據(jù)處理與知識發(fā)現(xiàn)及應(yīng)用方法逐漸成為各高校信息類和管理類本科專業(yè)的必修內(nèi)容。本書作為立足于本科教學(xué)的教材, 具有如下特色:
(1) 在邏輯安排上循序漸進(jìn), 由淺入深, 便于讀者系統(tǒng)學(xué)習(xí)。
(2) 內(nèi)容豐富, 信息量大, 融入了大量本領(lǐng)域的新知識和新方法。
(3) 作為教材, 以小數(shù)據(jù)集為例詳細(xì)介紹各種挖掘算法, 使讀者更易掌握挖掘算法的基本原理及過程; 使用Mahout 實(shí)踐各種挖掘算法, 符合大數(shù)據(jù)的發(fā)展趨勢。
(4) 圖文并茂, 形式生動, 可讀性強(qiáng)。
本書的編寫得到了武漢民辦高校合作聯(lián)盟、武昌首義學(xué)院信息科學(xué)與工程學(xué)院和機(jī)械工業(yè)出版社的大力支持和幫助, 在此深表謝意!
由于編者水平有限, 書中難免會出現(xiàn)不足之處, 歡迎讀者批評指證。如果您有更多的寶貴意見, 歡迎發(fā)郵件至郵箱xuqin@ wsyu. edu. cn。
編 者
目錄
前 言
上篇 理論部分
第1 章 緒論 2
1. 1 KDD 與數(shù)據(jù)挖掘 2
1. 1. 1 KDD 的定義 2
1. 1. 2 KDD 過程與數(shù)據(jù)挖掘 3
1. 2 數(shù)據(jù)挖掘的對象 4
1. 3 數(shù)據(jù)挖掘的任務(wù) 8
1. 4 Mahout 簡介 12
1. 4. 1 Mahout 12
1. 4. 2 Mahout 算法庫 13
1. 4. 3 Mahout 應(yīng)用 16
1. 5 小結(jié) 17
1. 6 習(xí)題 17
第2 章 數(shù)據(jù)預(yù)處理 18
2. 1 數(shù)據(jù)概述 18
2. 1. 1 屬性與度量 19
2. 1. 2 數(shù)據(jù)集的類型 23
2. 2 數(shù)據(jù)預(yù)處理 27
2. 2. 1 數(shù)據(jù)預(yù)處理概述 28
2. 2. 2 數(shù)據(jù)清理 30
2. 2. 3 數(shù)據(jù)集成 34
2. 2. 4 數(shù)據(jù)變換 38
2. 2. 5 數(shù)據(jù)歸約 40
2. 2. 6 離散化與概念分層 48
2. 3 小結(jié) 52
2. 4 習(xí)題 53
第3 章 數(shù)據(jù)倉庫 55
3. 1 數(shù)據(jù)倉庫概述 55
3. 1. 1 從數(shù)據(jù)庫到數(shù)據(jù)倉庫 55
3. 1. 2 數(shù)據(jù)倉庫 56
3. 1. 3 數(shù)據(jù)倉庫系統(tǒng)結(jié)構(gòu) 59
3. 1. 4 數(shù)據(jù)倉庫中的名詞 59
3. 2 數(shù)據(jù)倉庫的ETL 60
3. 2. 1 ETL 的基本概念 60
3. 2. 2 ETL 的工具 60
3. 3 元數(shù)據(jù)與外部數(shù)據(jù) 62
3. 3. 1 元數(shù)據(jù)的定義 62
3. 3. 2 元數(shù)據(jù)的存儲與管理 63
3. 3. 3 外部數(shù)據(jù) 64
3. 4 數(shù)據(jù)倉庫模型及數(shù)據(jù)倉庫的建立 65
3. 4. 1 多維數(shù)據(jù)模型 65
3. 4. 2 多維數(shù)據(jù)模型的建立 67
3. 5 聯(lián)機(jī)分析處理OLAP 技術(shù) 73
3. 5. 1 OLAP 概述 73
3. 5. 2 OLAP 與數(shù)據(jù)倉庫 75
3. 5. 3 OLAP 的模型 77
3. 5. 4 OLAP 的基本操作 79
3. 6 數(shù)據(jù)倉庫實(shí)例 80
3. 6. 1 數(shù)據(jù)倉庫的創(chuàng)建 81
3. 6. 2 數(shù)據(jù)的提取、轉(zhuǎn)換和加載 83
3. 7 小結(jié) 83
3. 8 習(xí)題 83
第4 章 關(guān)聯(lián)規(guī)則挖掘 84
4. 1 問題定義 85
4. 1. 1 購物籃分析 85
4. 1. 2 基本術(shù)語 85
4. 2 頻繁項(xiàng)集的產(chǎn)生 87
4. 2. 1 先驗(yàn)原理 88
4. 2. 2 Apriori 算法的頻繁項(xiàng)集產(chǎn)生 90
4. 3 規(guī)則產(chǎn)生 94
4. 3. 1 基于置信度的剪枝 94
4. 3. 2 Apriori 算法中規(guī)則的產(chǎn)生 94
4. 4 FP-growth 算法 95
4. 5 多層關(guān)聯(lián)規(guī)則和多維關(guān)聯(lián)規(guī)則 99
4. 5. 1 多層關(guān)聯(lián)規(guī)則 99
4. 5. 2 多維關(guān)聯(lián)規(guī)則 102
4. 6 非二元屬性的關(guān)聯(lián)規(guī)則 103
4. 7 關(guān)聯(lián)規(guī)則的評估 104
4. 8 序列模式挖掘算法 106
4. 8. 1 序列模式的概念 106
4. 8. 2 Apriori 類算法———AprioriAll
算法 109
4. 9 小結(jié) 114
4. 10 習(xí)題 115
第5 章 聚類分析方法 118
5. 1 聚類分析概述 118
5. 1. 1 聚類的定義 118
5. 1. 2 聚類算法的要求 119
5. 1. 3 聚類算法的分類 120
5. 1. 4 相似性的測度 121
5. 2 基于劃分的聚類算法 126
5. 2. 1 基于質(zhì)心的(Centroid-based)
劃分方法———基本K-means
聚類算法 126
5. 2. 2 K-means 聚類算法的拓展 128
5. 2. 3 基于中心的(Medoid-based)
劃分方法———PAM 算法 130
5. 3 層次聚類算法 133
5. 3. 1 AGNES 算法 136
5. 3. 3 改進(jìn)算法———BIRCH 算法 137
5. 3. 4 改進(jìn)算法———CURE 算法 141
5. 4 基于密度的聚類算法 143
5. 5 聚類算法評價 147
5. 6 離群點(diǎn)挖掘 149
5. 6. 1 相關(guān)問題概述 149
5. 6. 2 基于距離的方法 150
5. 6. 3 基于相對密度的方法 154
5. 7 小結(jié) 158
5. 8 習(xí)題 158
第6 章 分類規(guī)則挖掘 160
6. 1 分類問題概述 160
6. 2 最近鄰分類法 162
6. 2. 1 KNN 算法原理 162
6. 2. 2 KNN 算法的特點(diǎn)及改進(jìn) 165
6. 2. 3 基于應(yīng)用平臺的KNN 算法應(yīng)用
實(shí)例 166
6. 3 決策樹分類方法 167
6. 3. 1 決策樹概述 167
6. 3. 2 信息論 171
6. 3. 3 ID3 算法 172
6. 3. 4 算法改進(jìn): C4. 5 算法 176
6. 4 貝葉斯分類方法 180
6. 4. 1 貝葉斯定理 181
6. 4. 2 樸素貝葉斯分類器 183
6. 4. 3 樸素貝葉斯分類方法的改進(jìn) 185
6. 5 神經(jīng)網(wǎng)絡(luò)算法 188
6. 5. 1 前饋神經(jīng)網(wǎng)絡(luò)概述 188
6. 5. 2 學(xué)習(xí)前饋神經(jīng)網(wǎng)絡(luò) 189
6. 5. 3 BP 神經(jīng)網(wǎng)絡(luò)模型與學(xué)習(xí)算法 191
6. 6 回歸分析 193
6. 7 小結(jié) 196
6. 8 習(xí)題 197
第7 章 數(shù)據(jù)挖掘工具與產(chǎn)品 198
7. 1 評價數(shù)據(jù)挖掘產(chǎn)品的標(biāo)準(zhǔn) 198
7. 2 數(shù)據(jù)挖掘工具簡介 200
7. 3 數(shù)據(jù)挖掘的可視化 203
7. 3. 1 數(shù)據(jù)挖掘可視化的過程與方法 203
7. 3. 2 數(shù)據(jù)挖掘可視化的分類 204
7. 3. 3 數(shù)據(jù)挖掘可視化的工具 206
7. 4 Weka 207
7. 4. 1 Weka Explorer 208
7. 4. 2 Weka Experimenter 216
7. 4. 3 KnowledgeFlow 219
7. 5 小結(jié) 221
7. 6 習(xí)題 221
下篇 實(shí)驗(yàn)部分
第8 章 Mahout 入門 224
8. 1 Mahout 安裝前的準(zhǔn)備 224
8. 1. 1 安裝JDK 224
8. 1. 2 安裝Hadoop 227
8. 2 Mahout 的安裝 237
8. 3 測試安裝 238
8. 4 小結(jié) 239
第9 章 使用Mahout 實(shí)踐關(guān)聯(lián)規(guī)則
算法 240
9. 1 FP 樹關(guān)聯(lián)規(guī)則算法 240
9. 1. 1 Mahout 中Parallel Frequent Pattern
Mining 算法的實(shí)現(xiàn)原理 240
9. 1. 2 Mahout 的Parallel F