《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 一種新的MDP算法的研究
一種新的MDP算法的研究
來源:微型機與應用2012年第5期
高集榮,田 艷,楊永紅,黨運峰
(中山大學 信息科學與技術學院,廣東 廣州 510006)
摘要: 提出了一種高效的挖掘數(shù)據(jù)倉庫中多維關聯(lián)規(guī)則的MDP算法。MDP算法通過構造一種擴展的前綴樹MDP-tree,將數(shù)據(jù)倉庫中的有效信息壓縮存儲,再使用基于MDP-tree的MDP-mining方法快速發(fā)現(xiàn)有趣的關聯(lián)規(guī)則。MDP算法僅需要掃描一次數(shù)據(jù)倉庫,就可以構造出MDP-tree,進而得到所有的關聯(lián)規(guī)則。該算法還具有頻繁模式查找簡捷、二次查找迅速等優(yōu)點。通過實驗驗證了MDP算法的高效性和穩(wěn)定性,與傳統(tǒng)的多維關聯(lián)規(guī)則算法相比有更好的性能。
Abstract:
Key words :

摘  要: 提出了一種高效的挖掘數(shù)據(jù)倉庫中多維關聯(lián)規(guī)則MDP算法。MDP算法通過構造一種擴展的前綴樹MDP-tree,將數(shù)據(jù)倉庫中的有效信息壓縮存儲,再使用基于MDP-tree的MDP-mining方法快速發(fā)現(xiàn)有趣的關聯(lián)規(guī)則。MDP算法僅需要掃描一次數(shù)據(jù)倉庫,就可以構造出MDP-tree,進而得到所有的關聯(lián)規(guī)則。該算法還具有頻繁模式查找簡捷、二次查找迅速等優(yōu)點。通過實驗驗證了MDP算法的高效性和穩(wěn)定性,與傳統(tǒng)的多維關聯(lián)規(guī)則算法相比有更好的性能。
關鍵詞: 數(shù)據(jù)挖掘;多維關聯(lián)規(guī)則;FP-growth算法;MDP算法;頻繁模式

 關聯(lián)規(guī)則挖掘[1]是數(shù)據(jù)挖掘的一個重要組成部分,最早由AGRAWAL R在1993年提出關聯(lián)規(guī)則的問題,經(jīng)過多年的發(fā)展,形成了很多有效關聯(lián)規(guī)則挖掘算法,如Apriori算法、FP-growth算法等。范明[1]等人提出用改進的Apriori算法來挖掘數(shù)據(jù)立方體的關聯(lián)規(guī)則,高學東[2]等人提出的Apriori_Cube算法也是通過改造Apriori算法進而在數(shù)據(jù)立方體中挖掘多維關聯(lián)規(guī)則。但傳統(tǒng)的關聯(lián)規(guī)則挖掘算法依然存在一些問題:(1)主要集中在事務數(shù)據(jù)庫的應用上,而目前廣泛用于數(shù)據(jù)分析的是關系數(shù)據(jù)庫和數(shù)據(jù)倉庫,與事務數(shù)據(jù)庫在結構和處理方法上有很大的差異;(2)集中在布爾型的事務項集的基礎上,對關系數(shù)據(jù)庫和數(shù)據(jù)倉庫的多維數(shù)據(jù),其處理方式不適合;(3)目前基于關系數(shù)據(jù)庫和數(shù)據(jù)倉庫的多維關聯(lián)規(guī)則挖掘算法雖然大多都是有效的,但當數(shù)據(jù)量比較大時,這些算法的性能不太好。針對以上問題,本文在分析了關聯(lián)規(guī)則的性能瓶頸和多維關聯(lián)規(guī)則的基本特征后,提出了一種高效的多維關聯(lián)規(guī)則算法。
1 算法描述
1.1 MDP算法的基本思想

 多維關聯(lián)規(guī)則是指從關系數(shù)據(jù)庫或者數(shù)據(jù)倉庫中的有趣關聯(lián)規(guī)則。多維關聯(lián)規(guī)則的基本概念最早是由KAMBER M.等人在1997年提出的,關聯(lián)規(guī)則的支持度和置信度通過數(shù)據(jù)立方體的COUNT值來計算。同時他們還提出了基于元規(guī)則的多維關聯(lián)規(guī)則算法multi-D-slicing算法和n-D cube search算法。隨后不少學者在多維關聯(lián)規(guī)則研究做出了不少努力,提出的多維關聯(lián)規(guī)則算法大多是基于Apriori算法的改進算法[3-5]。
