摘要:面對“人類被數(shù)據(jù)淹沒,人類卻饑餓于知識”的挑戰(zhàn),本文從數(shù)據(jù)挖掘的涵義與作用入手,簡單描述了關(guān)系數(shù)據(jù)庫數(shù)據(jù)挖掘系統(tǒng)的結(jié)構(gòu)與基本原理,并且對基于SQL Server2000關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)進行數(shù)據(jù)挖掘的實現(xiàn)進行了詳細而全面的闡述。
關(guān)鍵詞:數(shù)據(jù)倉庫;數(shù)據(jù)挖掘;聯(lián)機分析處理
1引言
當今世界,隨著計算機技術(shù)與數(shù)據(jù)庫技術(shù)的快速發(fā)展,全球范圍內(nèi)的數(shù)據(jù)倉庫中數(shù)據(jù)儲存量急驟上升,“海量數(shù)據(jù)”背后蘊含了大量潛在的信息與商機,一直以來,缺少一種能對海量數(shù)據(jù)進行深層次分析的技術(shù),導致了“數(shù)據(jù)豐富但知識匱乏”的現(xiàn)象。另一方面,關(guān)系型數(shù)據(jù)倉庫也已經(jīng)在各個領(lǐng)域得到了廣泛的應用,基于關(guān)系型數(shù)據(jù)倉庫的數(shù)據(jù)挖掘技術(shù)具有十分廣闊的發(fā)展前景。
2數(shù)據(jù)挖掘及其系統(tǒng)結(jié)構(gòu)
2、1數(shù)據(jù)挖掘的涵義
數(shù)據(jù)挖掘是一門剛剛興起的多學科綜合的新生技術(shù),起步較晚,但發(fā)展迅猛。目前還沒有形成一個完整統(tǒng)一的定義,雖然數(shù)據(jù)挖掘的定義有多種版本,但是其核心內(nèi)容大致相同。例如:美國SAS研究所在1997年提出數(shù)據(jù)挖掘是“在大量栩關(guān)數(shù)據(jù)基礎(chǔ)之上進行數(shù)據(jù)探索和建立相關(guān)模型的先進方法”的概念;1999年Bhavani提出新的概念,認為數(shù)據(jù)挖掘是“使用模式識別技術(shù)、統(tǒng)計和數(shù)學技術(shù),在大量的數(shù)據(jù)中發(fā)現(xiàn)有意義的新關(guān)系、模式和趨勢的過程”。隨后在2000年Handetal也給數(shù)據(jù)挖掘下了一個定義,他認為“數(shù)據(jù)挖掘就是在大型數(shù)據(jù)庫中尋找有意義、有價值信息的過程”。
綜合上面的捕述,筆者認為數(shù)據(jù)挖掘就是從海量的數(shù)據(jù)中挖掘出可能有潛在價值的信息的技術(shù)。這些信息是可能有潛在價值的,支持決策,可以為企業(yè)帶來利益,或者為科學研究尋找突破口。
數(shù)據(jù)挖掘綜合了多個學科技術(shù),具有分類、聚類、關(guān)聯(lián)規(guī)則與序列模式的發(fā)現(xiàn)、預測、偏差的檢測等五大功能,這幾項功能并不是相互孤立的,而是相輔相成,互相聯(lián)系共同起作用的一個整體。
2、2數(shù)據(jù)挖掘系統(tǒng)的結(jié)構(gòu)
數(shù)據(jù)挖掘技術(shù)的分析方法可以分為直接數(shù)據(jù)挖掘和間接數(shù)據(jù)挖掘兩種,其中直接的數(shù)據(jù)挖掘包括分類、估值、預言三種分析方法,這些分析方法的目標是利用可用的數(shù)據(jù)建立一個模型,這個模型對剩余的數(shù)據(jù)或?qū)σ粋€特定的變量進行描述;而間接數(shù)據(jù)挖掘包含相關(guān)性分組或關(guān)聯(lián)規(guī)則、聚集、描述與可視化三種分析方法,這些分析方法并不直按用模型來對目標中選出某一具體的變量進行描述;而是在所有的變量中建立起某種關(guān)系。
典型的數(shù)據(jù)挖掘系統(tǒng)其結(jié)構(gòu)相對簡單,如圖l所示,后臺數(shù)據(jù)倉庫中的海量數(shù)據(jù)(潛在價值的數(shù)據(jù))通過數(shù)據(jù)倉庫服務器的整理、集成和選擇等數(shù)據(jù)庫操作形成有價值知識,用戶借助于數(shù)據(jù)挖掘工具(如數(shù)據(jù)挖掘引擎、模式評估等)通過用戶表示層來獲取到對自己有用的知識或信息;當然這個過程也具有可逆性,外界的信息同樣可以相應的數(shù)據(jù)挖掘工具處理后通過數(shù)據(jù)倉庫服務器進行到后臺數(shù)據(jù)庫中。
圖1典型數(shù)據(jù)挖掘系統(tǒng)的結(jié)構(gòu)圖
3關(guān)系型數(shù)據(jù)倉庫的數(shù)據(jù)挖掘的實現(xiàn)策略
目前,數(shù)據(jù)挖掘?qū)A繑?shù)據(jù)的探索分析的起點是聯(lián)機分析處理OLAP(0n Line AnalyticaI Processing),也就是說,數(shù)據(jù)挖掘是建立在聯(lián)機分析處理的數(shù)據(jù)環(huán)境基礎(chǔ)之上。同時,科學合理的數(shù)據(jù)環(huán)境是確保數(shù)據(jù)挖掘有效和正確實施的基礎(chǔ)和關(guān)鍵,它需要服務于數(shù)據(jù)挖掘總體目標的數(shù)據(jù)再組織,需要有單獨的數(shù)據(jù)分析和數(shù)據(jù)處理環(huán)境,而數(shù)據(jù)倉庫正是為了構(gòu)建這種新的分析處理環(huán)境而出現(xiàn)的一種數(shù)據(jù)存儲和組織技術(shù)產(chǎn)品。
如何把存放大量業(yè)務數(shù)據(jù)的關(guān)系數(shù)據(jù)庫經(jīng)過篩選、抽取、歸納、統(tǒng)計、轉(zhuǎn)換到一個新的數(shù)據(jù)倉庫中,然后再進行數(shù)據(jù)展現(xiàn)。下面筆者以基于SQL Server2000數(shù)據(jù)庫的數(shù)據(jù)挖掘為例,對關(guān)系型數(shù)據(jù)倉庫中數(shù)據(jù)挖掘技術(shù)的實現(xiàn)作一個簡單介紹,目的在于讓讀者了解如何從豐富的后臺數(shù)據(jù)庫中挖掘出有價值的知識。
3、1數(shù)據(jù)倉庫的數(shù)據(jù)加載
數(shù)據(jù)倉庫信息的數(shù)據(jù)挖掘可以使數(shù)據(jù)倉庫成為具有較高商業(yè)價值,為決策者從中提取指導性的數(shù)據(jù)模式和信息,并為做出相應的決策提供理論基礎(chǔ)。正確的決策知識與數(shù)據(jù)倉庫中的數(shù)據(jù)密切相關(guān),同時數(shù)據(jù)倉庫中大量的數(shù)據(jù)來源于傳統(tǒng)數(shù)據(jù)庫,相近的事件和相關(guān)的數(shù)據(jù)總是需要周期性地加入到倉庫平臺中從而豐富和反映當前事件的變化,因此倉庫數(shù)據(jù)的構(gòu)成與具體加載策略密切相關(guān)。
在關(guān)系型數(shù)據(jù)庫管理系統(tǒng)SQL Server2000中,提供了數(shù)據(jù)轉(zhuǎn)換服務(DTS模塊),它可以實現(xiàn)數(shù)據(jù)從源向目標庫的轉(zhuǎn)換,比如說,將Access、MySQL、文本數(shù)據(jù)、XML數(shù)據(jù)等轉(zhuǎn)換成SQL Server關(guān)系型數(shù)據(jù),再由目標管理系統(tǒng)進行數(shù)據(jù)的檢索、修改、鉆取等管理工作,從而實現(xiàn)數(shù)據(jù)記錄的分析,從中挖掘出隱藏的有價值的信息(知識)。
3、2數(shù)據(jù)倉庫的數(shù)據(jù)鉆取
數(shù)據(jù)鉆取是數(shù)據(jù)倉庫中數(shù)據(jù)抽取的具體形式,它包含兩種模式:上鉆與下鉆。上鉆是實現(xiàn)通過一個維從低層次向較高的層次攀升,從而獲取數(shù)據(jù)立方體的聚合數(shù)據(jù)的過程,這是一個由具體到抽象的過程;而下鉆則是上鉆的逆操作,是一個由抽象到具體的過程,它是由不太詳細的數(shù)據(jù)到更詳細的數(shù)據(jù),比如沿著時間維度,從年到季度,再到月下鉆,可以獲取更加詳細的數(shù)據(jù)。SQL Server2000中依托企業(yè)管理器中的數(shù)據(jù)鉆取通過新建挖掘模型功能來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的鉆取操作,通過這種分析方法對關(guān)系數(shù)據(jù)庫中的一維或多維數(shù)據(jù)進行抽取,并將結(jié)果呈現(xiàn)給用戶。
3、3數(shù)據(jù)倉庫的數(shù)據(jù)挖掘
2000年,微軟首次KSQL Server2000中引入了數(shù)據(jù)挖掘特性,把數(shù)據(jù)挖掘引擎集成到rsQL Server 2000的分析服務中,從而極大地降低從關(guān)系數(shù)據(jù)倉庫中實現(xiàn)數(shù)據(jù)挖掘的復雜性。在數(shù)據(jù)挖掘特性中包含兩個可擴展的數(shù)據(jù)挖掘算法:Microsoft的決策樹和Microsoft的集群。
下面筆者就關(guān)系型數(shù)據(jù)庫數(shù)據(jù)挖掘的具體實現(xiàn)作一個描述,以便讀者對基于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)挖掘有一個詳細全面的理解。
3、3、1挖掘數(shù)據(jù)源選擇
首先,根據(jù)用戶需要可以使用多維數(shù)據(jù)或關(guān)系數(shù)據(jù)來創(chuàng)建相應的數(shù)據(jù)挖掘模型。如果是使用關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)的話,則選擇[關(guān)系數(shù)據(jù)(R)]單選鈕;否則選擇[OLAP數(shù)據(jù)(0)]按鈕。
3、3、2挖掘事例表選擇
在[挖掘模型向?qū)對話框中選擇需要進行數(shù)據(jù)挖掘的源數(shù)據(jù)表,這張表必須包含對應的事例鍵,因為該事例鍵是唯一標識待分析事例的列,根據(jù)需要作出相應選擇。
3、3、3挖掘技術(shù)選擇
這一步需要用戶對要分析的數(shù)據(jù)采用何種數(shù)據(jù)挖掘技術(shù)作出選擇。前面已經(jīng)介紹過,SQL Server2000的數(shù)據(jù)挖掘特性中包含兩個可擴展的數(shù)據(jù)挖掘算法:Microsoft的決策樹和Microsoft的集群。這里請根據(jù)需要選擇相應的數(shù)據(jù)挖掘算法。
3、3、4挖掘事件例關(guān)鍵字選擇
前面已經(jīng)選擇了相應的事例表,在這里,將要求進一步選擇相應的事例鍵,該事例鍵可以唯一地標識待分析事例的列。
3、3、5挖掘模型參數(shù)選擇
接下來,需要從事例表中選擇輸入列和預測列;其中輸入列包含關(guān)系所要依據(jù)的信息,預測列包含挖掘模型依據(jù)輸入列中的信息而作出的預測。
3、3、5挖掘結(jié)果瀏覽
通過上面的設(shè)置,挖掘工具將依據(jù)用戶輸入列的信息進行數(shù)據(jù)分析、抽取等挖掘方法,對預測列給出一個預測值,這就是挖掘出數(shù)據(jù)背后隱藏的有價值的信息(知識)的過程。
4結(jié)語
數(shù)據(jù)倉庫技術(shù)是數(shù)據(jù)庫技術(shù)的一個重要發(fā)展方向,而利用數(shù)據(jù)挖掘技術(shù)將數(shù)據(jù)加工轉(zhuǎn)換成有價值的信息供決策者使用已經(jīng)成為當今IT行業(yè)研究的熱點問題。同時數(shù)據(jù)倉庫技術(shù)和數(shù)據(jù)挖掘技術(shù)是相互融合與互動發(fā)展的,筆者認為數(shù)據(jù)倉庫與數(shù)據(jù)挖掘相結(jié)合的技術(shù),其應用研究的前景肯定是十分廣闊的。
參考文獻
1美George M,Marakas,敖富江譯,Modem Data Warehousing Mining,and VkuaIiz撕on Core Concepts,清華大學出版社
[2]陳文偉,數(shù)據(jù)倉庫與數(shù)據(jù)挖掘教程[M]清華大學出版社,2006
[3]廖開際,數(shù)據(jù)倉庫與數(shù)據(jù)挖掘[M]:北京大學出版社,2008
作者簡介:
肖玉朝(1974-),男,長沙商貿(mào)旅游職業(yè)技術(shù)學院軟件技術(shù)教研室,在讀研究生,主要研究方向是軟件工程。