999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單向增長鏈表的關(guān)聯(lián)規(guī)則挖掘算法研究

2012-11-08 06:03:18亳州職業(yè)技術(shù)學(xué)院信息工程系安徽亳州236800
關(guān)鍵詞:關(guān)聯(lián)規(guī)則數(shù)據(jù)庫

董 輝 (亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州 236800)

基于單向增長鏈表的關(guān)聯(lián)規(guī)則挖掘算法研究

董 輝 (亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州 236800)

分析研究關(guān)聯(lián)規(guī)則挖掘經(jīng)典算法Apriori和FP-Growth算法,發(fā)現(xiàn)其不足之處在于構(gòu)建和遍歷各自數(shù)據(jù)結(jié)構(gòu)的時(shí)間長、內(nèi)存消耗巨大,降低了算法在時(shí)間和空間方面的效率。針對(duì)2種算法的缺陷,提出了LK-Growth算法,該算法不再構(gòu)建FP-Tree,而是構(gòu)建單向線性鏈表組結(jié)構(gòu),能有效地縮短發(fā)現(xiàn)頻繁模式的時(shí)間和節(jié)省內(nèi)存空間開支。研究結(jié)果表明,LK-Growth算法的實(shí)用性強(qiáng)且挖掘效率更高。

數(shù)據(jù)挖掘;關(guān)聯(lián)規(guī)則;線性增長鏈表;LK-Growth算法

關(guān)聯(lián)規(guī)則挖掘是數(shù)據(jù)挖掘眾多知識(shí)類型中一種典型代表,也是數(shù)據(jù)挖掘中最活躍的研究領(lǐng)域之一,其首要任務(wù)就是發(fā)現(xiàn)頻繁項(xiàng)目集。長期以來,人們對(duì)關(guān)聯(lián)規(guī)則頻繁項(xiàng)目集的挖掘主要采用Apriori算法和FP-Growth算法或者它們的有關(guān)改進(jìn)算法。但是,無論是Apriori算法還是FP-Growth算法,都要多次掃描事務(wù)數(shù)據(jù)庫,I/O負(fù)載大,導(dǎo)致算法的時(shí)間開銷增大;在空間需求上,Apriori算法要產(chǎn)生大量的候選頻繁項(xiàng)目集、FP-Growth算法構(gòu)造結(jié)構(gòu)復(fù)雜的FP-Tree樹,對(duì)內(nèi)存開銷要求都很高[1]。針對(duì)上述情況,筆者提出基于單項(xiàng)線性鏈表的關(guān)聯(lián)規(guī)則挖掘優(yōu)化算法,該算法構(gòu)建多個(gè)單向鏈表結(jié)構(gòu)做成鏈表組,通過該結(jié)構(gòu)的遍歷發(fā)現(xiàn)所有的頻繁模式,在挖掘效率上比Apriori和FP-Growth算法都要高。

1 優(yōu)化算法設(shè)計(jì)

1.1優(yōu)化算法的思路

從對(duì)關(guān)聯(lián)規(guī)則挖掘的2種經(jīng)典算法的分析可知,要想提高挖掘效率,可從2方面考慮[2]:第1方面是優(yōu)化重構(gòu)算法操作對(duì)象的數(shù)據(jù)結(jié)構(gòu);第2方面是在不改變操作對(duì)象的數(shù)據(jù)結(jié)構(gòu)情況下,改變對(duì)其執(zhí)行方式,提高操作速度,發(fā)現(xiàn)頻繁項(xiàng)集。筆者從第1方面著手,構(gòu)建單向鏈表組數(shù)據(jù)結(jié)構(gòu),提出優(yōu)化的LK-Growth算法,挖掘出所有的頻繁模式,從而提高挖掘效率。

1.2算法設(shè)計(jì)

