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

一種基于頻率的多最小支持度挖掘算法

2021-01-19 11:01:10古良云樂紅兵
計算機與數字工程 2020年12期
關鍵詞:關聯規則數據庫

古良云 樂紅兵

(江南大學 無錫 214122)

1 引言

數據挖掘又稱知識發現,它的目的是為了從龐大的數據中發現有意義的隱藏的知識[1],關聯規則[2]是由R.Agrawal等于1993年提出的,在數據挖掘領域它是一個重要且熱門的研究課題。關聯規則,顧名思義它的目的是為了挖掘兩個及以上項目之間隱藏的聯系。關聯規則的示例如下:

床單→枕套[sup=40%,conf=90%]

這條規則表示40%的顧客會同時購買床單和枕套,而購買床單的人中有90%購買了枕套。

關聯規則有關定義為I={i1,i2,…,i m}D={T1,T2,…,T n}是m個不同項目的集合,那么任意一個項目i k則被稱為一個項目。T是I的子集{t1,t2,…,t n},稱為事務,每一個事務有一個唯一標識號,記作TID。事務全體構成了事務數據庫D,|D|表示D中事務的個數。關聯規則是形如X?Y的蘊含式,其中X?I,Y?I,同時集合X和Y也為不相交的兩個集合,即X∩Y=φ。關于關聯規則的蘊含式可解釋為項目集合X出現在某一個事務數據中,則可能導致項目集合Y也會以某一個概率存在于相同的事務數據中。在研究領域,通常使用兩個指標來度量項目集合之間關聯規則的緊密程度,即支持度和置信度。其中支持度可解釋為事務數據庫中即包含集合X又包含集合Y的事務數量與|D|之間的比值。即:

支持度反映了X、Y同時出現的概率。定義置信度為包含X和Y的事務數與包含X的事務數之比。即:

置信度反映了如果事務中包含X,則事務中包含Y的概率。

在關聯規則挖掘領域,若某一個集合在事務數據庫中出現的頻率大于一個用戶設定的值,則將這個集合稱為頻繁項集[3],假設這個集合中有k個元素則稱這個集合為k-頻繁項集即L k,同時這個用戶設定的值被稱為最小支持度即min sup。

在關聯規則的學習中,評價項集的一個重要指標即為支持度,支持度的大小代表項集在數據庫中的普遍性,這個項集出現的越普遍則說明這個項集越重要[4]。置信度用來衡量關聯規則的準確性。綜上所述,在發現關聯規則的過程中有兩個不可或缺的評價標準,這兩個標準能夠衡量規則的好壞,即支持度和置信度[5]。針對關聯規則的Apriori算法的局限性,人們提出了一些改進的算法。如基于交集的InterApriori算法[6],基于壓縮矩陣的Apriori算法[7]等。文獻[8]為了突破Apriori算法的瓶頸,利用矩陣有效地處理數據庫中的事務,使用“與”運算以達到最大的計算效率,并且不需要頻繁地掃描數據庫來查找事務。文獻[9]掃描數據庫后對事務進行二進制編碼,并根據事務出現的實際頻率進行排序,以此來對候選項集進行剪枝,文獻[10]提出了一種不產生候選項集的算法FP-growth,該算法采用遞歸策略并且掃描兩次原始數據集即可。這些改進的Apriori算法使用的最小支持度均是用戶指定的唯一的值,這就默認數據中的所有項均有相同的頻率[11],但在現實生活中情況往往更加復雜,比如實際收集的數據具有多樣性,有些項目出現的極其頻繁,而有些項目則很少出現。如果項目的頻率變化很大,將會出現兩個問題:1)如果最小支持度設置的很高,則不能發現出現頻率較低的項目;2)如果最小支持度太低,則會出現規則爆炸的現象,這樣的挖掘結果是沒有意義的[12]。

以購買商品為例,人們經常購買酸奶,但購買酸奶機的頻率卻很低,假設酸奶和酸奶機采用相同的支持度,如果支持度設置過高,在最后生成的關聯規則中將很難得到有關酸奶機的規則。而在實際生活中,酸奶機的利潤比酸奶要高許多,且在人們購買酸奶機時還會購買自制酸奶的其它材料,因此一般情況下用戶會認為由酸奶機產生的關聯規則是比較重要的,但是相同的支持度會導致在項目集中由于酸奶機的支持計數較低,包含酸奶機的頻繁項集被丟棄,有關酸奶機的規則被遺漏。如果支持度設置過低,又會出現大量無意義的規則。

解決這一問題的方法是可以讓用戶指定多個最小支持度,比如可以為數據集的每個項目都指定一個最小項目支持度[13],這樣可以反映出不同項目具有不同頻率的特性。文獻[14]提出了使用相關項目集中各項目最小支持度中的最大值來實現剪枝,避免產生過多無意義的規則。文獻[15]提出了一個基于多最小支持度的加權關聯規則算法,允許用戶為每個數據項設置不同的權重和最小支持度,但仍然存在著產生大量候選項集,充分掃描事務數據庫I/O開銷很大等不足。

