本書系統(tǒng)地介紹了數(shù)據(jù)預(yù)處理、數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘的原理、方法及應(yīng)用技術(shù), 以及采用Mahout 對(duì)相應(yīng)的挖掘算法進(jìn)行實(shí)際練習(xí)。本書共有11 章, 分為兩大部分。第1 ~7 章為理論部分。第1 章為緒論, 介紹了數(shù)據(jù)挖掘與知識(shí)發(fā)現(xiàn)領(lǐng)域中的一些基本理論、研究方法等, 也簡(jiǎn)單介紹了Hadoop 生態(tài)系統(tǒng)中的Mahout; 第2 ~7 章按知識(shí)發(fā)現(xiàn)的過(guò)程, 介紹數(shù)據(jù)預(yù)處理的方法和技術(shù)、數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建與OLAP 技術(shù)、數(shù)據(jù)挖掘原理及算法(包括關(guān)聯(lián)規(guī)則挖掘、聚類分析方法、分類規(guī)則挖掘)、常見的數(shù)據(jù)挖掘工具與產(chǎn)品。第8 ~11 章為實(shí)驗(yàn)部分, 采用Mahout 對(duì)數(shù)據(jù)挖掘各類算法進(jìn)行實(shí)際練習(xí)。
本書應(yīng)用性較強(qiáng), 與實(shí)踐相結(jié)合, 以小數(shù)據(jù)集為例詳細(xì)介紹各種挖掘算法, 使讀者更易掌握挖掘算法的基本原理及過(guò)程; 使用廣泛的大數(shù)據(jù)平臺(tái)———Hadoop 生態(tài)系統(tǒng)中的Mahout 對(duì)各種挖掘算法進(jìn)行實(shí)際練習(xí), 實(shí)戰(zhàn)性強(qiáng), 也符合目前數(shù)據(jù)處理與挖掘的發(fā)展趨勢(shì)。
本書既便于教師課堂講授, 又便于自學(xué)者閱讀, 可作為高等院校高年級(jí)學(xué)生“數(shù)據(jù)挖掘技術(shù)” “數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘” “數(shù)據(jù)處理與智能決策”等課程的教材。
前言
現(xiàn)在的社會(huì)是一個(gè)高速發(fā)展的社會(huì), 科技發(fā)達(dá), 信息暢通, 人們之間的交流越來(lái)越密切, 生活也越來(lái)越方便, 大數(shù)據(jù)就是這個(gè)高科技時(shí)代的產(chǎn)物, 并且將會(huì)以更多、更復(fù)雜、更多樣化的方式持續(xù)增長(zhǎng)。大數(shù)據(jù)的復(fù)雜化和格式多樣化, 決定了應(yīng)用服務(wù)平臺(tái)中針對(duì)大數(shù)據(jù)的服務(wù)場(chǎng)景和類型的多樣化, 從而要求應(yīng)用服務(wù)平臺(tái)必須融合大數(shù)據(jù)技術(shù)來(lái)應(yīng)對(duì), 傳統(tǒng)的數(shù)據(jù)存儲(chǔ)和分析技術(shù)已無(wú)法滿足應(yīng)用的需求。
目前行業(yè)中使用最廣泛的大數(shù)據(jù)平臺(tái)是基于Apache 開源社區(qū)版本的Hadoop 生態(tài)體系,阿里巴巴、騰訊、百度、臉書(Facebook) 等國(guó)內(nèi)外各大互聯(lián)網(wǎng)公司的系統(tǒng)基本都采用Hadoop生態(tài)系統(tǒng), 來(lái)完成數(shù)據(jù)存儲(chǔ)和處理。事實(shí)上, 在未來(lái)2 ~3 年預(yù)計(jì)有超過(guò)50% 的大數(shù)據(jù)項(xiàng)目會(huì)在Hadoop 框架下運(yùn)行。
在大數(shù)據(jù)時(shí)代, 大學(xué)生應(yīng)具備一定的大數(shù)據(jù)處理能力。本書圍繞大數(shù)據(jù)背景下的數(shù)據(jù)處理和知識(shí)發(fā)現(xiàn)問(wèn)題, 從基本概念入手, 由淺入深、循序漸進(jìn)地介紹了數(shù)據(jù)處理與知識(shí)發(fā)現(xiàn)過(guò)程中的數(shù)據(jù)預(yù)處理技術(shù)、數(shù)據(jù)倉(cāng)庫(kù)技術(shù)、數(shù)據(jù)挖掘的基本方法, 并在最后使用最廣泛的大數(shù)據(jù)平臺(tái)———Hadoop 生態(tài)系統(tǒng)中的Mahout 對(duì)各種挖掘算法進(jìn)行實(shí)際練習(xí), 實(shí)戰(zhàn)性強(qiáng), 也符合目前數(shù)據(jù)處理與挖掘的發(fā)展趨勢(shì)。
目前, 數(shù)據(jù)處理與知識(shí)發(fā)現(xiàn)及應(yīng)用方法逐漸成為各高校信息類和管理類本科專業(yè)的必修內(nèi)容。本書作為立足于本科教學(xué)的教材, 具有如下特色:
(1) 在邏輯安排上循序漸進(jìn), 由淺入深, 便于讀者系統(tǒng)學(xué)習(xí)。
(2) 內(nèi)容豐富, 信息量大, 融入了大量本領(lǐng)域的新知識(shí)和新方法。
(3) 作為教材, 以小數(shù)據(jù)集為例詳細(xì)介紹各種挖掘算法, 使讀者更易掌握挖掘算法的基本原理及過(guò)程; 使用Mahout 實(shí)踐各種挖掘算法, 符合大數(shù)據(jù)的發(fā)展趨勢(shì)。
(4) 圖文并茂, 形式生動(dòng), 可讀性強(qiáng)。
本書的編寫得到了武漢民辦高校合作聯(lián)盟、武昌首義學(xué)院信息科學(xué)與工程學(xué)院和機(jī)械工業(yè)出版社的大力支持和幫助, 在此深表謝意!
由于編者水平有限, 書中難免會(huì)出現(xiàn)不足之處, 歡迎讀者批評(píng)指證。如果您有更多的寶貴意見, 歡迎發(fā)郵件至郵箱xuqin@ wsyu. edu. cn。
編 者
目錄
前 言
上篇 理論部分
第1 章 緒論 2
1. 1 KDD 與數(shù)據(jù)挖掘 2
1. 1. 1 KDD 的定義 2
1. 1. 2 KDD 過(guò)程與數(shù)據(jù)挖掘 3
1. 2 數(shù)據(jù)挖掘的對(duì)象 4
1. 3 數(shù)據(jù)挖掘的任務(wù) 8
1. 4 Mahout 簡(jiǎn)介 12
1. 4. 1 Mahout 12
1. 4. 2 Mahout 算法庫(kù) 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ù)倉(cāng)庫(kù) 55
3. 1 數(shù)據(jù)倉(cāng)庫(kù)概述 55
3. 1. 1 從數(shù)據(jù)庫(kù)到數(shù)據(jù)倉(cāng)庫(kù) 55
3. 1. 2 數(shù)據(jù)倉(cāng)庫(kù) 56
3. 1. 3 數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)結(jié)構(gòu) 59
3. 1. 4 數(shù)據(jù)倉(cāng)庫(kù)中的名詞 59
3. 2 數(shù)據(jù)倉(cāng)庫(kù)的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ù)的存儲(chǔ)與管理 63
3. 3. 3 外部數(shù)據(jù) 64
3. 4 數(shù)據(jù)倉(cāng)庫(kù)模型及數(shù)據(jù)倉(cāng)庫(kù)的建立 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ù)倉(cāng)庫(kù) 75
3. 5. 3 OLAP 的模型 77
3. 5. 4 OLAP 的基本操作 79
3. 6 數(shù)據(jù)倉(cāng)庫(kù)實(shí)例 80
3. 6. 1 數(shù)據(jù)倉(cāng)庫(kù)的創(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 問(wèn)題定義 85
4. 1. 1 購(gòu)物籃分析 85
4. 1. 2 基本術(shù)語(yǔ) 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ī)則的評(píng)估 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 相似性的測(cè)度 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 聚類算法評(píng)價(jià) 147
5. 6 離群點(diǎn)挖掘 149
5. 6. 1 相關(guān)問(wèn)題概述 149
5. 6. 2 基于距離的方法 150
5. 6. 3 基于相對(duì)密度的方法 154
5. 7 小結(jié) 158
5. 8 習(xí)題 158
第6 章 分類規(guī)則挖掘 160
6. 1 分類問(wèn)題概述 160
6. 2 最近鄰分類法 162
6. 2. 1 KNN 算法原理 162
6. 2. 2 KNN 算法的特點(diǎn)及改進(jìn) 165
6. 2. 3 基于應(yīng)用平臺(tái)的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 評(píng)價(jià)數(shù)據(jù)挖掘產(chǎn)品的標(biāo)準(zhǔn) 198
7. 2 數(shù)據(jù)挖掘工具簡(jiǎn)介 200
7. 3 數(shù)據(jù)挖掘的可視化 203
7. 3. 1 數(shù)據(jù)挖掘可視化的過(guò)程與方法 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 測(cè)試安裝 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