張 寧
(華北電力大學(xué),河北 保定 071003)
利用數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘技術(shù)可以進(jìn)行在線分析處理和數(shù)據(jù)挖掘,通過多維存儲(chǔ)技術(shù)對(duì)大型、復(fù)雜數(shù)據(jù)集進(jìn)行快速、高級(jí)的分析,能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢(shì),以最大限度地從數(shù)據(jù)中獲取有價(jià)值的信息,從而為決策者提供決策支持。
本文要實(shí)現(xiàn)的招生決策數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)全面綜合的面向分析型數(shù)據(jù)和分析型處理的環(huán)境,能為各種分析工具提供優(yōu)質(zhì)數(shù)據(jù)。招生數(shù)據(jù)倉(cāng)庫(kù)的建立主要包括以下內(nèi)容:(1)確定招生數(shù)據(jù)倉(cāng)庫(kù)主題,進(jìn)行數(shù)據(jù)建模;(2)設(shè)計(jì)招生數(shù)據(jù)倉(cāng)庫(kù);(3)在完成數(shù)據(jù)倉(cāng)庫(kù)概念、邏輯、物理設(shè)計(jì)后,要進(jìn)行數(shù)據(jù)裝載程序的設(shè)計(jì);(4)進(jìn)行數(shù)據(jù)質(zhì)量評(píng)估,確保數(shù)據(jù)的可靠性。上述步驟完成后,一個(gè)初步的數(shù)據(jù)倉(cāng)庫(kù)已經(jīng)設(shè)計(jì)完成。
數(shù)據(jù)倉(cāng)庫(kù)主要是滿足決策分析的需要,將來自各種數(shù)據(jù)源的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)倉(cāng)庫(kù)中,數(shù)據(jù)圍繞決策主題來組織,并且對(duì)數(shù)據(jù)查詢的要求比較高,數(shù)據(jù)存儲(chǔ)量非常大。數(shù)據(jù)倉(cāng)庫(kù)建模采用自上而下的三級(jí)建模方式,即概念建模、邏輯建模、物理建模。
概念模型是主觀與客觀之間的橋梁,它是一個(gè)概念性工具,也就是通常所說的需求分析。在此階段需確定操作數(shù)據(jù)、數(shù)據(jù)源以及一些附加數(shù)據(jù),設(shè)計(jì)容易理解的數(shù)據(jù)模型,有效地完成查詢和數(shù)據(jù)之間的映射。概念模型常用的方法有E-R圖、超立方體、信息包圖等,這里采用信息包圖的方法。信息包圖是1997年Hammergren提出的,它可在平面上展開超立方體,即用二維表格反映多維特征。信息包圖提供了一個(gè)多維空間建立用戶信息模型的方法,它提供了超立方體的可視化表示。這種方法要求從一個(gè)決策者的角度將焦點(diǎn)集中在系統(tǒng)主題上,著重分析主題所涉及的數(shù)據(jù)多維性。信息包圖方法首先確定分析的主題,然后圍繞這個(gè)主題填入指標(biāo)、維度、粒度等信息。圖1是用信息包圖方法為招生決策數(shù)據(jù)倉(cāng)庫(kù)建立的概念模型。
圖1 招生決策概念模型
邏輯建模能直接反映出業(yè)務(wù)部門的需求,同時(shí)對(duì)系統(tǒng)的物理實(shí)施有著重要的指導(dǎo)作用。邏輯建模是對(duì)概念模型設(shè)計(jì)的細(xì)化,邏輯模型就是要把不同主題和維的信息映射到數(shù)據(jù)倉(cāng)庫(kù)中具體的表中。
星型模型是一種由一點(diǎn)向外輻射的建模范例,中間有一個(gè)單一對(duì)象沿半徑向外連接到多個(gè)對(duì)象,星型模型中心的對(duì)象稱為“事實(shí)表”,與之相連的對(duì)象稱為“維表”。它支持以商務(wù)決策者的觀點(diǎn)定義數(shù)據(jù)實(shí)體,滿足面向主題數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)的需要,而信息包圖又為星形圖的設(shè)計(jì)提供了完備的概念基礎(chǔ)。同信息包圖中的三個(gè)對(duì)象對(duì)應(yīng),星形圖擁有三個(gè)邏輯實(shí)體:維度、指標(biāo)和類別。位于星形圖中心的實(shí)體是指標(biāo)實(shí)體,對(duì)應(yīng)信息包圖中的指標(biāo)對(duì)象,是用戶最關(guān)心的基本實(shí)體和查詢活動(dòng)的中心,為用戶的商務(wù)活動(dòng)提供定量數(shù)據(jù)。每個(gè)指標(biāo)實(shí)體代表一系列相關(guān)事實(shí),完成一項(xiàng)指定的功能,在一般情況下代表一個(gè)現(xiàn)實(shí)事務(wù)的綜合水平,僅僅與每個(gè)相關(guān)維度的一個(gè)點(diǎn)對(duì)應(yīng)。
圖2 星型模式
從數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用中的易使用和高性能這兩個(gè)基本的設(shè)計(jì)主旨出發(fā),招生數(shù)據(jù)倉(cāng)庫(kù)邏輯建模采用星型模型,其星型模式如圖2所示。
所謂數(shù)據(jù)倉(cāng)庫(kù)的物理模型就是邏輯模型在數(shù)據(jù)倉(cāng)庫(kù)中的實(shí)現(xiàn),如物理存取方式、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、數(shù)據(jù)存放位置以及存儲(chǔ)分配等。物理模型是在邏輯模型的基礎(chǔ)上實(shí)現(xiàn)的,在進(jìn)行物理模型設(shè)計(jì)實(shí)現(xiàn)時(shí),所考慮的主要因素有:1/0存取時(shí)間、空間利用率和維護(hù)代價(jià)。在數(shù)據(jù)倉(cāng)庫(kù)物理建模完成之后創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)庫(kù),需要?jiǎng)?chuàng)建事實(shí)表和維度表,并在所有表中的主要字段上建立索引。使用Microsoft SQL Server2005關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)作為數(shù)據(jù)倉(cāng)庫(kù)的物理存儲(chǔ),依據(jù)數(shù)據(jù)倉(cāng)庫(kù)物理建模,利用關(guān)系數(shù)據(jù)庫(kù)來構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)。
數(shù)據(jù)挖掘階段首先要確定挖掘的任務(wù)或目的,如數(shù)據(jù)分類、聚類、關(guān)聯(lián)規(guī)則發(fā)現(xiàn)或序列模式發(fā)現(xiàn)等。確定了挖掘任務(wù)后,就要決定使用什么樣的挖掘算法。選擇實(shí)現(xiàn)的算法有兩個(gè)需要考慮的因素:一是不同的數(shù)據(jù)有不同的特點(diǎn),因此需要用與之相關(guān)的算法來挖掘;二是要根據(jù)用戶或?qū)嶋H運(yùn)行系統(tǒng)的要求,有的用戶可能希望獲取描述型的、容易理解的知識(shí),而有的用戶只是希望獲取準(zhǔn)確度盡可能高的預(yù)測(cè)型知識(shí)。選擇了挖掘算法后,就可以實(shí)施數(shù)據(jù)挖掘操作,獲取有用的模式。另外,由于KDD最終是面向人類用戶的,因此可能要對(duì)發(fā)現(xiàn)的模式進(jìn)行可視化,或者把結(jié)果轉(zhuǎn)換為用戶易懂的另一種表示,如把分類決策樹轉(zhuǎn)換為“IF……THEN……”規(guī)則。
本文在建立數(shù)據(jù)倉(cāng)庫(kù)的基礎(chǔ)上,使用Microsoft SQL Server2005進(jìn)行數(shù)據(jù)挖掘的應(yīng)用,并以圖形化界面呈現(xiàn)給用戶。決策樹學(xué)習(xí)是以實(shí)例為基礎(chǔ)的歸納學(xué)習(xí)算法,它著眼于從一組無次序、無規(guī)則的事例中推導(dǎo)出決策樹表示形式的分類規(guī)則,通常用來形成分類器和預(yù)測(cè)模型,可以對(duì)未知數(shù)據(jù)進(jìn)行分類或預(yù)測(cè)、數(shù)據(jù)挖掘等。
決策樹分類方法首先要利用訓(xùn)練集建立決策樹模型,然后根據(jù)這個(gè)決策樹模型對(duì)輸入數(shù)據(jù)進(jìn)行分類。其中,關(guān)鍵問題在于決策樹的構(gòu)建過程,這一過程包括建樹和剪枝兩個(gè)步驟:第一個(gè)步驟為建樹階段,選取部分訓(xùn)練數(shù)據(jù),按廣度優(yōu)先遞歸算法建立決策樹,直到每個(gè)葉子結(jié)點(diǎn)屬于同一類為止;第二個(gè)步驟為剪枝階段,用剩余的數(shù)據(jù)對(duì)生成的決策樹進(jìn)行檢驗(yàn),將不正確的問題進(jìn)行調(diào)整,對(duì)決策樹進(jìn)行剪枝和增加結(jié)點(diǎn),直到建立一個(gè)正確的決策樹。決策樹的建樹算法是通過遞歸過程,最終得到一棵決策樹,而剪枝則是為了降低噪聲數(shù)據(jù)對(duì)分類正確率的影響。
對(duì)一個(gè)分類問題或規(guī)則學(xué)習(xí)問題,決策樹的生成是一個(gè)從上至下、分而治之的過程,本質(zhì)是貪心算法。從根結(jié)點(diǎn)開始,對(duì)每個(gè)非葉結(jié)點(diǎn),找出其對(duì)應(yīng)樣本集中的一個(gè)屬性(也稱為測(cè)試屬性)對(duì)樣本集進(jìn)行測(cè)試,根據(jù)不同的測(cè)試結(jié)果將訓(xùn)練樣本集劃分成若干個(gè)子樣本集,每個(gè)子樣本集構(gòu)成一個(gè)新葉結(jié)點(diǎn),對(duì)新葉結(jié)點(diǎn)再重復(fù)上述劃分過程,這樣不斷循環(huán),直至達(dá)到特定的終止條件。其中,測(cè)試屬性的選擇和如何劃分樣本集是構(gòu)建決策樹的關(guān)鍵環(huán)節(jié)。不同的決策樹算法在此使用的技術(shù)不盡相同。
決策樹采用自頂向下的遞歸方式,在決策樹的內(nèi)部結(jié)點(diǎn)進(jìn)行屬性值的比較,并根據(jù)不同的屬性值判斷從該結(jié)點(diǎn)向下的分枝?;跊Q策樹的學(xué)習(xí)算法的一個(gè)最大優(yōu)點(diǎn)就是它在學(xué)習(xí)過程中不需要使用者了解很多的背景知識(shí)。
對(duì)于離散屬性,決策樹算法根據(jù)數(shù)據(jù)集中輸入列之間的關(guān)系進(jìn)行預(yù)測(cè)。它使用這些列的值或狀態(tài)預(yù)測(cè)其他指定列的狀態(tài)。決策樹根據(jù)特定結(jié)果發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)。對(duì)于連續(xù)屬性,使用線性回歸確定決策樹的拆分位置。如果有多個(gè)列設(shè)置為可預(yù)測(cè)列,則該算法將為每個(gè)可預(yù)測(cè)列分別生成一個(gè)決策樹。
如圖3挖掘模型所示:其中姓名為主鍵,入學(xué)成績(jī)分別假設(shè)為 Ruxue,Ruxue1,Ruxue2,根據(jù)這三項(xiàng)來預(yù)測(cè)兩門專業(yè)課的分?jǐn)?shù):Jiepou和Danbai。
圖3 挖掘模型
圖4 決策樹挖掘結(jié)果
圖4為使用決策樹規(guī)則的挖掘結(jié)果,決策樹由一系列拆分組成,最重要的拆分由算法確定,位于“全部”節(jié)點(diǎn)中查看器的左側(cè)。其他拆分出現(xiàn)在右側(cè)?!叭俊惫?jié)點(diǎn)中的拆分最為重要,由于該節(jié)點(diǎn)包含了數(shù)據(jù)集內(nèi)引起拆分的最充分的條件,因而產(chǎn)生了第一個(gè)拆分。
該圖說明了使用分類和回歸算法對(duì)Ruxue(其實(shí)應(yīng)該是專業(yè)課1)進(jìn)行分析,得出Danbai成績(jī)(入學(xué)后的課程成績(jī))根據(jù)Ruxue的劃分規(guī)則。根據(jù)Ruxue是否等于108分可以分為兩類(Ruxue=108分的人數(shù)最多),而且這也是最為重要的劃分規(guī)則之一。然后按照劃分規(guī)則的重要性程度,再進(jìn)行劃分。
本文主要介紹了數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)與數(shù)據(jù)挖掘技術(shù)的應(yīng)用,并對(duì)數(shù)據(jù)挖掘算法中決策樹分類算法進(jìn)行研究和驗(yàn)證,在一定條件的基礎(chǔ)上初步實(shí)現(xiàn)了數(shù)據(jù)倉(cāng)庫(kù)的挖掘應(yīng)用。在詳細(xì)考慮影響招生的各種原因后,隨著數(shù)據(jù)量的進(jìn)一步充實(shí),此技術(shù)將更加實(shí)用化。
[1]何玉潔,張俊超.數(shù)據(jù)倉(cāng)庫(kù)與OLAP實(shí)踐教程[M].北京:清華大學(xué)出版社,2008.
[2]姚家奕.多維數(shù)據(jù)分析原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.