利用多最小支持度模型,本文提出了一種基于頻率的多最小支持度算法,將事務數據庫中項目的實際出現頻率作為其最小項目支持度,并通過設置項目頻率最小閾值避免產生過多無意義的關聯規則。這對增強關聯規則挖掘的實用性,提高生成關聯規則的準確率具有積極意義[16]。

2 相關工作

本文描述的改進算法是一種根據事務數據庫中各事務本身的出現頻率再單獨設定其最小支持度的算法,此改進算法仍使用之前的支持度定義。

在該挖掘策略中,一條規則的最小支持度[17]采用在規則中出現的所有項目的最小項目支持度。也就是說,在數據集中,每個項目都擁有一個用戶指定的最小項目支持度,通過對不同的項目指定不同的最小項目支持度,用戶就可以方便地對不同規則設置不同的支持度要求。

定義1:最小項目支持度

對于項目集I={i1,i2,…,i m},其中任一項目皆設置了其最小支持度,即是最小項目支持度,寫作MIS(i)。

其中count(i)是項目i在數據集中出現的次數,|D|是事務集的大小。

定義2:項目頻率最小閾值

對于項目集I={i1,i2,…,i m},用戶設置項目出現的最小頻率值,稱之為項目頻率最小閾值,記作MF,其中M F≥0。

在大型數據集中,將項目出現頻率作為最小項目支持度,考慮到現實情況中事務記錄表會出現大量頻率極低的項目,生成大量1-頻繁項集,提高算法的運行時間開銷。因此,用戶可設置項目出現頻率最小閾值MF,減少1-頻繁項集的數量。在生成1-頻繁項集過程中,?i∈I,若count(i)

定義3:

假設有R:i1,i2,…,i k?i k+1,…,i r,其中i r∈I,在這個規則中最小項目支持度的最小值min(MIS(i1),MIS(i2),…,MIS(ik),MIS(ik+1),…,MIS(ir))則為規則R所需要滿足的最小支持度。

由以上定義可知,采用最小項目支持度可以對不同的規則進行不同的最小支持度限制。對于包含出現頻率較高的項目的規則,其最小支持度可以很大,而對于出現頻率低的項目的規則,其最小支持度可以很小。

例1:項目集I={A,B,C},各項目最小項目支持度分別為MIS(A)=20%,MIS(B)=1%,MIS(C)=2%

1)規則C?A[sup=1.5%,conf=70%]不滿足其最小支持度。

因為min(MIS(A),MIS(C))=2%>1.5%

2)規則C?B[sup=1.5%,conf=70%]滿足其最小支持度。

因為min(MIS(B),MIS(C))=1%<1.5%

3 基于頻率的多最小支持度算法描述

3.1 基于頻率的多最小支持度算法中的剪枝策略

Apriori算法挖掘關聯規則通常需要兩個環節[18]:

1)以迭代的方式發現原始數據集中全部的頻繁項集;

2)根據設定的最小置信度,在頻繁項集中挖掘關聯規則。

Apriori算法的性質為[19]假設一個項集為頻繁項集,則它的所有子集除非空子集外都是頻繁項集。

但是,如果我們使用本文的改進算法來生成頻繁項集,這一性質已經不再滿足了。

例2:項目集I={A,B,C,D},各項目最小項目支持度分別為MIS(A)=12%,MIS(B)=18%,MIS(C)=3%,MIS(D)=5%

假設使用改進算法在第2輪搜索時得到2-項集{A,B},它的實際支持度為10%,由于實際支持度小于MIS(A),也小于MIS(B),所以,根據改進算法策略,項集{A,B}被丟棄。由于{A,B}被丟棄,將導致在第3輪搜索中不會產生3-項集{A,B,C}和{A,B,D}。但是經過分析,項目C和D的最小支持度很低,那么3-項集{A,B,C}和{A,B,D}就極有可能是頻繁項集,所以丟棄項目集{A,B}就可能是錯誤的。因此,采用改進算法時,Apriori算法的性質將不再滿足。

候選項集的大小直接影響算法的挖掘效率,因此可通過修剪候選項集來提高算法的挖掘效率。為了解決這一問題,本算法采用了將候選項集按照項目屬性的最小項目支持度排序的方法,盡可能多地完成剪枝,減少算法運行的開銷。

具體描述:在多最小支持度的情況下,對每個數據集所包含的項按照各自的最小項目支持度進行升序排列,經過排序后,整個數據集的最小支持度就由其首項的最小項目支持度確定,所以,當其(k-1)-子集包含首項或者(k-1)-子集的最小項支持度等于最小支持度時,就可以根據子集是否在(k-1)-頻繁項集中來判斷是否將其剪枝。

