領域知識在數據挖掘中的應用及實現.docx_第1頁
領域知識在數據挖掘中的應用及實現.docx_第2頁
領域知識在數據挖掘中的應用及實現.docx_第3頁
領域知識在數據挖掘中的應用及實現.docx_第4頁
領域知識在數據挖掘中的應用及實現.docx_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、近年來數據庫技術不斷成熟,面對大量數據,人們沒有完全分析這些數據的能力,同時迫切需要將這些數據轉化成有用的信息,KDD技術隨之產生。在工程領域,數據挖掘是KDD過程的核心部分,它是從已有數據中發(fā)掘出隱含的、未知的、潛在的、有用的信息并預測數據發(fā)展趨勢的過程。然而目前的KDD過程并未有效的利用領域知識,所謂領域知識是數據庫中沒有明確表示,但可以引導知識發(fā)現過程,搜索有用的知識、摒棄對用戶沒有價值的發(fā)現結果的信息。計算機中它表現的存儲結構主要有比較簡單的樹型結構,以及更為接近現實的圖的結構形式。本課題主要是研究學習基于樹型領域知識的AOI算法,它是應用已有的領域知識對原始數據進行屬性概化,以提取出

2、有意義的規(guī)則。本系統(tǒng)用VC+6.0,設計系統(tǒng)界面,采用SQLServer2000做后臺數據庫,實現了基于樹型領域知識AOI算法以發(fā)掘一系列規(guī)則,如特征規(guī)則、分類規(guī)則、區(qū)分規(guī)則、量化規(guī)則等等。通過對整個AOI方法實現,加深了對數據概化、屬性刪除、屬性概化、領域知識、閾值控制等面向屬性歸納法相關知識的了解,并進一步的熟悉了VC+6.0與SQLServer2000的使用。關鍵詞:數據挖掘,領域知識,概念層次,數據概化,閾值控制第二章領域知識的基本理論本章介紹本次畢業(yè)設計的理論依據,包括領域知識的作用,數據歸納法的介紹,基于領域知識的面向屬性歸納法,其中著重介紹設計實現的基于樹型領域知識的AOI算法并

3、且簡要對比各種算法,最后是系統(tǒng)實現構想部分,對AOI各個步驟的實現提出構想。2.1領域知識的應用和作用在前一章的介紹中闡述的領域知識的各種定義,這里我們做自己的詮釋,將領域知識定義為在數據庫中沒有明確表示,但可以引導知識發(fā)現過程搜索有趣的知識、摒棄對用戶沒有價值的發(fā)現結果的信息它是本次課題的背景知識。它是本次設計的背景知識,是用概念層次描述的用于控制概化過程的必要依據。用概念層次這一術語描述時,通常把概念層次的不同層組織成一種概念拓撲結構。這種概念拓撲結構根據“一般-至-特殊(general-to-specific)的序列形成了一種偏序關系。最高度泛化的概念是空概念(用保留字”Any”描述)對

4、應于概念層次樹中的根結點,對應于數據庫中具體的屬性值是概念層次中最高度特化的概念,在概念層次樹中它表現為葉子結點。圖2.1和圖2.2是一個典型的大學生數據庫中領域知識的兩種不同表示方法。用樹的形式來表示領域知識,層次分明,但更為復雜的情況是用圖來表示各個概念之間的關系,圖的形式接近實際,層次性卻不是那么明顯。本次設計著重針對樹型的領域知識進行討論。freshman,sophomore,junior,seniorcundergraduateMS.,MA.,PhD.czgraduateundergraduate,graduateuANY(status)圖2.1大學數據庫的概念層次圖2.1為一個典型

5、的大學數據庫的概念層次表示。其中,AuB表明B是A的概化層(generalization);概念層次可由概念樹呈現出來。如圖2.2圖2.2樹型概念層次ANYundergraduategraduateM.A.M.S.Ph.D.freshmansophomorejuniorsenior2.2數據歸納法介紹一般而言,數據庫里存放的數據通常都是在原始概念等級的細部信息。在層次概念中表現為葉子結點,例如,在一個銷售數據庫中會有產品名稱、品牌、類別、供貨商、產地及價格等等。若能把其歸納至較高較一般化的層級,即層次概念中的非葉子結點。比如,若我們將圣誕節(jié)的熱門商品的一般化特征找出來,這對銷售及行銷經理人將會