LK-Growth算法設(shè)計(jì)過程為輸入:事務(wù)數(shù)據(jù)庫D,最小支持度閥值 min_sup;輸出:頻繁模式完全集。具體實(shí)現(xiàn)步驟如下[3-4]:①首次掃描事務(wù)數(shù)據(jù)庫D生成1-頻繁項(xiàng)集和各項(xiàng)支持度計(jì)數(shù)值,把支持度計(jì)數(shù)滿足最小支持度閥值的各項(xiàng)及支持度計(jì)數(shù)按支持度計(jì)數(shù)降序存至項(xiàng)頭表HT(Header Table)中;②第2次掃描數(shù)據(jù)庫D,對(duì)第1個(gè)事務(wù) 掃描,保留出現(xiàn)在HT表的頻繁項(xiàng),各項(xiàng)節(jié)點(diǎn)按支持度計(jì)數(shù)降序排列,存入到名為SingleLink單鏈表內(nèi);③構(gòu)造以項(xiàng)頭表中節(jié)點(diǎn)為頭節(jié)點(diǎn)的單鏈表組,偽代碼如下:

Procedure HTL_List

(1)For (i=2;i≥j;i++) //j是SingleLink鏈表中的節(jié)點(diǎn)數(shù)

(2)Do begin

(3) For (m=i;m≥2;m--)

(4)Do begin

(5)Insert_link(SL,Mj-1); //Mj為SingleLink

//鏈表第j個(gè)節(jié)點(diǎn),SL為HT表中以Mj為頭節(jié)點(diǎn)的單向鏈表

(6)End

(7)End

在構(gòu)造單鏈表過程中調(diào)用Insert_link( )函數(shù)作用是把節(jié)點(diǎn)插入到LT單鏈表中,其偽代碼如下:

Function insert_link(LT,λ)

(1)If( LT中存在 ) Then

(2)λ.Sup_count=λ. Sup_count +1; //λ節(jié)點(diǎn)支持度計(jì)數(shù)加1

(3)Else

(4)IF (按HT表的排序,LT中存在δ節(jié)點(diǎn)排在λ前) Then

(5)λ節(jié)點(diǎn)鏈接在δ之后,λ.Sup_count=λ. Sup_count +1;

(6)Else

(7)節(jié)點(diǎn)鏈接到LT的尾端,λ.Sup_count=λ.Sup_count +1;

④依照上述步驟依次掃描數(shù)據(jù)庫D的每個(gè)事務(wù),每次掃描要重構(gòu)SingleLink單鏈表,再按步驟②、③對(duì)余下的頻繁項(xiàng)作類似處理,直到全部事務(wù)掃描完止,把各事務(wù)的所有數(shù)據(jù)項(xiàng)都插入到相應(yīng)的以項(xiàng)頭表中節(jié)點(diǎn)為頭節(jié)點(diǎn)的單鏈表內(nèi)。至此,可以得到以HT表中各節(jié)點(diǎn)為頭指針的各單鏈表組成的相鄰的鏈表組,通過遍歷該鄰接鏈表組,即可發(fā)現(xiàn)滿足最小支持度閥值的所有頻繁模式。

2 應(yīng)用案例

2.1構(gòu)建事務(wù)數(shù)據(jù)庫

設(shè)事務(wù)數(shù)據(jù)庫D(見圖1),設(shè)最小支持度計(jì)數(shù)為3。根據(jù)最小支持度計(jì)數(shù)為3,對(duì)事務(wù)數(shù)據(jù)庫D的數(shù)據(jù)項(xiàng)進(jìn)行排序,結(jié)果如圖2所示。

圖1 事務(wù)數(shù)據(jù)庫D

圖2 處理后的事務(wù)數(shù)據(jù)庫D

2.2LK-Growth算法應(yīng)用

首次掃描事務(wù)數(shù)據(jù)庫D,得到1-頻繁項(xiàng)集:L={(a:5),(b:4),(c:3),(d:3) }(支持度計(jì)數(shù)相同者按字典排序,e、f、j、k、o、p、s的支持度計(jì)數(shù)為1小于2,故舍去),并把1-頻繁項(xiàng)集按支持度計(jì)數(shù)降序存入項(xiàng)頭表HT中。

圖3 第1個(gè)事務(wù)的SingleLink鏈表

圖4 節(jié)點(diǎn)單鏈表結(jié)構(gòu)