例3:假設有3項頻繁集:L3={<1,2,3>,<1,2,4>,<1,3,4>,<1,3,5>,<1,4,5>,<1,4,6>,<2,3,4>},對各項目按照其最小項目支持度進行排序,結果為{1,2,3,4,5,6},由L3得到候選項集C4={<1,2,3,4>,<1,3,4,5>,<1,4,5,6>},對候選集進行剪枝時,由于<1,5,6>?L3,由此可知,sup(<1,4,5,6>)),故候選項<1,4,5,6>不是頻繁項集,被剪枝。對于候選項<1,3,4,5>,其一個子集<3,4,5>?L3,所以sup(<3,4,5>))可能大于或者等于MIS(1),因此無法判斷候選項<1,3,4,5>的最小項支持度與MIS(1)的關系,故將候選項<1,3,4,5>加入頻繁項集,若MIS(1)=MIS(3),則可確定sup(<3,4,5>)

3.2 基于頻率的多最小支持度算法描述

按照上文的算法思想,得到基于頻率的多最小支持度算法如下:

輸入:挖掘數據庫DB,項目頻率最小閾值MF

輸出:頻繁數據集L

算法步驟:

1)對數據庫DB進行初次掃描,得到候選項集C1。

2)計算各項目的實際出現頻率count(i)

3)if count(i)>MF

4)insertiintoL1

5)else

6)deleteifromC1

7)得到頻繁項集L1,根據定義1中的公式(3)得到最小項目支持度

8)根據最小項目支持度對頻繁項集L1中的各項目按照升序排序

9)for(k=2;Lk-1≠?;k++)

10)Ifk=2

11) then C2=level2-candidate-gen(L1)

12)else

13) Ck=candidate-gen(Lk-1)

14)end

15)掃描數據庫,計算每個候選項集中的數據集的支持度

16)若該候選項集的支持度大于或等于最小項支持度,則為頻繁項集

17)合并各長度的頻繁項集,得到所有的頻繁項集

長度為2的候選項集C2的產生過程:

level2-candidate-gen(L1)

1)for each item c inL1

2)if count(c)/|DB|≥MIS(c)then

3) for each item h inL1that is after c do

4) if count(h)/|DB|≥MIS(c)then

5) insertintoC2

在剪枝過程中添加了限制條件,具體描述如下:

Candidate-gen-prune(Ck)

1)for each itemcinCk

2)for each(k-1)-subset s of c do

3) if s中包含首項c[1]ands?Lk-1

then delete c fromCk

4) if s中不包含首項c[1]and(s中包含某項c[n]and MIS(c[n])=MIS(c[1]))ands?Lk-1then delete c fromCk

上述算法與Apriori算法的剪枝過程相比,添加了步驟4)的限制條件。具體示例見例3。

4 實驗分析

4.1 實驗一

4.1.1 實驗平臺與實驗數據

為了驗證算法的有效性,采用三個實驗與基于頻率的多最小支持度挖掘算法進行對比。實驗環境為1.70GHz AMD A6 CPU,6G內存和Windows 7操作系統,算法在MyEclipse平臺上采用Java語言編程實現。在Java中隨機函數random()產生的數據上進行了測試,其好處是可以靈活產生所需數據,且無需進行預處理。隨機函數生成的數據如表1所示,共8條事務記錄,6個項目。

表1 隨機數據

4.1.2 實驗結果與分析

將該數據分別應用Apriori算法與基于頻率的多最小支持度挖掘算法進行關聯挖掘。生成的頻繁項集如表2所示,兩種算法的挖掘結果如表3所示,其中項目覆蓋率指算法挖掘高、低頻率項目的能力,覆蓋率越高,說明算法挖掘的頻繁項集中涉及的項目越全面。

表2 Apriori算法與多最小支持度算法生成的頻繁項集

表3 兩種算法挖掘結果對比

通過表2、表3的實驗結果可以看出:

1)使用較小支持度的Apriori算法得到了大量的頻繁項集,使用較大支持度的Apriori算法則遺漏了小概率頻繁項集,而基于頻率的多最小支持度挖掘算法生成的頻繁項集數目則介于這兩種支持度的Apriori算法之間。

2)使用基于頻率的多最小支持度挖掘算法運行時間介于兩種支持度的Apriori算法之間,但是在項目覆蓋率方面,基于頻率的多最小支持度挖掘算法明顯高于其它兩種Apriori算法。

4.2 實驗二

選取標準UCI數據集中的Zoo數據集,將該數據集應用于本文提出的基于頻率的多最小支持度挖掘算法和文獻[17]提出的算法,并對實驗結果進行比較。實驗結果如表4所示。

