摘 要: 隨著時(shí)間的推移,社會的進(jìn)步,越來越多的數(shù)據(jù)被海量積累下來,如何合理處理數(shù)據(jù),并利用相關(guān)數(shù)據(jù)獲取人們所需的知識,是進(jìn)入21世紀(jì)以來人們一直深入研究的方向。以此為出發(fā)點(diǎn),從數(shù)據(jù)倉庫與數(shù)據(jù)挖掘的誕生談起,詳細(xì)介紹了數(shù)據(jù)倉庫的構(gòu)建、幾種數(shù)據(jù)挖掘算法以及數(shù)據(jù)挖掘過程,分析提出了數(shù)據(jù)挖掘技術(shù)的進(jìn)一步發(fā)展和研究方向。
關(guān)鍵詞:SQL Server 2000;數(shù)據(jù)倉庫;數(shù)據(jù)挖掘
?
? 隨著計(jì)算機(jī)應(yīng)用技術(shù)的快速發(fā)展,令各行各業(yè)收集數(shù)據(jù)的能力大力提升,隨之也就帶來了“數(shù)據(jù)爆炸”現(xiàn)象。如何將這些海量數(shù)據(jù)存儲與分析,令其轉(zhuǎn)換成信息和知識,輔助決策管理,成為亟待解決的問題。由此,數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)應(yīng)運(yùn)而生。
20世紀(jì)90年代初期INMON W H.在其里程碑式的著作《Building the Datahouse》中提出了“數(shù)據(jù)倉庫”的概念[1],而后隨著數(shù)據(jù)庫與計(jì)算機(jī)技術(shù)的不斷進(jìn)步,數(shù)據(jù)倉庫技術(shù)也得以快速發(fā)展,并逐漸滲透到生物醫(yī)學(xué)、零售、醫(yī)學(xué)信息系統(tǒng)、移動通信等行業(yè)中。
數(shù)據(jù)挖掘技術(shù)自從1989年8月在底特律召開的研討會上提出后迅速發(fā)展,該研討會組委會在1997年開始擁有了自己的雜志“Knowledge Discovery and Data Mining”,并且在數(shù)據(jù)倉庫的基礎(chǔ)上,在保險(xiǎn)業(yè)務(wù)、金融風(fēng)險(xiǎn)預(yù)測、基因工程研究、產(chǎn)品產(chǎn)量和質(zhì)量分析等領(lǐng)域中得到了成功應(yīng)用。
1? 數(shù)據(jù)倉庫技術(shù)
1.1 數(shù)據(jù)倉庫介紹
數(shù)據(jù)倉庫不僅包含分析所需的數(shù)據(jù),而且包含處理數(shù)據(jù)所需的應(yīng)用程序,這些程序包括將數(shù)據(jù)由外部媒體轉(zhuǎn)入數(shù)據(jù)倉庫的應(yīng)用程序,也包括了將數(shù)據(jù)加以分析并呈現(xiàn)給用戶的應(yīng)用程序。
根據(jù)該定義,一個(gè)數(shù)據(jù)倉庫包括了數(shù)據(jù)以及負(fù)責(zé)管理與分析工作的程序管理器,其主要目的是提供可用的數(shù)據(jù),使分析人員可以取得所需的正確統(tǒng)計(jì)信息,以作為管理決策的參考依據(jù)。
1.2 數(shù)據(jù)倉庫系統(tǒng)的架構(gòu)
一個(gè)數(shù)據(jù)倉庫的大小一般都是在100 GB以上,因?yàn)閭鹘y(tǒng)的關(guān)系數(shù)據(jù)庫技術(shù)是針對OLTP而發(fā)展的,并不適用于數(shù)據(jù)量大而且復(fù)雜度高的數(shù)據(jù)倉庫系統(tǒng),需要用不同的方式來設(shè)計(jì)和開發(fā)一個(gè)數(shù)據(jù)倉庫系統(tǒng)。
因此提出一個(gè)新名詞——系統(tǒng)管理器,它是由多個(gè)程序所構(gòu)成的,而成為層次式的架構(gòu),至于一個(gè)管理程序的功能與復(fù)雜度則會因數(shù)據(jù)倉庫系統(tǒng)而異。系統(tǒng)管理器向下可分為3個(gè)管理器:加載管理器(Load Manager)、倉庫管理器(Warehouse Manager)和查詢管理器(Query Manager)。圖1所示架構(gòu)圖實(shí)現(xiàn)了一個(gè)數(shù)據(jù)倉庫系統(tǒng)的架構(gòu),就數(shù)據(jù)層面而言,圖中標(biāo)示出了3個(gè)層次:數(shù)據(jù)、信息以及決策。而圖中各管理器職責(zé)為:
(1)加載管理器:程序需實(shí)現(xiàn)抽取與加載,功能為抽取并加載數(shù)據(jù),在加載數(shù)據(jù)之前與進(jìn)行中執(zhí)行簡單的轉(zhuǎn)換。
(2)倉庫管理器:程序需實(shí)現(xiàn)整理與轉(zhuǎn)換、備份與備存,功能為轉(zhuǎn)換并管理數(shù)據(jù)倉庫數(shù)據(jù)、備份與備存數(shù)據(jù)。
(3)查詢管理器:程序需實(shí)現(xiàn)查詢功能,從而可引導(dǎo)并管理數(shù)據(jù)倉庫的查詢。
1.3 數(shù)據(jù)倉庫設(shè)計(jì)
數(shù)據(jù)倉庫的設(shè)計(jì)和創(chuàng)建是一個(gè)分布實(shí)施的連貫過程,在確定用戶需求的基礎(chǔ)上,完成數(shù)據(jù)倉庫的設(shè)計(jì)和建立、提取和加載,最后進(jìn)行長期的使用和維護(hù)。從系統(tǒng)的角度看,數(shù)據(jù)倉庫的建立首先必須明確其設(shè)計(jì)方法,針對解決問題的短期性或長效性,將數(shù)據(jù)倉庫設(shè)計(jì)方法分為以下3種:
?。?)自頂向下的方法:該方法把企業(yè)需求作為實(shí)現(xiàn)數(shù)據(jù)倉庫的首要任務(wù),其成本、難度和時(shí)間花費(fèi)都遠(yuǎn)遠(yuǎn)大于自下向上的方法,一般適合于取得長期效益。
?。?)自底向上的方法:該方法設(shè)計(jì)較小的、更集中的數(shù)據(jù)倉庫應(yīng)用,可以簡化整體處理過程,為兼顧縮短開發(fā)時(shí)間和可縮放企業(yè)應(yīng)用提供了折中的方案,是快速實(shí)現(xiàn)數(shù)據(jù)集市、部門數(shù)據(jù)倉庫的有效手段。
?。?)聯(lián)合方法:是以上兩種方法的合成,企業(yè)在保持自底向上方法實(shí)現(xiàn)和基于應(yīng)用的同時(shí),還能利用自頂向下方法的規(guī)劃和決策,為企業(yè)保留建立長遠(yuǎn)決策方案提供了機(jī)會[2]。
2 數(shù)據(jù)挖掘算法
2.1 數(shù)據(jù)挖掘理論
數(shù)據(jù)挖掘是指從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中,提取隱含的、預(yù)先不知道的、但又潛在有用的信息和知識的過程。數(shù)據(jù)挖掘的相近術(shù)語,包括知識發(fā)現(xiàn)、數(shù)據(jù)分析、數(shù)據(jù)融合(Data Fusion)以及決策支持等。人們把原始數(shù)據(jù)看作是形成知識的源泉,就像從礦石中采礦一樣。原始數(shù)據(jù)可以是結(jié)構(gòu)化的,如關(guān)系數(shù)據(jù)庫中的數(shù)據(jù),也可以是半結(jié)構(gòu)化的,如文本、圖形、圖像數(shù)據(jù),甚至可以是分布在網(wǎng)絡(luò)上的異構(gòu)型數(shù)據(jù)。發(fā)現(xiàn)知識的方法可以是數(shù)學(xué)的,也可以是非數(shù)學(xué)的;可以是演繹的,也可以是歸納的。已發(fā)現(xiàn)知識不僅可以被用于信息管理、查詢優(yōu)化、決策支持、過程控制等,還可以用于數(shù)據(jù)自身的維護(hù)。
2.2 數(shù)據(jù)挖掘基本算法
2.2.1.關(guān)聯(lián)規(guī)則
?。?)關(guān)聯(lián)規(guī)則的定義
如果項(xiàng)集的出現(xiàn)頻率大于或等于min_sup與D中事務(wù)總數(shù)的乘積,則項(xiàng)集滿足最小支持度min_sup;如果項(xiàng)集滿足最小支持度,則稱它為頻繁項(xiàng)集,頻繁k-項(xiàng)集的集合通常記作Lk。關(guān)聯(lián)規(guī)則分為兩步:找出所有頻繁項(xiàng)集和由頻繁項(xiàng)集產(chǎn)生關(guān)聯(lián)規(guī)則。
(2)Apriori算法:使用候選項(xiàng)集找頻繁項(xiàng)集
Apriori算法[4]是一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法。Apriori使用一種稱作逐層搜索的迭代方法,k-項(xiàng)集用于探索(k+1)-項(xiàng)集。首先,找出頻繁1-項(xiàng)集的集合。該集合記作L1。L1用于找頻繁2-項(xiàng)集的集合L2,而L2用于找L3,如此下去,直到不能找到頻繁k-項(xiàng)集。找每個(gè)Lk需要一次數(shù)據(jù)庫掃描。
為提高頻繁項(xiàng)集逐層產(chǎn)生的效率,用Apriori性質(zhì)來壓縮搜索空間,該性質(zhì)稱為Apriori性質(zhì):即頻繁項(xiàng)集的所有非空子集都必須也是頻繁的。Apriori性質(zhì)基于如下觀察:根據(jù)定義,如果項(xiàng)集I不滿足最小支持度閥值min_sup,則I不是頻繁的,即P(I)
一旦由數(shù)據(jù)庫D中的事務(wù)找出頻繁項(xiàng)集,由它們產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則是直截了當(dāng)?shù)模瑢τ谥眯哦?,可以用下式,其中條件概率用項(xiàng)集支持度計(jì)數(shù)表示:
其中support_count(A∪B)是包含項(xiàng)集A∪B的事務(wù)數(shù),support_count(A)是包含項(xiàng)集A的事務(wù)數(shù)。根據(jù)該式,關(guān)聯(lián)規(guī)則可以產(chǎn)生如下:
對于每個(gè)頻繁項(xiàng)集l,產(chǎn)生l的所有非空子集;
對于l的每個(gè)非空子集s,如果
Apriori算法在剪枝步中的每個(gè)元素需在交易數(shù)據(jù)庫中進(jìn)行驗(yàn)證來決定其是否加入,這里的驗(yàn)證過程是算法性能的瓶頸,這個(gè)方法要求多次重復(fù)掃描可能很大的交易數(shù)據(jù)庫,還會產(chǎn)生大量的候選項(xiàng)集,這是Apriori算法的兩大缺點(diǎn)。
2.2.2 遺傳算法
遺傳算法是進(jìn)化計(jì)算方法的實(shí)例,是優(yōu)化型算法。遺傳算法是一個(gè)計(jì)算模型,由5部分組成:個(gè)體的初始集合P、雜交技術(shù)、變異算法、適應(yīng)度函數(shù)以及對P反復(fù)應(yīng)用雜交技術(shù)和變異技術(shù)的算法。該算法用適應(yīng)度函數(shù)確定P中應(yīng)保留的最優(yōu)個(gè)體。算法每次迭代都從種群中替換許多預(yù)先定義的個(gè)體,直至達(dá)到某一閾值為止。遺傳算法的優(yōu)點(diǎn)是容易并行化,但它也存在許多缺點(diǎn):遺傳算法對于最終用戶來說很難理解和解釋、問題抽象和個(gè)體表述十分困難、最佳的適應(yīng)度函數(shù)難以確定以及雜交和變異過程難以確定。
2.2.3 決策樹
決策樹[5]是一個(gè)類似于流程圖的樹結(jié)構(gòu),其中每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)屬性上的測試,每個(gè)分枝代表一個(gè)測試輸出,而每個(gè)樹葉節(jié)點(diǎn)代表類或類分布。決策樹根據(jù)不同的特征,以樹型結(jié)構(gòu)表示分類或決策集合,產(chǎn)生規(guī)則和發(fā)現(xiàn)規(guī)律。決策樹的算法主要有:ID3算法、C4.5算法、SLIQ算法和SPRINT算法。
3? 數(shù)據(jù)挖掘的過程
3.1 確定業(yè)務(wù)對象
清晰地定義出業(yè)務(wù)問題,認(rèn)清數(shù)據(jù)挖掘的目的是數(shù)據(jù)挖掘的重要一步。挖掘的最后結(jié)構(gòu)是不可預(yù)測的,但要探索的問題應(yīng)是可預(yù)見的,為了數(shù)據(jù)挖掘而數(shù)據(jù)挖掘則帶有盲目性,是不會成功的。
3.2 數(shù)據(jù)準(zhǔn)備
??? (1)數(shù)據(jù)的選擇,搜索所有與業(yè)務(wù)對象有關(guān)的內(nèi)部和外部數(shù)據(jù)信息,并從中選擇出適用于數(shù)據(jù)挖掘應(yīng)用的數(shù)據(jù);
??? (2)數(shù)據(jù)的預(yù)處理,研究數(shù)據(jù)的質(zhì)量,為進(jìn)一步分析作準(zhǔn)備,并確定將要進(jìn)行的挖掘操作的類型;
??? (3)數(shù)據(jù)的轉(zhuǎn)換,將數(shù)據(jù)轉(zhuǎn)換成一個(gè)分析模型,這個(gè)分析模型是針對挖掘算法建立的,建立一個(gè)真正適合挖掘算法的分析模型是數(shù)據(jù)挖掘成功的關(guān)鍵。
3.3 數(shù)據(jù)挖掘
對所得到的經(jīng)過轉(zhuǎn)換的數(shù)據(jù)進(jìn)行挖掘,除了完善從選擇合適的挖掘算法外,其余一切工作都能自動地完成。
3.4 結(jié)果分析
解釋并評估結(jié)果,其使用的分析方法一般應(yīng)以數(shù)據(jù)挖掘操作而定,通常會用到可視化技術(shù)。
3.5 知識的同化
將分析所得到的知識集成到業(yè)務(wù)信息系統(tǒng)的組織結(jié)構(gòu)中去。
總之,數(shù)據(jù)挖掘過程需要多次的循環(huán)反復(fù),才有可能達(dá)到預(yù)期的效果,如圖2所示。
?
4 研究展望
隨著大量算法的完善,數(shù)據(jù)倉庫技術(shù)越發(fā)成熟,挖掘過程的系統(tǒng)化和規(guī)范化、挖掘工具的不斷推陳出新,數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)已顯示了它廣泛的應(yīng)用前景。如:
?。?)應(yīng)用的探索:目前正探索擴(kuò)大其應(yīng)用范圍,如生物醫(yī)學(xué)、電信等領(lǐng)域。
?。?)可伸縮的數(shù)據(jù)挖掘方法:一個(gè)重要方向是基于約束的挖掘,該方向致力于在增加用戶交互同時(shí)改進(jìn)挖掘處理的總體效率。
?。?)數(shù)據(jù)挖掘與數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)倉庫系統(tǒng)和Web數(shù)據(jù)庫系統(tǒng)的集成:數(shù)據(jù)挖掘系統(tǒng)的理想體系結(jié)構(gòu)是與數(shù)據(jù)庫和數(shù)據(jù)倉庫系統(tǒng)的緊耦合方式。
?。?)數(shù)據(jù)挖掘語言的標(biāo)準(zhǔn)化。
?。?)可視化數(shù)據(jù)挖掘:可視化數(shù)據(jù)挖掘是從大量數(shù)據(jù)中發(fā)現(xiàn)知識的有效途徑。
?。?)復(fù)雜數(shù)據(jù)類型挖掘的新方法:復(fù)雜數(shù)據(jù)類型挖掘是數(shù)據(jù)挖掘中一項(xiàng)重要的前沿研究課題。
?。?)Web挖掘:有關(guān)Web內(nèi)容挖掘、Web日志挖掘和因特網(wǎng)上的數(shù)據(jù)挖掘服務(wù),將成為數(shù)據(jù)挖掘中一個(gè)最為重要和繁榮的子領(lǐng)域。
?。?)數(shù)據(jù)挖掘中的隱私保護(hù)與信息安全。
數(shù)據(jù)挖掘在研究領(lǐng)域和商業(yè)領(lǐng)域中越來越多的應(yīng)用,已經(jīng)得到人們的關(guān)注,促使這一技術(shù)得到迅速發(fā)展和完善。當(dāng)看到它給人們帶來利益的同時(shí),也不能忽視存在的問題,例如:數(shù)據(jù)挖掘方法的效率還有待提高,尤其是超大規(guī)模數(shù)據(jù)集中數(shù)據(jù)挖掘的效率,以及挖掘結(jié)果的無效性等等。目前應(yīng)予綜合考慮的是:采用數(shù)據(jù)挖掘解決的商業(yè)問題的類型,為進(jìn)行數(shù)據(jù)挖掘所作的數(shù)據(jù)準(zhǔn)備,數(shù)據(jù)挖掘的各種算法和理論基礎(chǔ)。
總之,數(shù)據(jù)挖掘技術(shù)是一個(gè)年輕且充滿希望的研究領(lǐng)域,如何在數(shù)據(jù)倉庫的基礎(chǔ)上,加大力度,促使每年都有新的數(shù)據(jù)挖掘方法和模型問世,仍然是探究的方向。
參考文獻(xiàn)
[1]?INMON,W.H.Building the data warehouse,third edition.Copytightc2002 by John Wiley & Sons,Inc:21-24.
[2]?彭木根. 數(shù)據(jù)倉庫技術(shù)與實(shí)現(xiàn)[M].北京,電子工業(yè)出版社,2000:181-206.
[3]?陳華英,李京.莊成三.構(gòu)建醫(yī)療衛(wèi)生信息數(shù)據(jù)倉庫研究[J]. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,38(4):505-508.
[4]?石麗,李堅(jiān).數(shù)據(jù)倉庫與決策支持.北京.國防工業(yè)出版社,2003:149-154.
[5]?朱邵文,胡紅銀,王泉德,等.決策樹數(shù)據(jù)采掘及發(fā)展[J].計(jì)算機(jī)工程,2000,26(10):1-3,35.