第2次掃描事務(wù)數(shù)據(jù)庫D,對(duì)T100事務(wù)的掃描只保留HT中出現(xiàn)的頻繁項(xiàng),且按支持度計(jì)數(shù)降序排列得到:a、b、c,依次存入SingleLink單鏈表中,此時(shí)SingleLink鏈表節(jié)點(diǎn)個(gè)數(shù)j=3,其第2的節(jié)點(diǎn)為b,把b的父節(jié)點(diǎn)(即a)插入到HT表中以b為頭節(jié)點(diǎn)的單向鏈表中,計(jì)數(shù)值置為1。同理,對(duì)余下節(jié)點(diǎn)進(jìn)行上述操作,對(duì)T100事務(wù)掃描操作結(jié)束后,SingleLink單鏈表如圖3所示,各節(jié)點(diǎn)單鏈表結(jié)構(gòu)如圖4所示。

按照上述操作,對(duì)余下事務(wù)進(jìn)行掃描操作,每次重構(gòu)SingleLink鏈表,并把每個(gè)節(jié)點(diǎn)信息按如下規(guī)則插入到相應(yīng)的單鏈表位置上:若鏈表內(nèi)無該節(jié)點(diǎn),則創(chuàng)建之,并計(jì)數(shù)值置1;若鏈表內(nèi)存在該節(jié)點(diǎn),無需再創(chuàng)建,計(jì)數(shù)值加1即可。按照上述方法,直至全部事務(wù)掃描完畢,最后生成以項(xiàng)頭表HT中各節(jié)點(diǎn)為頭結(jié)點(diǎn)的多個(gè)單鏈表構(gòu)成的鏈表組,結(jié)果如圖5所示。

遍歷圖5,在滿足支持度計(jì)數(shù)大于3的條件下,以項(xiàng)頭表HT中各節(jié)點(diǎn)為基本結(jié)點(diǎn),分別對(duì)各單鏈表中各節(jié)點(diǎn)組合,可得頻繁模式集(見圖6)。

圖5 各事務(wù)所有節(jié)點(diǎn)構(gòu)成的鏈表組

圖6 滿足最小支持度閥值的所有頻繁模式

2.3算法性能試驗(yàn)分析

圖7 算法運(yùn)行對(duì)比圖

通過試驗(yàn)對(duì)FP_Growth算法和LK_Growth算法的性能進(jìn)行分析比較。試驗(yàn)測(cè)試環(huán)境如下:Intel Core i3 CPU;4G內(nèi)存;320G SATA硬盤;Win7 OS;C#編程環(huán)境。試驗(yàn)中采用的數(shù)據(jù)庫為中國生物谷中藥方劑數(shù)據(jù)庫,數(shù)據(jù)庫事務(wù)量(即方劑數(shù))為84449,測(cè)試結(jié)果如圖7所示。

由圖7可知,在相同支持度計(jì)數(shù)的情況下,要處理的事務(wù)量是相同的,但是LK_Growth算法所花費(fèi)的時(shí)間明顯要小于FP_Growth算法所耗費(fèi)的時(shí)間,LK_Growth算法的效率要高于FP_Growth算法的效率,且隨著支持度計(jì)數(shù)的減小和事務(wù)量的增大,LK_Growth效率優(yōu)勢(shì)越明顯,總體效率比FP_Growth要高50%以上。

3 結(jié) 語

分析了關(guān)聯(lián)規(guī)則中的Apriori和FP_Growth算法,針對(duì)其不足,提出了LK_Growth優(yōu)化算法。由于在優(yōu)化算法中無需生成頻繁模式基和條件模式樹,而是把事務(wù)的所有節(jié)點(diǎn)數(shù)據(jù)項(xiàng)直接存入到以HT表中各節(jié)點(diǎn)為頭指針的相鄰的單鏈表組中,因此減小了空間消耗,避免了內(nèi)存壓力,同時(shí)也僅需掃描事務(wù)數(shù)據(jù)庫2次,且這種存儲(chǔ)結(jié)構(gòu)本身就直接蘊(yùn)涵了全部頻繁項(xiàng)目集,通過遍歷操作,可以很容易地挖掘出所有的頻繁項(xiàng)模式,挖掘效率有了顯著的提高。試驗(yàn)結(jié)果表明,改進(jìn)后的算法速度快,而且挖掘的數(shù)據(jù)庫事務(wù)量越大,其優(yōu)越性越能得以體現(xiàn),從而為關(guān)聯(lián)規(guī)則挖掘提供了新途徑。