6、有很大的幫助。要達成這個任務就需要用到數據挖掘里的一個重要功能一一數據歸納。數據歸納主要有兩種方法:(1)數據立方體法(DataCubeApproach),(2)面向屬性歸納法(Attribute-OrientedInductionApproach)o2.2.1數據立方體法數據立方體有許多其它的名稱,例如:多重維度數據庫(MultidimensionalDatabases)>具體化景觀(MaterializedViews)>在線分析處理(OLAP,On-LineAnalyticalProcessing)o數據立方體的一般概念為具體化一些經常被要求的高成本計算,尤其是計數(count

7、)、總計(sum)>求平均數(average)>取最大值(max)等形式的歸納函數,將具體化后的具體化景觀儲存在一個多重維度數據庫(數據方塊),可供決策支持、知識發(fā)現及其它應用做參考。By2維(點、線、RWBS1維(點、3維(數據立ByAggrega圖2.3數據方塊的操作是總計函數的N維度歸納,。維度資料方塊是一個點;1維數據方塊是一條線及一個點;2維數據方塊是一個交叉表格、一個平面、兩條線及一個點;3維方塊是一個有三個交叉的2維交叉表格的方塊。如2.3圖所示。數據方塊的方法,我們針對不同維度作計算,例如用制造商和年份這兩個維度便可以求出90年代Ford汽車的年平均銷售量。索引多重

8、維度數據方塊的技術和增加資料方塊的更新也己經被研究。但數據方塊可能是相當地疏稀,因為不是在每一維度中的格子(Cell)都會有相關的資料,所以如何能夠有效率地處理疏稀方塊的技術是必須被發(fā)展出來的。2.2.2面向屬性歸納法本節(jié)介紹面向屬性歸納法的概念和它的一般過程。面向屬性歸法概念面向屬性歸納法是一種以歸納為基礎的數據分析技術,其技術核心在于數據歸納方法,對于關系數據集合(RelationalDataset)中的每一個屬性,檢查其分布,判斷應歸納到那個相關的更高的層次。學者對面向屬性歸納法也做過不少相關的研究:當某一個屬性的概念層次(ConceptHierarchy)不止只有一種分類

9、法的時候,又提出多屬性歸納圖(Multi-attributeGeneralizationGraph)的方法來解決。本次設計主要研究基于樹型領域知識,對于基于多屬性歸納圖的方法不做過多介紹。在面向屬性歸納概念層次是必不可少的背景知識。在存儲結構上概念層次通常表現為樹或圖的形式,這里只對樹型進行討論,在其中所有結點稱作概念。它們有不用的分類,一個概念層次有“一般-至-特殊(General-to-Specific)的順序性,最一般化的概念(概念樹的根結點),是以“ANY”來表示之,最特殊的概念(概念樹的葉子結點),則對應到數據庫中某一特定的屬性值。面向屬性歸納的一般過程面向屬性歸納法是

10、利用一些歸納技術來完成數據庫中相關數據的屬歸納,這些歸納技術包括屬性刪除(Attribute-Removal)、屬性概化也叫概念樹爬升(Concept-TreeClimbing)>屬性閾值控制(Attribute-ThresholdControl)等。首先是屬性刪除,假如在一個屬性中存在著許多不同的屬性值,且沒有較高的概念層級可以表示它的話,或者它的更高級的概念層次用其它概念表示,則在歸納的過程,必須將這個屬性刪除。接著再做屬性概化,若某一屬性在概念層次中存在著一個更高層次的概念,則該屬性值就以其更高層級的值來取代。屬性概化后,若產生相同的元組,則將相同的元組合并為一組一般化元組,并將儲

11、存相同元組個數的vote值累加后寫到新的元組中。然而概化過程要做到什么地步停止以防止過度概化,如果所有屬性均概化至“ANY”,這樣的概化過程是沒意義的。為此我們利用閾值(threshold)來控制以防止過度概化。閾值控制有兩個方面:屬性閾值控制和元組閾值控制。如果屬性中不同屬性值的數目超過預先設定的閾值,則必須再進一步針對這個屬性進行概化。生成一個新歸納后的relation,其元組數目超過預先設定的閾值,則必須做再進一步的歸納。反復進行直到屬性個數以及元組個數小于或等于預先設定的閾值。最后需要做的工作是規(guī)則轉換,即將最終數據表格中的元組,轉換成規(guī)則。經過這些步驟之后,數據庫中原始概念層級的數據

12、就可以被歸納成層級較高、較一般性的規(guī)則了。利用面向屬性歸納法對多屬性數據做歸納可以產生許的關聯規(guī)則,但面對這么多的規(guī)則有一個很重要的問題,“哪些規(guī)則是有用的?。也就是規(guī)則興趣度的衡量問題。如何找出真正有用處的規(guī)則,避免我們陷在茫茫的規(guī)則海中,也是一個很有意義研究的課題。2.3基于領域知識的面向屬性歸納法在數據挖掘過程中,使用了各種不同的算法,下面介紹幾種比較有代表性的基于不同領域知識的數據挖掘算法。2.3.1基于樹型領域知識的AOI目前的許多知識發(fā)現大多是“從零開始”的,即沒有領域知識前提下的獨立發(fā)現,既沒有發(fā)揮已有知識的作用,找出已有知識隱含的特性,也沒有對以后的發(fā)現提供必要的積累,對數據可

13、能的發(fā)展趨向做出預測。越來越深入的研究發(fā)現,領域知識在數據挖掘中具有至關重要的地位,它的應用不僅讓已有的知識在新的發(fā)現過程中的發(fā)揮新作用,并可以對數據可能的發(fā)展方向做出預測。本節(jié)涉及的AOI是基于領域知識的面向屬性歸納,強調領域知識的應用。基于樹型領域知識的AOI算法介紹前面介紹了面向屬性歸納法的一般過程,下面具體介紹下該算法。算法:面向屬性歸納法。根據用戶的數據挖掘請求,在關系數據庫上挖掘概化特征。贛8轍輸入:(i)關系數據庫DB;(ii)數據挖掘查詢DMQuery;(iii)屬性表a_list(包含屬性ai);(iv)屬性ai上的概念分層或概化操作符的集合gen(ai);(v

14、)每個屬性ai的概化閾值a_gen_thresh(ai)。輸出:主概化關系P。方法:方法描述如下。1. W<-get_task_relevant_data(DMQuery,DB);工作關系W存放任務相關的數據。2. Prepare_for_generalization(W);該步實現如下。(a) 掃描W,收集每個屬性ai的不同值。(注意:如果W很大,可以通過考察W的樣本做。)(b) 對于每個屬性ai,根據給定的或省缺的屬性閾值,確定ai是否應當刪除;如果不刪除,則計算它的最小期望層次Li,并確定映射對(v,v)其中v是W中ai的步同值,而。是其在層Li上的概化值。3P<-gener

15、azation(W)。通過用其在映射中對應的發(fā)寸替換W中的每個值v,累計計數并計算所有的聚集值,導出主概化關系Po這一步可以用下面兩種方法有效地實現:(a) 對于每個概化原則,通過二分檢索將它插入主關系P中。如果元組已在P中,則簡單地增加它地計算值并響應地處理其他聚集值;否則,將它插入P。(b) 在大部分情況下,由于主關系層步同值地個數很少,可以將主關系編碼,作為m-維數組,其中m是P中的屬性數,而每個維包含對應的概化屬性值。數組的每個原色存放對應的計數和其他聚集值(如果有的話)。概化元組的插入通對應的數組元素上的度量聚集進行。2.33.2基于多屬性概化圖AOI算法-All_Gen算法介紹給定

16、一個關系和一個n個屬性集合的n個DGGs,如圖2.3所示的All_Gen算法,建立了該DGGs所有可能的概化屬性。在AlLGen算法中,概化函數返回一個概化關系,其中目標關系中具有;Di的屬性i概化成Dik并且程序輸出保存一個概化關系。結點Dil是Di中的極小元。初始化函數AlLGen(relation,l,n,s),其中relation(關系)是概化的目標關系,1是本次迭代中目標屬性的的個數,n是迭代中目標屬性的總數目,s是用來初始化SoAlLGen算法對n個屬性采用遞歸的方法反復迭代。輸出的是n個屬性的DGGs中各個結點所有聯結。對于具有m個屬性的n元組數據庫,概化算法為O(n),則其計算

17、復雜度為O(nim=l|Di|),|Di|是DGGDi的結點的數目。1. procedureAll_Gen(relation,i,m,S)2. begin3. fork=lto|Di|dobeigin4. ifk>lthen5. gen_relationGeneralize(relation,Dik)6. else7. gen_relation-relation8. end9. ifi<mthen10. All_Gen(gen_relation,i+l,m,SUDik)11. else12. Output(gen_relation,SUDik)13. end14. end15. e

18、nd圖2.3多屬性概化算法2.3.2AOI思想方法講解及其實現構想面向屬性歸納的基本思想是:首先使用關系數據庫查詢收集任務相關的數據;然后,通過考察任務相關數據中每個屬性的不同值的個數,進行面向屬性歸納,或者通過屬性刪除,或者通過屬性概化進行。聚集通過合并相等的廣義元組,并累計它們的計數值進行,這就壓縮了概化后的數據集合。結果廣義關系可以映射到不同形式,如圖表或規(guī)則,提供用戶。 屬性刪除(attributeremoval)如果原始數據中某個屬性有大量的不同的值,但是(1)在此屬性上沒有概化操作符(例如,對該屬性沒有定義概念層次),或者(2)它的較高層概念用其他屬性表示,則該屬性應

19、當從工作關系中刪除。 屬性概化(attributegeneralization)如果初始工作關系的某個屬性有大量的不同值,并且該屬性上存在概化操作,則應當選擇概化操作,即對于該屬性中每個值使用其概念層次中父結點來替換,這個過程是概念層次中屬性值沿概念樹上升的過程,也可以形象稱為沿概念樹爬升(concept-treeclimbing)。閾值控制閾值是為了防止過度概化,在面向屬性歸納中由用戶設定或缺省設置的值,一般情況下,數據挖掘中對屬性概化閾值控制有一個缺省的屬性閾值(取值范圍一般為2到8),對概化關系閾值控制,數據挖掘也可以預先設定(通常取值范圍為10到30)。這里

20、涉及到的閾值控制有以下兩個方面的含義:A屬性概化閾值控制可以對所有的屬性設置同一個概化閾值,或者對每個屬性設置一個閾值。如果屬性的不同值個數大于屬性概化閾值,則應當進行進一步的屬性刪除或者屬性概化,反之則結束概化過程。B概化關系閾值控制為概化關系設置一個閾值,使得概化結果以更簡潔的形式呈現給用戶。如果概化關系中不同原組的個數超過該閾值,則應當進一步概化;否則,進行下一步操作。3.3.2A閾值控制經過以上各個步驟,數據庫中原始數據已經從概念層次的最低層,爬升到一定的層次,面向屬性歸納的最后一個一個步驟是把從原始數據庫中抽取出來,根據一定的領域知識概化操作后的數據以一定的規(guī)則顯示給用戶,這也是整個

21、數據概化的目的所在。2.3.3算法比較本章最后簡單對比下本文中提到的兩種算法,前面提到的AOI是針對樹型領域知識的,在概化階段情況比較單一,不存在考慮概化路徑的選擇問題,沿概念樹一步步爬升就可以達到預期效果,對于AlLGen算法它是針對多屬性概化圖的面向屬性歸納法,在預處理和屬性刪除階段與AOI一致,但它在概化過程中必須涉及路徑選擇問題,而且它的層次性不是太明顯,概化過程中可能出現概化到更低層次的情況,對于同一的原始數據,即使是各控制閾值相同也會由于不同的路徑選擇而出現不同的規(guī)則,這就不可避免的要涉及興趣度衡量的問題。基于樹型領域知識的AOI算法,實現起來比較簡單但脫離現實情況的復雜性和多樣性

22、,適用于算法學習和驗證,而對于多屬性概化圖的算法更接近實際情況,在實際應用中也更有價值,可以預見它是未來面向屬性歸納法的發(fā)展方向,但系統(tǒng)實現起來也比較困難。2.3.4系統(tǒng)實現構想針對以上AOI的各個步驟,本次設計將對于各個步驟設計一個模塊,獨立完成各項任務。特別的添加一個數據預處理和領域知識添加模塊,前者主要是對原始數據庫中每個元給增加一個vote值,用來統(tǒng)計概化關系中相同元組的個數,以方便規(guī)則轉換并且提供數據的錄入功能。領域知識添加模塊是為出于系統(tǒng)通用性和完備性考慮,用戶可以自行添加原始概念層次中不存在的概化關系。對于興趣度衡量問題,由于規(guī)則數量少,本次設計沒有涉及相關內容。第三章系統(tǒng)設計及

23、實現說明本章是面向屬性的歸納法的系統(tǒng)設計及實現部分。包括系統(tǒng)實現總體目標和要求,程序流程圖,模塊劃分及實現過程中不同模塊解決方案,及數據的存儲。3.1程序的總體目標本次設計是在Windows環(huán)境下采用Microsoft公司的VisualC+6.0實現程序界面以及與此有關操作,利用SQLServer2000作為后臺數據庫存儲原始數據表、概念層次以及程序運行過程中生成的臨時數據表。系統(tǒng)實現的總體要求是對關系數據庫中的最低層的原始數據,按照已經存在的領域知識進行沿概念層次爬升,用更一般的泛化概念來代替特化的概念,最終對生成的新的數據表進行規(guī)則轉換操作,得到的規(guī)則最終以元組間析取范式的形式呈現給用戶。

24、3.2程序核心模塊流程圖系統(tǒng)實現過程中,對于整個程序也符合自頂向下的處理過程,在VC環(huán)境下采用MFC技術體現了面向對象的思想,整個系統(tǒng)的程序流程圖如圖3.1所示:3.3系統(tǒng)模塊劃分一般程序運行過程大體上分為如下三個部分:數據輸入、數據處理以及結果輸出。本次設計也按照如上三個處理過程劃分系統(tǒng)模塊。整個程序模塊圖如圖3.2:圖3.1程序3.3.1輸入模塊對于數據輸入部分由于這次是對原始數據庫的數據進行操作,所以輸入模塊比較簡單,實現上就是從數據庫中導入一張要處理的數據表,使用OBDC數據庫連接技術,連接數據庫,并使用ADOC和DataGrid控件來完成原始數據的顯示。3.3.2數據處理模塊該模塊是

25、整個系統(tǒng)的主體,實際上對于大多數程序來說也是主要部分。該模塊主要實現AOI算法的主體部分,具體包括如下分模塊:數據預處理、屬性刪除、屬性概化、元組合并、領域知識添加以及閾值控制,下面對各個部分進行單獨介紹。數據預處理這個模塊主要是對輸入模塊中導入的原始數據進行簡單的處理,本次實現的是對每個元組添加一個記錄元組數目的vote值初始值為1,在后續(xù)的操作中vote的值會隨相同元組數目的增加而增加。而且這個模塊增加了數據錄入功能。屬性刪除針對初始化以后的數據,該模塊對每個屬性值的不同個數進行統(tǒng)計,當某屬性有大量不同值的時候,做如下的判斷,若該屬性上沒有概化操作或者再更高的層

26、次上它使用別的概念來代替,則刪除該屬性,若該屬性雖有大量不同值則保留,以利于后面的操作。對于“有大量不同值”的判斷使用了閾值控制技術。33.2.3屬性概化本模塊是面向屬性歸納法的核心部分,真正體現沿概念樹爬升這個過程。它是反復用領域知識中較高的層次來替換低層次的概念,直到其中各個屬性的個數滿足小于等于控制屬性閾值,具體實現上把經過屬性刪除的數據各屬性分別存儲到一維字符串數組中,然后對各個數組中不同值的個數統(tǒng)計,若是大于控制屬性閾值則用概念層次中較高的概念替換數組中各個元素,然后再對其中不同元素的個數作統(tǒng)計,反復以上過程直到數組中不同元素的個數符合要求。最后把符合要求的元組寫到新的數據表中,以備

27、下一步使用。元組合并對于屬性概化后的數據表格,一定會存在重復的元組,這個模塊累計相同元組個數寫到vote中作為一條記錄。經過這步數據表中已經沒有相同元組,并統(tǒng)計出元組個數,可以進行規(guī)則轉換操作了。領域知識添加把領域知識添加作為一個獨立的模塊是為了考慮程序的通用性,對一個原始的數據庫來說不一定有存儲好的領域知識,所以系統(tǒng)使用者可以通過對數據庫的學習自己提取出相關的領域知識,然后以表格的形式存儲到數據庫中,以備數據概化使用。對于閾值控制模塊,由于不止一個模塊涉及到它,本次設計過程中沒有作為一個獨立的模塊來處理,而是將其分散到屬性刪除、屬性概化及元組合并等模塊中。各個模塊

28、有三處涉及到閾值這個詞,這里對它們的含義分別闡述。在屬性刪除和屬性概化模塊它是對于每個屬性設置一個數值以控制刪除和概化操作,屬于控制屬性閾值。在元組合并模塊它的含義略有不同,是對經過屬性刪除、屬性概化各個步驟操作后的數據,判斷它的元組的個數是否符合要求,這里是控制關系閾值。3.3.3數據輸出模塊本系統(tǒng)輸出模塊包括提取出的規(guī)則輸出,領域知識的輸出以及屬性刪除和屬性概化兩個中間結果輸出。3.4數據結構實現數據結構是數據在計算機中的存儲形式,采用適當的數據結構可以節(jié)省內存空間,還可以提高運行效率,而且程序也會更加健壯。在本次畢業(yè)設計實現AOI算法過程中,贛14贛由于數據表中的數據要按照概念層次對原有

29、的數據進行數據概化,且進行數據概化的時候,涉及到廣義元組,故采用字符串數組作為主要的存儲結構。接收進來以及即將輸出的數據表均存儲在二維字符串數組中。中間運算所需要的還有一維字符串數組,如:概化過程每個屬性值的存儲和字符串,字符串主要是用于對數據庫的各項操作,連接、添加、刪除等??紤]程序的健壯性,整個程序實現過程中,盡量使用局部變量,使用較少的全局變量,不但節(jié)省了內存空間,對程序運行的安全性也有促進作用。3.5數據庫設計數據庫設計主要是進行數據庫的邏輯設計,即將數據按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數據庫設計時需要綜合用戶存檔數據和數據需求,分析各個數據之間的關系,按照DB

30、MS提供的功能和描述工具,設計出規(guī)模適當、正確反映數據關系、數據冗余少、存取效率高、能滿足多種查詢要求的數據模型。對于一個常規(guī)的系統(tǒng)來說,數據庫的設計應該占相當大的比例。不過本次設計算法較為特殊,它是對已有的關系數據庫中原始數據進行操作,簡化了數據庫的設計過程。對于所完成的系統(tǒng),設計數據庫只涉及到兩個原始數據表,一個是用于存儲要進行概化數據的數據表,另一個是概化的依據領域知識的存儲。當然在程序運行過程中為了操作上的方便,將其中一部分的中間結果也存儲在數據表中。AbstractRecentyears,thetechniqueofdatabasehasbeencomingtomaturity.An

31、dthescaleofdatabaseismoreandmoresweeping.Peoplehavenofullabilitytoanalyzedatainthesedatabases.Meanwhileitisneededtodiscoverusefulinformationfromthem.Inthiscase,KDD(shortforknowledgediscoveryindatabases)hasbeendeveloped.Inthefieldofengineering,asthemainprocessofKDD,DM(shortfordatamining)isthenontrivi

32、alextractionofimplicit,previouslyunknown,andpotentiallyusefulinformationfromdata.Atthesametime,itcandopeoutthetrendofthedevelopmentofdata.Unfortunately,atpresentdomainknowledgehasn'tbeenusedeffectivelywhenpeopledoKDD.Sodomainknowledgeisimplicitindatabases.ButitcanmaketheprocessofKDDclear,andtell

33、usefulinformationfromtrashy.Incomputer,itcanbestoredasthestructureoftreewhichissimple,andtheotherapproachisstoreitasgraphwhichismorecomplexbutmuchnearertofact.ThispaperismainlytostudythealgorithmofAOIinwhichdomainknowledgeexistedisusedtogeneralizetheoriginaldataindatabases.Duringitwewilldiscoveraser

34、ialofrules,suchascharacteristicrule,classificationrule,discriminantrule,quantityruleandsoon.Duringthedesign,VC+6.0wasusedasthedevelopingenvironmentwiththeprogramlanguageofC+todesignthesysteminterface.Astothedatabasemanagement,SQLServer2000wasadoptedtomanagedataandrelationsamongthem.Intheprogram,itis

35、realizedthatAOIalgorithmbasedondomainknowledgeoftree.Theprogramistodiscoversomeimplicitandusefulrulesfromoriginaldata.ItmakesmelearnmoreconceptsaboutAOIsuchasdatageneralization,attributeremoval,attributegeneralization,domainknowledge,thresholdcontroletc.ItalsomakesmebemorefamiliarwiththeusageofVC+6.

36、0andSQLServer2000.Keywords:datamining,domainknowledge,concepthierarchy,datageneralization,thresholdcontro第四章系統(tǒng)使用方法簡介本章主要是系統(tǒng)介紹章節(jié),它包括如下內容,系統(tǒng)主要模塊運行界面的介紹,系統(tǒng)使用方法說明以及系統(tǒng)在使用過程中的相關注意點。4.1系統(tǒng)主要模塊運行界面針對上一章中系統(tǒng)設計中提到的各個模塊,這一小節(jié)將給出程序主要界面的運行截圖和各個模塊的操作方法。圖4.1程序運行主界面圖4.1是程序運行的主界面,各個步驟的操作以菜單的形式體現,其中數據預處理下拉菜單包含“數據導入”、“屬性

37、刪除”、“屬性概化”和“背景知識添加”幾個子菜單,閾值確定菜單是針對屬性刪除的控制屬性閾值以確定那些屬性在下一步操作過程中予以保留,面向屬性歸納菜單中,為了避免和數據預處理菜單重復,只設計了元組合并”和“規(guī)則轉換”兩個子菜單,結果顯示有“屬性刪除”、“屬性概化”和“規(guī)則顯示”三個菜單用以查看各個處理結果,最后的退出系統(tǒng)沒有子菜單,它只提供退出操作。圖4.2數據導入模塊圖4.2是原始數據導入后的運行界面,為了方便操作,添加了一個數據記錄添加操作,這也可以用于向本身空的數據表中錄入數據,避免在SOLserver2000下進行直接操作,其中各個按鍵鈕的作用如其自身的名稱。贛16贛X圖4.3屬性刪除這

38、個界面是經過初始化后的數據表的顯示,刪除了無關屬性,并且增加了vote列,以便合并元組時使用,對于各個屬性是否要保留提供了屬性管制閾值然后可以選擇輸入不同的屬性進行判斷,屬性判斷會讀取“已有概化字段表”以判斷各個屬性是否可以進行概化?!跋乱徊健卑粹o則轉到選擇數據集的操作上。圖4.4選擇目標集這個模塊沒有提供太多的操作,是為了方便用戶有針對的選擇目標數據,以進行下一步的操作,對于本例提供兩個選項:“graduate"和“undergraduate”。目標鍛據集MaiorBirthPlaceGPAhistoryVancouver3.5phvsiceOttawa3.9mathBombay3

39、.3biologyShanghai3.4computingVictoria3.8statisticsNaniinq3.2屬性閾值確認慨化上一步確認慨化上一步下一步退.出圖4.4屬性概化到了這個模塊,就是進行屬性概化工作,它接受用戶控制屬性閾值,程序自動判斷,那些屬性要進行概化,哪些屬性跳過這個步驟。圖4.6元組合并這個模塊是對操作后的數據進行元組合并工作,為最后的規(guī)則輸出做準備。請選擇要顯示的規(guī)則確土刷新|添加規(guī)則前驅(規(guī)則|3后繼添加|確土刷新|添加規(guī)則前驅(規(guī)則|3后繼添加|前驅sciencechemistryphysicscomputingliteraturesicenceartfres

40、hmansophomorejuniorseniorsciencesciencescienceartANY(major|ANY(major)undergraduateundergraduateundergraduateundergraduatenrstdaiMtR退出圖4.7規(guī)則顯示及添加圖4.7是領域知識添加模塊,主要提供顯示已有領域知識,也可以由用戶往數據庫中自由添加,默認的是顯示所有領域知識,當然用戶可以選擇不同的概念層次以顯示清晰,就本次實現上有“Major”、“Birth_Place”和“Status”三個選項供用戶選擇。4.2使用方法說明本系統(tǒng)進入主界面之后,首先導入原始數據,先進行

41、數據初始化,然后按照用戶自己的要求對原始數據做屬性刪除或者屬性概化,或者先屬性刪除再屬性概化,再在指定模塊中進行背景知識的添加,即概念層次的構造。在預處理過程中,要求設定閾值,然后按照要求進行面向屬性的歸納,最終輸出規(guī)則(量化和特征規(guī)則)。將得到的結果(數據表格形式)導入知識規(guī)則的規(guī)則轉換模塊中,進行區(qū)別規(guī)則和量化規(guī)則的提取。4.3相關注意點在系統(tǒng)運行過程中,用戶可以自由選擇各個過程,而沒有必要按照AOI算法的各個步驟依次執(zhí)行,這是由于本系統(tǒng)實現過程中保留了各個中間結果,因此若是第一次運行,有必要按步驟依次執(zhí)行,否則可能會出錯。對于普通用戶不建議直接在SOLserver2000環(huán)境下對表進行直

42、接增刪,設計實現過程中,有表的不斷創(chuàng)建與刪除過程,因此不熟悉程序各個過程的情況下直接刪除表格,會導致運行出錯。第五章系統(tǒng)運行測試結果本章使用一組數據對系統(tǒng)進行測試,驗證算法。主要內容有測試方法的簡單介紹,數據的來源以及運行結果等。5.1系統(tǒng)測試原理及方法簡介在軟件工程領域,測試主要分為兩種:黑盒和白盒兩種紹下兩種方法:白盒測試:著重程序邏輯結構和控制結構的測試,主要技術有,選擇有代表性的程序通路,對其中的通路進行邏輯測試,或者是根據程序的控制結構設計測試數據。這種方法要求對程序有相當的了解,能夠發(fā)現程序中邏輯和編碼的錯誤,技術要求高,是測試的主要方法。黑盒測試:它是對白盒測試的補充,注重程序的

43、功能測試。針對程序的功能設計輸入測試數據,對輸出進行判斷檢測其是否符合要求。它不同于白盒測試主要用于后期測試,本次主要是采用黑盒測試的方法。5.2數據來源本次實驗的軟硬件環(huán)境是:Celeron(R)2.53GHz,512M內存,WindowsXP操作系統(tǒng),VisualC+6.0,SQLServer2000數據庫;數據來源于參考文獻CaiY,CerconeN.,HanJ.Attribute-orientedinductioninrelationaldatabases.In:Piatetsky-Shapiro,FrawleyW.J.eds.KnowledgeDiscoveryinDatabases

44、.MenloPark,California:AAAIPress/TheMITPress,1991,213-228.。本次測試主要是先在SQLServer2000下建立數據庫,輸入大學學生關系數據庫和概念層次。圖5.1典型大學數據庫NameStatusMajorBnthPlaceGPAAndersonMAhistory*ancouver3.5BachjximormathCalgary3.7CarltonjuniorliberalartsEdmonton2.6FraserM.S.physicsOttawa3.9GuptaPhD.mathBombay33HartsophomorechemistrvR

45、ichmond2.7JacksonseniorcomputingVictoria35LiuPhD.biologyShanshaiJ3.4-MeyersophomoremusicBurnaby3.0XfonkPhD-computingVictoria3.8WansM.S.statisticsNamms3.2宣立馬區(qū)鋼貝IJbiolog'y*Gsciencechemistryesciencephysicsesciencecomputing丘scienceliteratureeartsicenceAhlX(majorarteAhlY(major)freshmaneundergradtjate

46、sophomoreeundergraduatejunior丘undergraduateseniorICundergraduate圖5.2概念層次存儲表圖5.1和5.2是本次測試的數據來源,5.1是典型的大學數據庫,5.2是存儲成表格的領域知識。5.3數據處理及運行結果裱20溯1、對原始數據關系初始化之后,表5.1首先進行屬性刪除操作,其中Name列符合屬性刪除的條件被刪除,操作結果如圖5.2顯示。DataGridlNameStatusMajorBirthPlaceGPAvoteAndersonM.A.historyVancouver3.51BachjuniormathCalgary3.71|_

47、CarltonjuniorliteratureEdmonton2.61FraserM.S.physiceOttawa3.91GuptaPh.D.mathBombay3.31HartsophomorechemistryRichmond2.71JacksonseniorcomputingVictoria3.51LiuPh.D.biologyShanghai3.41MeyersophomoremusicBurnaby2.711r*irxcc圖5.3預處理結果從表中可以看出在原表格上新增了屬性列vote用以計數累加初始值均為1,同時選擇數據操作集graduateo2、對提取出的數據操作集graduat

48、e由于其經過初始化和屬性刪除可以進行下一步操作屬性概化一這是沿概念層次爬升的體現,同時進行元組合并,其運行結果如圖5.4MajorBirthPlaceGAPvotescienceCalgaryexcellent1artEdmontonaverage1scienceRichmondaverage1scienceVictoriaexcellent1artBurnabyaverage1artTorontoexcellent1圖5.4概化結果一3、對于表5.4還應該進行閾值控制測試,發(fā)現它不滿足設定的閾值(閾值為3)要求,故需進一步進行屬性閾值控制,所得結果如圖5.5。MajorBirthPlaceG

49、APvotescienceCanadaexcellent3scienceforeigngood3圖5.5概化結果二4>對表5.5它已經滿足關系控制閾值則可進行規(guī)則轉變,得到最終的規(guī)則如圖5.5所/J'o規(guī)則顯不:任意h)graduate->(Major(x)escienceABirth_Place(x)CanadaAGPA(x)eexcellent)50VMajor(x)scienceABirth_Place(x)foreignAGPA(x)good)50圖5.6規(guī)則轉換結果從圖5.5和圖5.6可以看出對于任意一個研究生,他的major是science并且Birth_Pla

50、ce是Canada,則他的GPA一定為excellent,這就是得出的一條特征規(guī)則。另外,圖5.6還顯示了一條量化規(guī)則,對于任意一個研究生它有50%的可能是major為science,Birth_Place為Canada,并且GPA為excellent,另外的50%可能是這樣的情況,major為science,Birth_Place為foreign,并且GPA為goodo5、還可以對undergraduate進行面向屬性歸納,提取出特征規(guī)則和量化規(guī)則。此外,還可以將graduate得出的結果作為目標類,undergraduate得出的結果作為對比類,提取出量化和區(qū)別規(guī)則,如圖5.7所示。Maj

51、orBirthPlaceGPAvotemarkscienceCanadaexcellent3*scienceforeigngood3IMajorBirthPlaceGPAvotemarkscienceCanadaexcellent2artCanadaaverage1scienceCanadaaverage1artCanadagood1artCanadaexcellent1圖5.7目標類graduate和對比類undergraduate從圖5.7的兩個表中,可以得到量化和區(qū)別規(guī)則,如圖5.8,即對于一個學生如果他主修science,出生在Canada,而且GPA是excellent,則他有60%

52、的可能性是graduate,如果一個學生他主修science,出生在foreign,而且GPA是good,則他一定是graduate,以上兩條規(guī)則是目標類graduate和對比類undergraduate比較出來的量化規(guī)則,因此叫做量化和區(qū)別規(guī)則。規(guī)則顯示:任意的graduate->(majorscienceAbirth_place(x)UCanadaAGPA(x)Uexcellent)60三V(major(x)WscienceAbirth_place(x)UforeignAGPA(x)Wgood)100圖5.8量化和區(qū)別規(guī)則第六章課題研究結論及工作展望本章總結本次畢業(yè)設計的整個過程。第

53、一部分是工作總結,包括我在整個畢業(yè)設計期間完成的主要工作和一些心得體會;第二部分為工作展望,對本次畢業(yè)設計中尚不完善部分也加以概括,并對未來今后的工作和學習方向加以規(guī)劃。6.1工作總結數據挖掘是從大量的、模糊的、隨機的、不完全的、有噪音的數據中,提取隱含在其中的、人們事先不知道的、但又是有用的潛在信息和知識的過程。近年來,數據挖掘引起了信息產業(yè)界的極大關注,其主要原因是人們對于大量信息存在這樣一種尷尬,即對于大量的信息卻難以發(fā)現其中有用的知識。正是在這樣的背景下數據挖掘領域近年來飛速發(fā)展。本文針對本次畢業(yè)設計做的對給定數據表進行面向屬性的歸納的操作就是為了在數據庫大量的數據(有冗余)中提取出一

54、定的規(guī)則,然后傳遞給用戶,滿足用戶對數據隱含規(guī)則或是發(fā)展趨勢預測的需求。主要完成的工作和收獲:1. 為了完成算法實現不僅閱讀了有關數據挖掘和面向屬性的歸納方法的書籍還對程序設計和數據庫相關的書本進行了有針對性的復習。熟悉了程序設計思想及數據庫相關概念并了解了數據挖掘的一些基本概念和數據挖掘研究的大概內容及方向等;特別的對于面向屬性歸納法部分,閱讀了不少相關資料,較為系統(tǒng)地學習了整個算法,而且實現了基于樹型領域知識的歸納算法。2. 在算法實現過程中,真切體會到數據挖掘的現實意義,對本科階段的很多理論知識在實踐應用上有了更為深刻的理解和認識,貫通了一些課堂沒有消化完全的知識,提高了我實際動手能力。

55、3. 前文提到本次設計是基于Visual+6.0和SQLServer200。,因此對于C+編程語言和SQL也進一步熟悉,對于數據庫的使用方法,特別是VC中關于數據庫的使用方法,有深刻的體會。6.2工作展望本次設計雖然完成了AOI的基本算法,但對于本文所涉及的設計內容,還存在以下需要進一步研究的工作:面向屬性歸納法在理論上同樣可以適用于很多其它類型數據庫,對于這種情況還需進一步驗證。利用面向屬性歸納法還可以提取更多的規(guī)則,如數據演化規(guī)律性、區(qū)別規(guī)則等,在本次設計中都沒有體現。本次設計只對樹型結構的領域知識進行處理。然而在現實情況中,更合理也更接近現實的應該是圖型結構形式的領域知識,這就帶來一系列

56、復雜的操作如背景知識如何輸入、在計算機中如何存儲、概化過程中如何對多個高層概念進行取舍而且不得不考慮興趣度問題,這些對于實現更為復雜,更加實際的系統(tǒng)都是非常關鍵的問題,也有理由相信這才是AOI真正有價值的方面??刂聘呕^程的關鍵因素一一閾值的控制的取值上,在設計中只是作為已知條件使用,并沒有從理論上論證對其合理性、有效性。而且整個程序的通用性是也存在欠缺,并沒有使用其它的數據進行驗證。在以后進一步的工作與學習中,對待程序設計過程中會更加全面的考慮各個方面的,希望能用自己的所學為IT的發(fā)展盡我綿薄的力量!謝辭主要參考文獻1 H.J.Hamiltin,R.J.Hamilton,andN.Cercone.Attribute-orientedinduction

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論