經(jīng)過實驗發(fā)現(xiàn),當數(shù)據(jù)立方體很大或者支持度較小時,multi-D-slicing算法和n-D cube search算法的運行時間會急劇增加。主要是因為這些算法需要多次數(shù)據(jù)立方體的掃描,并且還要通過模式匹配遍歷掃描得到的數(shù)據(jù)集。如果能將數(shù)據(jù)立方體的掃描減少到最低,則算法性能一定會有大幅的提升。基于這樣的思想,本文提出了一種只需要一次數(shù)據(jù)立方體掃描的MDP(Multi-Dimensional Pattern)算法。
 MDP算法首先引入一種新的數(shù)據(jù)結構MDP-tree。它是一種擴展的前綴樹結構,用于壓縮存儲數(shù)據(jù)立方體中的數(shù)據(jù)。MDP-tree的結點的排序方式使越頻繁的謂詞對應的樹中結點越容易被共享。同時,對數(shù)據(jù)立方體的每一維建立了一個謂詞索引表Header Table,用來鏈接MDP-tree中該維謂詞對應的相同的結點,從而很容易求得數(shù)據(jù)立方體的任一切片。本文還提出了一種基于MDP-tree的關聯(lián)規(guī)則挖掘方法MDP-mining,可以直接從MDP-tree中迅速得到所有的強關聯(lián)規(guī)則。
MDP算法步驟主要由MDP-tree的構建和基于MDP-tree的頻繁模式挖掘兩步組成。
1.2 MDP-tree的設計和構造
 MDP-tree的設計原則是一次數(shù)據(jù)立方體掃描和壓縮存儲數(shù)據(jù)立方體信息的內(nèi)存空間:
 (1)如果僅掃描一次數(shù)據(jù)立方體,則MDP-tree必須存儲完整的數(shù)據(jù)立方體信息,而不是頻繁的最大謂詞集。因為計算頻繁謂詞集的置信度時,需要關聯(lián)規(guī)則對應的數(shù)據(jù)立方體切塊。如果只是存儲頻繁謂詞集,則會過濾掉一些本身不頻繁,但子集是頻繁的謂詞集。
 (2)如果存儲所有的信息,則需要一種能壓縮數(shù)據(jù)并維持原謂詞關系的數(shù)據(jù)結構,前綴樹是一種很好的選擇。這就需要對謂詞集進行排序,根據(jù)數(shù)據(jù)立方體的性質(zhì),很容易得到各個維的SUM值,以SUM值來對謂詞集排序:SUM值最小的維中謂詞重復出現(xiàn)最經(jīng)常,對應的謂詞位于前綴樹的第一層;SUM值最大的維中謂詞重復出現(xiàn)最不經(jīng)常,可以作為前綴樹的葉子結點;其他維按照SUM值由小到大的順序在樹中分層排列。
 (3)求頻繁謂詞集的置信度時,需要關聯(lián)規(guī)則對應的數(shù)據(jù)立方體切塊。如果為此每次都要遍歷整棵樹,則時間消耗較大。因此引入了謂詞索引表,謂詞索引表依據(jù)數(shù)據(jù)立方體的維分別建立。每個謂詞索引表存放該維的所有謂詞,并建立樹中對應結點的鏈接。通過謂詞索引表直接得到相關謂詞的切塊,有效降低了時間消耗。
 基于以上的設計原則構造成的MDP-tree如下:
 (1)MDP-tree組成
 MDP-tree包含一個標記為”root”的根結點,以根結點的孩子結點為根的前綴子樹集合和數(shù)據(jù)立方體每個維對應的謂詞索引表Header Table。
 (2)Header Table結構及構建過程
結點結構:Header Table的結點包含謂詞標識符、指向下一個結點的*next指針和指向樹中同名結點的*link指針三個屬性。
 構建過程:根據(jù)掃描數(shù)據(jù)立方體得到的維數(shù)和謂詞,每個維單獨建立一個謂詞索引表,包含該維內(nèi)掃描得到的不重復謂詞。
 (3)MDP-tree結構及構建過程
 結點結構:MDP-tree的結點包含謂詞標識符、計數(shù)Count、指向父親結點的指針*parent、指向孩子結點的指針*child和指向同名謂詞的鏈接*link。
 構建過程:根據(jù)各維SUM值由大到小的順序?qū)Ω骶S排序,SUM值最小的維為MDP-tree的第一層結點;SUM值最大的為葉子結點。然后遍歷數(shù)據(jù)立方體的數(shù)據(jù)集,在MDP-tree中查找對應結點,如果存在該結點,則將其Count數(shù)相加;如果不存在,則按照剛才的分層順序建立結點。檢查頭鏈表中相應結點,若其鏈接為空,則將其鏈接到該結點上;否則,找到該鏈接的最后一個結點,將其鏈接到該結點上。