[1]朱 明.數(shù)據(jù)挖掘[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,2008.

[2]楊云,羅艷霞.FP-Growth 算法的改進(jìn)[J].陜西科技大學(xué)學(xué)報(bào),2010,31 (7):1506-1508.

[3]石杰.大規(guī)模數(shù)據(jù)庫關(guān)聯(lián)規(guī)則挖掘算法研究[D].濟(jì)南:山東師范大學(xué),2003.

[4]潘福錚.數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則[J].湖北大學(xué)學(xué)報(bào)(自然科學(xué)版),2002,24(4):25-29.

[編輯] 李啟棟

10.3969/j.issn.1673-1409.2012.01.035

TP391.1

A

1673-1409(2012)01-N110-03

猜你喜歡
關(guān)聯(lián)規(guī)則數(shù)據(jù)庫
撐竿跳規(guī)則的制定
“苦”的關(guān)聯(lián)
數(shù)獨(dú)的規(guī)則和演變
奇趣搭配
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
數(shù)據(jù)庫
智趣
讀者(2017年5期)2017-02-15 18:04:18
TPP反腐敗規(guī)則對(duì)我國的啟示
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 欧美日韩精品一区二区视频| 久久国产成人精品国产成人亚洲| 高潮爽到爆的喷水女主播视频| 欧美亚洲欧美| 欧美全免费aaaaaa特黄在线| 午夜国产大片免费观看| 午夜毛片免费观看视频 | 精品小视频在线观看| 欧美黑人欧美精品刺激| 一级毛片免费观看久| 亚洲精品爱草草视频在线| 国产99久久亚洲综合精品西瓜tv| 无码日韩精品91超碰| 女人一级毛片| 四虎AV麻豆| 亚洲91在线精品| 亚洲va在线∨a天堂va欧美va| 大学生久久香蕉国产线观看| 国产一二视频| 高清亚洲欧美在线看| 久久婷婷六月| 91在线一9|永久视频在线| 欧美精品高清| 国产99热| 极品私人尤物在线精品首页| 曰AV在线无码| 欧美精品伊人久久| 日本成人福利视频| AV在线麻免费观看网站 | 亚洲精品自产拍在线观看APP| 中国特黄美女一级视频| 爆操波多野结衣| 国产www网站| 日韩亚洲综合在线| 一本久道久综合久久鬼色| 在线无码九区| 色网站免费在线观看| 香蕉在线视频网站| 亚洲男人天堂2020| 国产色网站| 精品一区二区三区视频免费观看| 永久免费精品视频| 欧美日韩国产成人高清视频| 午夜成人在线视频| 岛国精品一区免费视频在线观看| 中文字幕1区2区| 欧美亚洲日韩中文| 亚洲国产综合自在线另类| 久久免费成人| 99re在线免费视频| 久久人人爽人人爽人人片aV东京热| 人妻无码中文字幕一区二区三区| 美女扒开下面流白浆在线试听| 久久人人妻人人爽人人卡片av| 日韩av在线直播| 亚洲国产中文在线二区三区免| 97在线视频免费观看| 99热这里只有精品在线播放| 露脸一二三区国语对白| 久草热视频在线| 日韩经典精品无码一区二区| 国产亚洲精品自在线| 日韩av手机在线| 亚洲手机在线| 狠狠躁天天躁夜夜躁婷婷| 91亚洲影院| AV不卡无码免费一区二区三区| 精品国产福利在线| 亚洲AⅤ无码日韩AV无码网站| 91精品国产麻豆国产自产在线| 国产乱子精品一区二区在线观看| 国产精品女人呻吟在线观看| 看av免费毛片手机播放| 亚洲男人天堂久久| 干中文字幕| 国产成人av一区二区三区| 亚洲精品无码AV电影在线播放| 色综合中文字幕| 久久99这里精品8国产| 玩两个丰满老熟女久久网| 五月天天天色| 丁香六月激情综合|