標籤:bsp ati 重複 相關 date lib 第一個 背景 rtu
一、背景介紹
關聯規則( Association rule)概念最初由Agrawal提出,是資料採礦的一個重要研究領域, 其目的是探索資料集中有用的頻繁模式。
靜態關聯規則挖掘,是在固定資料集和支援度下,探索資料集中的頻繁項集,如 Apriori、FP-Growth、Ecalt等。現實問題中,多數時候,支援度和資料集是會發生變化的,Cheung提出了FUP (Fast UPdate)演算法,主要針對資料集增大的情況,FUP演算法是第一個增量關聯規則挖掘演算法。
二、相關定義
資料集DB = {T1,T2,T3,…,Tn},資料集的大小N = |DB|,Ti是其中一條事務,I = {I1,I2,…,Im}是事務的項集,Ti是I的子集。項集 X,Y( X,Y是I的子集) 且 X∩Y = Φ, X=〉Y 為關聯規則. X在資料集中出現的次數為 count( X) ,其支援度為: support( X)= count( X) /D ,對於最小支援度 minsup, 若support ( X) ≥minsup,稱為頻繁項.
增量關聯規則挖掘是指資料集變化或者支援度變化時的關聯規則挖掘。資料集增加時新增資料集為db,增量資料集的大小d = |db|
頻繁項集挖掘的重要性質:頻繁項集的非空子集也是頻繁項集,非頻繁項集的超集也是非頻繁項集。
三、演算法描述
(1)輸入
DB 原資料集;
L k 為 DB 上的 k 項集;
db 新增資料集;
s支援度閾值
(2)輸出
DB + db 上的頻繁項集 L‘ k
(3)演算法
a)頻繁1項集挖掘
掃描 db,獲得 db 上的候選集 C; 對原 1 項集在 DB + db的頻繁項加到 L‘1 中; 掃描 DB,統計 C 在 DB 上的支援度, 頻繁項加入到 L‘1 中,C中的非頻繁項加入到P中,掃描交易資料庫時,從所有事物資料中將在P中的項移 除(減少掃描資料的大小),返回頻繁1項集L‘1。
b)頻繁2項集挖掘(同理:頻繁多項集挖掘)
對原頻繁2項集中的頻繁項,若其子集屬於L1 – L’1,則直接淘汰,掃描db,統計將L2中剩餘的項集在DB+db中任是頻繁項集的部分加入到L’2。C2由L’1規約得到,去掉和L2中重複的項,剩下的項集統計在db中支援度,過 濾掉不可能成為頻繁項集的部分,掃描DB,將新增的頻繁項集加入到L’2中,非頻繁項集加入到p中,過濾交易資料中屬於p的項。依次挖掘,直到找到所有頻繁項集即可。
四、例子
D = 1000 d = 100 s = 3%。I1,12,I3, I4 是事務的項.
I1,12是頻繁1項集
I1.supportD = 32 I2.supportD = 31
I3.supporitD= 28
掃描db
I1.supportd = 4 I2.supportd = 1
I3.supportd = 6 I4.supportd = 2
I1.supportUD = 36 >1100*3% I2.supportUD = 32 < 1100 * 3 %
I1加入到L’1中
I3、I4不在L1中,I3.supportd = 6>100*3% I4.supportd = 2<100*3%
I3加入到C1中,I4加入到P中
掃描DB(過濾掉P中的非頻繁項集)
I3.supportUD = 34 >1100*3% I3加入到L’1中
輸出L’1 ={ I1 ,I3}
增量關聯規則挖掘—FUP演算法