1.3 MDP-tree的性質(zhì)

 


 由MDP-tree的構建過程可以得到幾條重要的性質(zhì):
 性質(zhì)1 MDP-tree的完備性:給定一個數(shù)據(jù)立方體C,它對應的MDP-tree包含該數(shù)據(jù)立方體的完備信息。
 證明:由MDP-tree的構建過程可知,任一數(shù)據(jù)立方體中記錄都映射到MDP-tree中的一條路徑,并且對應的Count值也完整地保存到了樹的結點中,各維信息也通過謂詞索引表Header Table記錄。因此對關聯(lián)規(guī)則挖掘來說,MDP-tree的信息是完備的。
 性質(zhì)2 MDP-tree中葉子結點等高,并且MDP-tree的高度由數(shù)據(jù)立方體的維數(shù)決定。
 證明:由MDP-tree的構建過程可知,任一數(shù)據(jù)立方體中記錄都映射到MDP-tree中的一條路徑。數(shù)據(jù)立方體中的記錄都是等長的,所以MDP-tree中葉子結點是等高的。如果不考慮樹的根結點,則樹的深度和數(shù)據(jù)立方體的維數(shù)是一致的。
 引理 葉子結點的計數(shù)最小:MDP-tree的葉子結點Count值是該結點到根結點路徑中最小的。
 證明:設數(shù)據(jù)立方體C,(a1,a2,…an)是MDP-tree中的一條根結點到葉子結點的完整路徑,且(a1,a2,…an)?奐C。若謂詞a1,a2,…an在C的記錄中只出現(xiàn)一次,則MDP-tree中Count(a1)=Count(a2)=…=Count(an);若前綴路徑a1,a2,…an-1在其他記錄中出現(xiàn),則Count(a1)= Count(a2)=…=Count(an-1)>Count(an);若前綴路徑中部分謂詞在其他記錄中出現(xiàn),如b1,a2,…an,則(b1,a2,…an)和(a1,a2,…an)在MDP-tree中屬于不同的路徑,路徑(a1,a2,…an)中Count(a1)=Count(a2)=…=Count(an)。所以葉子結點具有該路徑上所有結點的最小計數(shù)。
 定理 葉子結點決定整條路徑的頻繁性:如果MDP-tree的葉子結點是頻繁謂詞,則該葉子結點到根結點之間路徑對應的謂詞集是頻繁的;反之,如果葉子結點是不頻繁的,則該謂詞集是不頻繁的。
證明:由引理可知,MDP-tree的葉子結點具有最小的支持數(shù)。所以葉子結點是頻繁謂詞,該謂詞集就是頻繁謂詞集,反之亦然。
2 算法驗證
 參考文獻[7]中已經(jīng)驗證了多維關聯(lián)規(guī)則算法中n-D cube search算法優(yōu)于multi-D-slicing算法,因此,將對本文提出的MDP算法和性能較好的n-D cube search算法進行比較,通過實驗來驗證MDP算法的性能。
2.1 實驗環(huán)境及工具
 為了準確地評價算法性能,本文實現(xiàn)了MDP算法和n-D cube search算法。實驗平臺的配置如表1所示。
2.2 實驗數(shù)據(jù)
 本實驗的數(shù)據(jù)來自Microsoft SQL Server 2000 Analysis Service附帶的FoodMart2000數(shù)據(jù)庫。FoodMart公司是一家在美國、加拿大和墨西哥等地銷售食品和其他商品的零售連鎖店,銷售記錄數(shù)據(jù)庫FoodMart2000中存有該公司1997年和1998年的銷售記錄,包括商品、客戶和銷售時間等信息。本實驗數(shù)據(jù)取自該公司1998年的銷售記錄,共有1 560件商品,10 280個客戶和164 558個銷售記錄。依據(jù)該數(shù)據(jù),分商品、客戶和時間三個維度來建立數(shù)據(jù)立方體。
