本書主要介紹數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)的基本原理和應(yīng)用方法。全書共分為12章,主要內(nèi)容包括數(shù)據(jù)倉庫的概念和體系結(jié)構(gòu)、數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)和處理、數(shù)據(jù)倉庫系統(tǒng)的設(shè)計(jì)與開發(fā)、關(guān)聯(lián)規(guī)則、數(shù)據(jù)分類、數(shù)據(jù)聚類、貝葉斯網(wǎng)絡(luò)、粗糙集、神經(jīng)網(wǎng)絡(luò)、遺傳算法、統(tǒng)計(jì)分析、文本和Web挖掘。
本書既重視理論知識(shí)的講解,又強(qiáng)調(diào)應(yīng)用技能的培養(yǎng)。每章首先介紹算法的主要思想和理論基礎(chǔ),之后利用算法去解決實(shí)例中給出的任務(wù),而且對(duì)于數(shù)據(jù)倉庫的組建方法和多數(shù)章節(jié)中的數(shù)據(jù)挖掘算法,書中都使用Microsoft SQL Server 2005進(jìn)行了操作實(shí)現(xiàn)。通過對(duì)具體實(shí)例的學(xué)習(xí)和實(shí)踐,使讀者掌握數(shù)據(jù)倉庫和數(shù)據(jù)挖掘中必要的知識(shí)點(diǎn),達(dá)到學(xué)以致用的目的。
本書每章均配有習(xí)題,習(xí)題形式為選擇題、簡(jiǎn)答題和操作題,可以幫助讀者進(jìn)一步掌握和鞏固所學(xué)知識(shí)。此外,本書提供多媒體教學(xué)課件和習(xí)題參考答案,讀者可到清華大學(xué)出版社網(wǎng)站http://www.tup.com.cn/下載。
本書可以作為高等學(xué)校計(jì)算機(jī)及相關(guān)專業(yè)本科、研究生的數(shù)據(jù)倉庫和數(shù)據(jù)挖掘教材,也可供相關(guān)領(lǐng)域的廣大科技工作人員和高校師生參考。
本書主要介紹數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)的基本原理和應(yīng)用方法,全書共分為12章,主要內(nèi)容包括數(shù)據(jù)倉庫的概念和體系結(jié)構(gòu)、數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)和處理、數(shù)據(jù)倉庫系統(tǒng)的設(shè)計(jì)與開發(fā)、關(guān)聯(lián)規(guī)則、數(shù)據(jù)分類、數(shù)據(jù)聚類、貝葉斯網(wǎng)絡(luò)、粗糙集、神經(jīng)網(wǎng)絡(luò)、遺傳算法、統(tǒng)計(jì)分析、文本和Web挖掘。
隨著計(jì)算機(jī)和信息時(shí)代的迅猛發(fā)展,人類收集、存儲(chǔ)和訪問數(shù)據(jù)的能力大大增強(qiáng),快速增長的海量數(shù)據(jù)集已經(jīng)遠(yuǎn)遠(yuǎn)超出了人類的理解能力,傳統(tǒng)的數(shù)據(jù)分析工具也顯得力不從心。如何才能不被這些海量數(shù)據(jù)淹沒,而是有效地組織這些數(shù)據(jù),并且從中找出有價(jià)值的知識(shí),幫助人類制定正確的決策?針對(duì)這一問題,數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)應(yīng)運(yùn)而生,并且顯示出強(qiáng)大的生命力。要將海量數(shù)據(jù)轉(zhuǎn)換成為有用的信息和知識(shí),首先要有效地收集和組織數(shù)據(jù)。數(shù)據(jù)倉庫是良好的數(shù)據(jù)收集和組織工具,它的任務(wù)是搜集來自各個(gè)業(yè)務(wù)系統(tǒng)的有用數(shù)據(jù),存放在一個(gè)集成的儲(chǔ)存區(qū)內(nèi)。在數(shù)據(jù)倉庫豐富完整的數(shù)據(jù)基礎(chǔ)上,數(shù)據(jù)挖掘技術(shù)可以從中挖掘出有價(jià)值的知識(shí),從而幫助決策者正確決策。
本書主要介紹數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)的基本原理和應(yīng)用方法,全書共分為12章,主要內(nèi)容包括數(shù)據(jù)倉庫的概念和體系結(jié)構(gòu)、數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)和處理、數(shù)據(jù)倉庫系統(tǒng)的設(shè)計(jì)與開發(fā)、關(guān)聯(lián)規(guī)則、數(shù)據(jù)分類、數(shù)據(jù)聚類、貝葉斯網(wǎng)絡(luò)、粗糙集、神經(jīng)網(wǎng)絡(luò)、遺傳算法、統(tǒng)計(jì)分析、文本和Web挖掘。其中,前3章主要介紹數(shù)據(jù)倉庫的基本原理和數(shù)據(jù)倉庫系統(tǒng)的組建方法,后面的章節(jié)介紹當(dāng)前流行的數(shù)據(jù)挖掘算法的主要思想和理論基礎(chǔ),并且給出豐富的應(yīng)用實(shí)例。
本書緊跟數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)的發(fā)展和人才培養(yǎng)的目標(biāo),有以下幾個(gè)特點(diǎn)。
(1)可讀性強(qiáng),文字?jǐn)⑹錾钊霚\出,易讀易用,即使是初學(xué)者,閱讀起來也比較容易。
。2)概念清晰,條理清楚,內(nèi)容取舍合理。
。3)本書強(qiáng)調(diào)基礎(chǔ),重視實(shí)例。各章節(jié)都以經(jīng)典算法為主,介紹其主要思想和基本原理,并且給出恰當(dāng)和豐富的實(shí)例。
。4)書中實(shí)例和課后習(xí)題實(shí)用、豐富,通過練習(xí),讀者可以對(duì)各個(gè)知識(shí)點(diǎn)從不同角度得到訓(xùn)練,掌握和鞏固所學(xué)知識(shí)。
。5)教學(xué)資源豐富,本書提供多媒體教學(xué)課件和習(xí)題參考答案,方便教學(xué)。對(duì)于上述資源,讀者可到清華大學(xué)出版社的網(wǎng)站http://www.tup.com.cn/下載。
(6)對(duì)于數(shù)據(jù)倉庫的組建方法和多數(shù)章節(jié)中的數(shù)據(jù)挖掘算法,本書都使用MicrosoftSQLServer2005進(jìn)行了操作實(shí)現(xiàn),這種做法與市場(chǎng)主流開發(fā)工具和技術(shù)同步,有利于讀者走向社會(huì)。
本書各章節(jié)之間銜接自然,同時(shí)各章節(jié)又有一定的獨(dú)立性,讀者可按教材的自然順序?qū)W習(xí),也可以根據(jù)實(shí)際情況挑選需要的章節(jié)學(xué)習(xí)。
本書可以作為高等學(xué)校計(jì)算機(jī)及相關(guān)專業(yè)本科、研究生學(xué)習(xí)數(shù)據(jù)倉庫和數(shù)據(jù)挖掘的教材,也可供相關(guān)領(lǐng)域的廣大科技工作人員和高校師生參考。
本書由陳志泊擔(dān)任主編,第1~3章由聶耿青編寫,第5章、第6章和第11章由韓慧編寫,第4章和第10章由孫俏編寫,第7~9章和第12章由王建新編寫。
由于時(shí)間倉促,加之編者水平有限,對(duì)于書中不足之處敬請(qǐng)讀者批評(píng)指正。
編者
2017年8月
第1章數(shù)據(jù)倉庫的概念與體系結(jié)構(gòu)
1.1數(shù)據(jù)倉庫的概念、特點(diǎn)與組成
1.1.1數(shù)據(jù)倉庫的特點(diǎn)
1.1.2數(shù)據(jù)倉庫的組成
1.2數(shù)據(jù)挖掘的概念與方法
1.2.1數(shù)據(jù)挖掘的分析方法
1.2.2數(shù)據(jù)倉庫與數(shù)據(jù)挖掘的關(guān)系
1.3數(shù)據(jù)倉庫的技術(shù)、方法與產(chǎn)品
1.3.1OLAP技術(shù)
1.3.2數(shù)據(jù)倉庫實(shí)施的關(guān)鍵環(huán)節(jié)和技術(shù)
1.3.3數(shù)據(jù)倉庫實(shí)施方法論
1.3.4常用的數(shù)據(jù)倉庫產(chǎn)品
1.4數(shù)據(jù)倉庫系統(tǒng)的體系結(jié)構(gòu)
1.4.1獨(dú)立的數(shù)據(jù)倉庫體系結(jié)構(gòu)
1.4.2基于獨(dú)立數(shù)據(jù)集市的數(shù)據(jù)倉庫體系結(jié)構(gòu)
1.4.3基于依賴型數(shù)據(jù)集市和操作型數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)倉庫
體系結(jié)構(gòu)
1.4.4基于邏輯型數(shù)據(jù)集市和實(shí)時(shí)數(shù)據(jù)倉庫的體系結(jié)構(gòu)
1.5數(shù)據(jù)倉庫的產(chǎn)生、發(fā)展與未來
1.5.1數(shù)據(jù)倉庫的產(chǎn)生
1.5.2數(shù)據(jù)倉庫的發(fā)展
1.5.3數(shù)據(jù)倉庫的未來
1.5.4新一代數(shù)據(jù)倉庫技術(shù)
1.6小結(jié)
1.7習(xí)題
第2章數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)與處理
2.1數(shù)據(jù)倉庫的數(shù)據(jù)結(jié)構(gòu)
2.2數(shù)據(jù)倉庫的數(shù)據(jù)特征
2.2.1狀態(tài)數(shù)據(jù)與事件數(shù)據(jù)
2.2.2當(dāng)前數(shù)據(jù)與周期數(shù)據(jù)
2.2.3元數(shù)據(jù)
2.3數(shù)據(jù)倉庫的數(shù)據(jù)ETL過程
2.3.1ETL的目標(biāo)
2.3.2ETL過程描述
2.3.3數(shù)據(jù)抽取
2.3.4數(shù)據(jù)清洗
2.3.5數(shù)據(jù)轉(zhuǎn)換
2.3.6數(shù)據(jù)加載和索引
2.4多維數(shù)據(jù)模型
2.4.1多維數(shù)據(jù)模型及其相關(guān)概念
2.4.2多維數(shù)據(jù)模型的實(shí)現(xiàn)
2.4.3多維建模技術(shù)
2.4.4星型模式舉例
2.5小結(jié)
2.6習(xí)題
第3章數(shù)據(jù)倉庫系統(tǒng)的設(shè)計(jì)與開發(fā)
3.1數(shù)據(jù)倉庫系統(tǒng)的設(shè)計(jì)與開發(fā)概述
3.1.1建立數(shù)據(jù)倉庫系統(tǒng)的步驟
3.1.2數(shù)據(jù)倉庫系統(tǒng)的生命周期
3.1.3建立數(shù)據(jù)倉庫系統(tǒng)的思維模式
3.1.4數(shù)據(jù)倉庫數(shù)據(jù)庫的設(shè)計(jì)步驟
3.2基于SQLServer2005的數(shù)據(jù)倉庫數(shù)據(jù)庫設(shè)計(jì)
3.2.1分析組織的業(yè)務(wù)狀況及數(shù)據(jù)源結(jié)構(gòu)
3.2.2組織需求調(diào)研,收集分析需求
3.2.3采用信息包圖法設(shè)計(jì)數(shù)據(jù)倉庫的概念模型
3.2.4利用星型圖設(shè)計(jì)數(shù)據(jù)倉庫的邏輯模型
3.2.5數(shù)據(jù)倉庫的物理模型設(shè)計(jì)
3.3使用SQLServer2005建立多維數(shù)據(jù)模型
3.3.1SQLServer2005示例數(shù)據(jù)倉庫環(huán)境的配置與使用
3.3.2基于SQLServer2005示例數(shù)據(jù)庫的多維數(shù)據(jù)模型
3.4小結(jié)
3.5習(xí)題
第4章關(guān)聯(lián)規(guī)則
4.1概述
4.2引例
4.3經(jīng)典算法
4.3.1Apriori算法
4.3.2FPgrowth算法
4.4相關(guān)研究與應(yīng)用
4.4.1分類
4.4.2SQLServer2005中的關(guān)聯(lián)規(guī)則應(yīng)用
4.5小結(jié)
4.6習(xí)題
第5章數(shù)據(jù)分類
5.1引例
5.2分類問題概述
5.2.1分類的過程
5.2.2分類的評(píng)價(jià)準(zhǔn)則
5.3決策樹
5.3.1決策樹的基本概念
5.3.2決策樹算法ID3
5.3.3ID3算法應(yīng)用舉例
5.3.4決策樹算法C4.5
5.3.5SQLServer2005中的決策樹應(yīng)用
5.3.6決策樹剪枝
5.4支持向量機(jī)
5.5近鄰分類方法
5.5.1最近鄰分類方法
5.5.2k近鄰分類方法
5.5.3近鄰分類方法應(yīng)用舉例
5.6小結(jié)
5.7習(xí)題
第6章數(shù)據(jù)聚類
6.1引例
6.2聚類分析概述
6.3聚類分析中相似度的計(jì)算方法
6.3.1連續(xù)型屬性的相似度計(jì)算方法
6.3.2二值離散型屬性的相似度計(jì)算方法
6.3.3多值離散型屬性的相似度計(jì)算方法
6.3.4混合類型屬性的相似度計(jì)算方法
6.4Kmeans聚類算法
6.4.1Kmeans聚類算法的基本概念
6.4.2SQLserver2005中的Kmeans應(yīng)用
6.5層次聚類方法
6.5.1層次聚類方法的基本概念
6.5.2層次聚類方法應(yīng)用舉例
6.6小結(jié)
6.7習(xí)題
第7章貝葉斯網(wǎng)絡(luò)
7.1引例
7.2貝葉斯概率基礎(chǔ)
7.2.1先驗(yàn)概率、后驗(yàn)概率和條件概率
7.2.2條件概率公式
7.2.3全概率公式
7.2.4貝葉斯公式
7.3貝葉斯網(wǎng)絡(luò)概述
7.3.1貝葉斯網(wǎng)絡(luò)的組成和結(jié)構(gòu)
7.3.2貝葉斯網(wǎng)絡(luò)的優(yōu)越性
7.3.3貝葉斯網(wǎng)絡(luò)的三個(gè)主要議題
7.4貝葉斯網(wǎng)絡(luò)的預(yù)測(cè)、診斷和訓(xùn)練算法
7.4.1概率和條件概率數(shù)據(jù)
7.4.2貝葉斯網(wǎng)絡(luò)的預(yù)測(cè)算法
7.4.3貝葉斯網(wǎng)絡(luò)的診斷算法
7.4.4貝葉斯網(wǎng)絡(luò)預(yù)測(cè)和診斷的綜合算法
7.4.5貝葉斯網(wǎng)絡(luò)的建立和訓(xùn)練算法
7.5SQLServer2005中的貝葉斯網(wǎng)絡(luò)應(yīng)用
7.6小結(jié)
7.7習(xí)題
第8章粗糙集
8.1引例
8.2分類與知識(shí)
8.2.1等價(jià)關(guān)系和等價(jià)類
8.2.2分類
8.3粗糙集
8.3.1分類的運(yùn)算
8.3.2分類的表達(dá)能力
8.3.3上近似集和下近似集
8.3.4正域、負(fù)域和邊界
8.3.5粗糙集應(yīng)用舉例
8.3.6粗糙集的性質(zhì)
8.4辨識(shí)知識(shí)的簡(jiǎn)化
8.4.1集合近似精度的度量
8.4.2分類近似的度量
8.4.3等價(jià)關(guān)系的可省略、獨(dú)立和核
8.4.4等價(jià)關(guān)系簡(jiǎn)化舉例
8.4.5知識(shí)的相對(duì)簡(jiǎn)化
8.4.6知識(shí)的相對(duì)簡(jiǎn)化舉例
8.5決策規(guī)則簡(jiǎn)化
8.5.1知識(shí)依賴性的度量
8.5.2簡(jiǎn)化決策規(guī)則
8.5.3可辨識(shí)矩陣
8.6小結(jié)
8.7習(xí)題
第9章神經(jīng)網(wǎng)絡(luò)
9.1引例
9.2人工神經(jīng)網(wǎng)絡(luò)
9.2.1人工神經(jīng)網(wǎng)絡(luò)概述
9.2.2神經(jīng)元模型
9.2.3網(wǎng)絡(luò)結(jié)構(gòu)
9.3BP算法
9.3.1網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)示例
9.3.2有序?qū)?shù)
9.3.3計(jì)算誤差信號(hào)對(duì)參數(shù)的有序?qū)?shù)
9.3.4梯度下降
9.3.5BP算法描述
9.4SQLServer2005中的神經(jīng)網(wǎng)絡(luò)應(yīng)用
9.5小結(jié)
9.6習(xí)題
第10章遺傳算法
10.1概述
10.2相關(guān)概念
10.3基本步驟
10.3.1概述
10.3.2引例
10.4算法設(shè)計(jì)
10.4.1編碼方式
10.4.2種群規(guī)模
10.4.3適應(yīng)度函數(shù)
10.4.4遺傳算子
10.4.5終止條件
10.5相關(guān)研究與應(yīng)用
10.6小結(jié)
10.7習(xí)題
第11章統(tǒng)計(jì)分析
11.1線性回歸模型
11.1.1線性回歸模型的參數(shù)估計(jì)
11.1.2線性回歸方程的判定系數(shù)
11.1.3線性回歸方程的檢驗(yàn)
11.1.4統(tǒng)計(jì)軟件中的線性回歸分析
11.1.5SQLServer2005中的線性回歸應(yīng)用
11.2Logistic回歸模型
11.2.1Logistic回歸模型的參數(shù)估計(jì)
11.2.2統(tǒng)計(jì)軟件中Logistic回歸的結(jié)果分析
11.2.3SQLServer2005中的Logistic回歸應(yīng)用
11.3時(shí)間序列模型
11.3.1ARIMA模型
11.3.2建立ARIMA模型的步驟
11.3.3使用統(tǒng)計(jì)軟件估計(jì)ARIMA模型
11.3.4SQLServer2005中的時(shí)間序列分析
11.4小結(jié)
11.5習(xí)題
第12章文本和Web挖掘
12.1引例
12.2文本挖掘
12.2.1文本信息檢索概述
12.2.2基于關(guān)鍵字的關(guān)聯(lián)分析
12.2.3文檔自動(dòng)聚類
12.2.4自動(dòng)文檔分類
12.2.5自動(dòng)摘要
12.3Web挖掘
12.3.1Web內(nèi)容挖掘
12.3.2Web結(jié)構(gòu)挖掘
12.3.3Web使用挖掘
12.4小結(jié)
12.5習(xí)題
參考文獻(xiàn)
第5章
數(shù)據(jù)分類
隨著計(jì)算機(jī)和信息時(shí)代的到來,人類收集、存儲(chǔ)和訪問數(shù)據(jù)的能力大大增強(qiáng),快速增長的海量數(shù)據(jù)集被存儲(chǔ)在大型數(shù)據(jù)庫中,隨時(shí)充斥著我們的計(jì)算機(jī)、網(wǎng)絡(luò)和生活,理解如此豐富的數(shù)據(jù)已經(jīng)遠(yuǎn)遠(yuǎn)超出人類的能力,原有的數(shù)據(jù)分析工具也顯得力不從心。為了不被數(shù)據(jù)淹沒,而是從中及時(shí)發(fā)現(xiàn)有價(jià)值的信息,從而制定正確的決策,數(shù)據(jù)挖掘技術(shù)應(yīng)運(yùn)而生,并且顯示出強(qiáng)大的生命力。數(shù)據(jù)挖掘的方法多種多樣,包括關(guān)聯(lián)規(guī)則挖掘、分類、聚類和統(tǒng)計(jì)分析等,其中分類問題是數(shù)據(jù)挖掘領(lǐng)域中研究和應(yīng)用最為廣泛的技術(shù)之一,如何更精確、更有效地分類一直是人們追求的目標(biāo)。
5.1引例
分類是指把數(shù)據(jù)樣本映射到一個(gè)事先定義的類中的學(xué)習(xí)過程,即給定一組輸入的屬性向量及其對(duì)應(yīng)的類,用基于歸納的學(xué)習(xí)算法得出分類。
分類問題是數(shù)據(jù)挖掘領(lǐng)域中研究和應(yīng)用最為廣泛的技術(shù)之一,許多分類算法被包含在統(tǒng)計(jì)分析工具的軟件包中,作為專門的分類工具來使用。分類問題在商業(yè)、銀行業(yè)、醫(yī)療診斷、生物學(xué)、文本挖掘和因特網(wǎng)篩選等領(lǐng)域都有廣泛應(yīng)用。例如,在銀行業(yè)中,分類方法可以輔助工作人員將正常信用卡用戶和欺詐信用卡用戶進(jìn)行分類,從而采取有效措施減小銀行的損失;在醫(yī)療診斷中,分類方法可以幫助醫(yī)療人員將正常細(xì)胞和癌變細(xì)胞進(jìn)行分類,從而及時(shí)制定救治方案,挽救病人的生命;在因特網(wǎng)篩選中,分類方法可以協(xié)助網(wǎng)絡(luò)工作人員將正常郵件和垃圾郵件進(jìn)行分類,從而制定有效的垃圾郵件過濾機(jī)制,防止垃圾郵件干擾人們的正常生活。
分類問題中使用的數(shù)據(jù)集是用什么形式來表示的呢?如表5.1所示,數(shù)據(jù)集通過描述屬性和類別屬性來表示。其中,第一行中的Age,Salary稱為數(shù)據(jù)樣本的描述屬性,Class稱為數(shù)據(jù)樣本的類別屬性。從第二行開始的內(nèi)容分別對(duì)應(yīng)描述屬性和類別屬性的具體取值。
表5.1分類問題的示例數(shù)據(jù)集
AgeSalaryClass
30highc1
25highc2
21lowc2
43highc1
18lowc2
33lowc1
在分類問題中,描述屬性可以是連續(xù)型屬性(continuousattribute),也可以是離散型屬性(discreteattribute);而類別屬性必須是離散型屬性。所謂連續(xù)型屬性,是指在某一個(gè)區(qū)間或者無窮區(qū)間內(nèi)該屬性的取值是連續(xù)的,表5.1中的屬性Age就是連續(xù)型屬性;離散型屬性是指該屬性的取值是不連續(xù)的,表5.1中的屬性Salary和Class就是離散型屬性。Salary的具體取值是high和low,表示工資的高和低
,Class的具體取值是c1和c2,表示該數(shù)據(jù)集分為兩個(gè)類別。在具體的應(yīng)用中,針對(duì)不同的算法,有時(shí)需要將連續(xù)屬性轉(zhuǎn)化為離散屬性。
通過上述介紹,可以將分類問題中使用的數(shù)據(jù)集表示為X={(xi,yi)|i=1,2,…,
total},其中數(shù)據(jù)樣本xi(i=1,2,…,total)用d維特征向量xi=(xi1,xi2,…,xid)來表示,xi1,xi2,…,xid分別對(duì)應(yīng)d個(gè)描述屬性A1,A2,…,Ad的具體取值;yi表示數(shù)據(jù)樣本xi的類標(biāo)號(hào)。假設(shè)給定數(shù)據(jù)集包含m個(gè)類別,則yi∈{c1,c2,…,cm},其中c1,c2,…,cm是類別屬性C的具體取值,也稱為類標(biāo)號(hào)。對(duì)于未知類標(biāo)號(hào)的數(shù)據(jù)樣本x,用d維特征向量x=(x1,x2,…,xd)來表示。