表4 Zoo數據集挖掘結果對比

由表4可知,與文獻[17]提出的算法對比,使用基于頻率的多最小支持度挖掘算法具有較高的項目覆蓋率,且運行時間短。因此,本文算法在效率提升方面的效果也是顯著的。

4.3 實驗三

將本文提出的基于頻率的多最小支持度挖掘算法、文獻[17]提出的算法與Apriori算法應用于真實數據[20],對實驗結果進行對比。實驗數據來源:https://www.kaggle.com。該數據庫存儲超市中顧客的線上交易記錄,在該數據庫中,User_Product表中共有12430條記錄,記錄中包括用戶ID,用戶名,用戶購買的商品ID,商品名稱,購買時間,商品類別,商品擺放位置等15個屬性。對該表中的數據進行預處理,其中保留用戶ID及商品ID屬性值,處理后的數據形式如表1所示。挖掘后的規則中,可根據數據庫中的Product表查詢出對應的商品名稱。實驗結果如表5所示。

表5 交易數據庫挖掘結果對比

由表5可知,使用基于頻率的多最小支持度挖掘算法具有較高的項目覆蓋率,且綜合挖掘的頻繁項集數和運行時間,基于頻率的多最小支持度挖掘算法都具有較理想的挖掘效果。

5 結語

本文主要討論了在關聯規則挖掘中,針對Apriori算法中的始終保持單一的最小支持度的不足,提出并實現了一種基于頻率的多最小支持度挖掘算法。該算法針對每個項目設定了最小項目支持度,彌補了Apriori算法中的不足,并通過設置項目頻率最小閾值避免產生過多無意義的關聯規則,新算法能有效地挖掘出出現頻率較低的項目的關聯規則。通過在合成數據與實際應用中驗證了新算法的有效性。

猜你喜歡
關聯規則數據庫
撐竿跳規則的制定
“苦”的關聯
當代陜西(2021年17期)2021-11-06 03:21:36
數獨的規則和演變
奇趣搭配
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
數據庫
財經(2017年2期)2017-03-10 14:35:35
智趣
讀者(2017年5期)2017-02-15 18:04:18
TPP反腐敗規則對我國的啟示
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 91久久国产热精品免费| 夜夜操狠狠操| 午夜国产小视频| 91精品国产福利| 乱人伦视频中文字幕在线| 久久免费视频播放| 毛片一区二区在线看| 免费在线成人网| 欧美激情二区三区| 日本在线视频免费| 国产SUV精品一区二区| 亚洲国产午夜精华无码福利| 制服无码网站| 99国产精品一区二区| 久久国产精品影院| 午夜丁香婷婷| 国产自无码视频在线观看| 亚洲综合天堂网| 亚洲最新网址| 成人免费网站在线观看| 制服丝袜亚洲| 99在线观看国产| 亚洲男人的天堂在线| 国产成人免费观看在线视频| 欧美高清三区| 国产成人综合日韩精品无码首页| 日韩 欧美 小说 综合网 另类| 日本日韩欧美| 欲色天天综合网| 欧美成人午夜在线全部免费| 人妻精品全国免费视频| 国产精品自拍合集| 91无码国产视频| 国产精彩视频在线观看| 99热6这里只有精品| 88av在线播放| 国产农村精品一级毛片视频| 麻豆精品视频在线原创| 四虎精品黑人视频| 精品撒尿视频一区二区三区| 国产成人高清精品免费软件| 成人一区专区在线观看| 日韩精品久久无码中文字幕色欲| 国产一区二区三区在线观看免费| 一本大道香蕉中文日本不卡高清二区| 日韩免费毛片视频| 久久免费视频播放| 国产一级视频在线观看网站| 国产精品欧美在线观看| 国产91精品最新在线播放| 孕妇高潮太爽了在线观看免费| 99精品国产电影| 欧美全免费aaaaaa特黄在线| 色偷偷男人的天堂亚洲av| 成年女人18毛片毛片免费| 99热这里只有精品2| 亚洲V日韩V无码一区二区| 97国产成人无码精品久久久| 久久精品国产精品国产一区| 亚洲视频四区| 久久这里只精品热免费99| 欧美a网站| 亚洲精品视频免费看| 色有码无码视频| 久久久受www免费人成| 国产精品久久久久久久伊一| 亚亚洲乱码一二三四区| 久久精品视频亚洲| 国产精品女在线观看| 天天色综网| 日韩欧美中文字幕一本| 亚洲国产AV无码综合原创| 亚洲大尺度在线| 四虎影视8848永久精品| 国产成人亚洲无吗淙合青草| 亚洲一道AV无码午夜福利| 亚洲第一色视频| 国产成人精品18| 伊人天堂网| 激情视频综合网| 国产乱子伦精品视频| 一区二区三区高清视频国产女人|