2.3 實驗結果分析
 實驗從數(shù)據(jù)立方體的大小、關聯(lián)規(guī)則的最小支持度和最小置信度等方面來考察各個算法的時間消耗。
 (1)數(shù)據(jù)立方體大小變化對算法性能的影響
 圖1是數(shù)據(jù)立方體大小改變時對各算法的運行時間的影響。從圖中可以看出,兩種算法的運行時間都隨著數(shù)據(jù)立方體的增大而變大,其中n-D cube search算法受數(shù)據(jù)立方體的大小影響較大。在數(shù)據(jù)立方體比較小的時候,n-D cube search算法的性能甚至優(yōu)于MDP算法,因為雖然n-D cube search算法會多次遍歷數(shù)據(jù)立方體,而MDP算法構造MDP-tree需要一定的時間。隨著數(shù)據(jù)立方體的增大,需要多次掃描數(shù)據(jù)立方體的n-D cube search算法的運行時間也會大增,而MDP-tree算法運行時間增長緩慢,因為MDP-tree只需要掃描一次數(shù)據(jù)立方體,性能受數(shù)據(jù)立方體的大小影響不大。從圖1還可以看出,MDP算法的運行時間增長十分平穩(wěn),說明MDP算法有較好的可伸縮性。

 圖2是數(shù)據(jù)立方體大小改變時對算法內(nèi)存消耗的影響。從圖中可以看出,隨著數(shù)據(jù)立方體的增大,n-D cube search算法和MDP算法消耗的內(nèi)存都在增加。當數(shù)據(jù)立方體較小時, MDP算法消耗的內(nèi)存較小。但隨著數(shù)據(jù)立方體的增大,需要更多的內(nèi)存空間來構造MDP-tree,因此MDP算法的內(nèi)存消耗增加更快,逐漸大于n-D cube search算法的內(nèi)存消耗。
 (2)最小支持度變化對算法性能的影響
 圖3是支持度變化時,n-D cube search算法和MDP算法運行時間結果。從圖中可以看出,隨著支持度的增大,兩種算法的運行時間都在減少,因為隨著支持度的增大,得到的頻繁謂詞集也會減少,使求出強關聯(lián)規(guī)則的時間也更少。但由于n-D cube search算法初始頻繁謂詞集比較多時,n-D cube search算法需要很多的運行時間,因此n-D cube search算法的運行時間減少得更快。而MDP算法在建立MDP-tree時是不考慮最小支持度的,所以支持度的變化對MDP算法的運行時間影響不大。

 (3)MDP算法的二次查詢優(yōu)化
 由于MDP算法的MDP-tree與關聯(lián)規(guī)則的最小支持度和最小置信度無關,因此,當最小支持度或最小置信度改變時,不需要重新構建新的MDP-tree。圖4是最小支持度變化時不用構建新的MDP-tree的MDP算法的運行時間結果。從圖中可以看出,第一次輸入最小支持度時需要構建MDP-tree,運行時間比較長;當改變最小支持度時,不再需要重新構建MDP-tree,MDP算法的運行時間就會大幅度降低,而且隨著最小支持度的變化緩慢改變。
 本文針對傳統(tǒng)的多維關聯(lián)規(guī)則算法在處理數(shù)據(jù)量大或者頻繁模式長時存在時間消耗較大的問題,提出了一種高效的多維關聯(lián)規(guī)則的MDP算法。該算法通過構造一種擴展的前綴樹MDP-tree,將數(shù)據(jù)倉庫中的有效信息壓縮存儲,再使用基于MDP-tree的MDP-mining方法來發(fā)現(xiàn)有趣的關聯(lián)規(guī)則,通過實驗驗證了該算法的工作過程以及其優(yōu)越性。
參考文獻
[1] 范明,牛常勇,朱琰.一種挖掘多維關聯(lián)規(guī)則的有效算法[J].計算機科學,2001,28(11).
[2] 高學東,王文賢,武森.基于數(shù)據(jù)立方體的多維關聯(lián)規(guī)則的挖掘方法[J].計算機工程,2003,29(14).
[3] DONG G, HAN J. Mining constrained gradients in large databases[J]. IEEE Transactions on Knowledge and Data Engineering, 2004, 16(8):922-938.
[4] TJIOE H, TANIAR D. Mining association rules in data warehouses[J]. International Journal of Data Warehousing and Mining, 2005, 1(3):28–62.
[5] TJIOE H, TANIAR D. A framework for mining association rules in data ware houses[M]. Springer-Verlag Berlin Heidelberg, 2004: 159-165.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
主站蜘蛛池模板: 久草免费资源 | 久久久久久综合七次郎 | 一区二区中文字幕亚洲精品 | 久久99亚洲精品一区二区 | 宅女福利视频在线看免费网站 | 国产一级视频免费 | 亚洲国产精品影院 | 性欧美巨大的视频 | 国产精品黄在线观看免费软件 | 在线视频欧美亚洲 | 香港全黄一级毛片在线播放 | 亚洲三级免费 | 成年人免费在线视频 | 日本免费二区三区久久 | 精品久久久中文字幕二区 | 日韩免费高清一级毛片在线 | 一级毛片视频免费 | 国产激爽大片在线播放 | 久草视频免费在线看 | 青青久草| 国产边打电话边做对白刺激 | 怡红院色视频在线 | 91情侣高清精品国产 | 成人免费在线视频 | 九一精品国产 | 亚洲欧洲国产视频 | 4tube高清性欧美 | 国产成人亚洲精品无广告 | 亚洲成网站 | 日韩中文精品亚洲第三区 | 第四色成人网 | 热久久91 | 亚洲第一区视频在线观看 | a大片久久爱一级 | 国产大乳喷奶水在线看 | 亚洲欧美另类日本久久影院 | 在线视频一区二区 | 国产系列 视频二区 | 国产成人精品免费视频大全五级 | 成人a网站 | 欧美成人免费一级人片 |