DFS-Apriori: Khai Thác Nhanh Tp Ph Biến
Áp Dng Chiến Lƣợc Tìm Kiếm Theo Chiu Sâu
Phan Thành Hun1,2,4, Đặng Thanh Minh1,4, Nguyễn Nhƣ Đồng3
1Khoa Toán Tin học, Trƣờng Đại hc Khoa hc T nhiên, ĐHQG.HCM-VN
2B môn Tin học, Trƣờng Đại hc Khoa hc Xã hội và Nhân văn, ĐHQG.HCM-VN
3Trung tâm Giáo dc Ngh nghip Giáo dục Thƣờng xuyên, Tp. Th Đức
4Đại hc Quc gia Tp. H Chí Minh
Email: huanphan@hcmussh.edu.vn; minhthanhdang1982@gmail.com; dongnhunguyen74@gmail.com
Tóm tt - Khai thác tp ph biến giai đoạn ct lõi trong khai
thác lut kết hp t d liu giao dch nh phân. Agrawal cùng
đồng s đề xut thuật toán Apriori . Đây thuật toán sở cho
nhiu ci tiến, cũng như được s dng khai thác trên nhiu loi
d liu khác nhau. Ngoài ra, nhng năm gần đây thuật toán
Apriori là thuật toán được nhiu nhà nghiên cu la chọn để m
rng cho khai thác tp ph biến t d liu lớn trên môi trường
phân tán. Thut toán Apriori da theo chiến c tìm kiếm theo
chiu rng (Breadth First Search BFS) điu này làm hn chế
trong thc hin tính toán phân tán. Trong bài viết này, nhóm tác
gi kho sát mt s thut toán Apriori ci tiến trình bày cách
tiếp cn mi ci tiến hiu qu thut toán Apriori da theo chiến
c tìm kiếm theo chiu sâu (Depth First Search DFS) d
dàng m rng trên i trường tính toán phân n. Đng thi,
thuật toán đ xut k thut rút gn các ứng viên, tính nhanh đ
ph biến ca ng viên biu din d liu dng bit - giúp đẩy
nhanh tốc đ tính toán gim thiu truy xut d liu. Thut
toán ci tiến đưc gi DFS-Apriori. Nhóm tác gi tiến hành
thc nghim thut toán trên b d liu thc ca UCI d liu
gi lp ca trung tâm nghiên cu IBM Almaden, cho thy thut
toán ci tiến hiu qu.
T khóa lut kết hp, tp ph biến, thut toán DFS-Apriori.
I. GII THIU
Năm 1993, Agrawal cùng đồng s đề xuất mô hình đầu tiên
ca bài toán khai thác lut kết hp khai thác lut kết hp trên
d liu giao dch (DLGD) nh phân [1]. Khai thác lut kết hp
khai phá các lut kết hp độ ph biến (support) cũng nhƣ
độ tin cy (confidence) lớn hơn hoặc bng một ngƣỡng ph
biến ti thiu (minsup) ngƣỡng tin cy ti thiu (minconf).
Bài toán đƣợc chia thành hai pha:
Pha 1: Tìm tt c các kết hp thỏa ngƣỡng ph biến ti
thiu minsup (sinh tp ph biến FI - Frequent Itemset);
Pha 2: Sinh lut kết hp lần lƣợt t các kết hp tha
minsup pha 1 các lut kết hp này phi thỏa ngƣỡng tin
cy ti thiu minconf.
Sau đó, Agrawal cùng đồng s tập trung hƣớng gii quyết
cho pha 1 nhóm đã đề xut thut toán Apriori [2] cho khai
thác tp ph biến. Đâythuật toán then cht, quan trng trong
khai thác lut kết hp. Thut toán tiếp cn sinh các kết hp ph
biến vi chiến lƣợc tìm kiếm theo chiu rng (Breadth First
Search BFS) d dàng cài đặt song song hóa nhm nâng
cao hiệu năng; thuật toán tn nhiu ln quét d liệu độ
phc tp dạng hàm mũ. Chính vậy, Apriori thut toán
đƣc nhiu nhà nghiên cu ci tiến áp dng khai phá trên
nhiu loi d liu khác nhau: chui [3], định lượng [4], đồ th
[5], thuc tính có trng s [6],…
Qua kho sát các nghiên cứu liên quan đến ci tiến thut
toán Apriori khai thác tp ph biến trên DLGD nh phân, gm
hai hướng tiếp cn chính:
Định dng d liu theo chiu ngang: Đây định dng
theo thut toán Apriori gc. Các thut toán ci tiến Apriori
thƣờng s dng chiến lƣợc rút gn giao dch rút gn
không gian sinh các ng viên tim năng k-itemset. Tuy
nhiên, vn đề tính đ ph biến ca k-itemset vẫn chƣa thật
s hiu qu.
Định dng d liu theo chiu dc: Năm 1995, Savasere
[7] cùng đồng s đề xut thut toán Parition s dng định
dng d liu theo chiu dọc. Định dạng này, giúp tính đ
ph biến d dàng và hn chế đối vi DLGD có mật độ cao.
Bng 1. Mt s công trình ci tiến thut toán Apriori [7-16]
Tác gi
đứng đầu
Thut toán
Định dng
d liu
Năm
A. Savasere
Partition
dc
1995
J. Lei
HDO-Apriori
ngang
2006
W.Yu
RATT
ngang
2008
Y. Guo
IApriori
dc
2010
J. Singh
SOT-Apriori
ngang
2013
H. Singh
MBAT
ngang
2013
M. A. Maolegi
M-Apriori
dc
2014
V.Vijayalakshmi
CBTRA
ngang
2015
S. Aditya
LOT-Apriori
ngang
2017
L. Xu
MD-Apriori
dc
2019
Bng 1, lit mt s thut toán ci tiến Apriori. Các đặc
trƣng của thut toán ci tiến: i) rút gn giao dch da vào s
ng items trên mi giao dch SOT-Aprioir [11], CBTRA
[14], LOT-Apriori [15] ; ii) rút gn tp ng viên tiềm năng
Partition [7], HDO-Apriori [8], Iapriori [11], M-Apriori [13],
MD-Apriori [16]; iii) giảm bƣớc tính độ ph biến RAAT [9],
MBAT [12]; iv) phân chia d liu thành nhiu phn Parition
[7], MD-Apriori [16].
Ngoài ra, thut toán tựa Apriori cũng đƣc nhiu n
nghiên cu quan tâm m rng thc hin khai thác d liu ln
trên môi trƣờng phân tán. Gần đây, Shashi cùng đồng s đề
xut thut toán EAFIM [19] khai thác trên môi trƣờng phân
tán Spark da trên thut toán Apriori gc, thut toán
EAFIM cũng cho thấy hiu qu hơn thuật toán R-Apriori [18],
YAFIM [17].
Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)
ISBN 978-604-80-7468-5
135
Nhóm tác gi thy rng, các thut toán ci tiến trên chƣa
quan tâm đến th t độ ph biến ca c items, rút gn bƣớc
phát sinh ng viên k-itemset t tp ph biến (k-1)-itemset.
Ngoài ra, chiến lƣợc tìm kiếm theo chiu rng rt khó phân rã
khi m rng khai thác d liu ln trên c h thng tính toán
phân tán. vy, nhóm tác gi đ xut tiếp cn mi trong ci
tiến hiu qu thut toán Apriori cho khai thác tp ph biến trên
DLGD áp dng chiến lƣợc tìm kiếm theo chiu sâu (Depth
First Search DFS) thut toán d dàng m rng trên môi
trƣờng tính toán phân tán.
Phn 2, bài báo trình bày các khái niệm cơ bản v khai thác
tp ph biến, thut toán AprioriTID phân tích ƣu, nhƣợc
đim. Phn 3, đề xut thut toán khai thác nhanh tp ph biến
theo hƣớng tiếp cn theo chiu sâu DFS-Apriori; kết qu thc
nghiệm đƣợc trình bày trong phn 4; kết lun hƣớng phát
triển đƣợc trình bày trong phn 5.
II. CÁC KHÁI NIM BN
A. Khai thác tp ph biến
Cho I = {i1, i2,..., im} tp gm m thuc tính, mi thuc
tính gi là item. Tp các item X ={i1, i2,..., ik}, ij I (1
j
k)
gi itemset, itemset k item gi k-itemset. D liu giao
dch T = {t1, t2,..., tn} gm n giao dch, mi giao dch tk ={ik1,
ik2,..., ikm}, ikj
I (1
kj
m).
Định nghĩa 1: Đ ph biến (support) ca itemset X I, ký
hiu sup(X) - t l gia s giao dch trong T cha X n
giao dch.
Định nghĩa 2: Cho X I, X gi itemset ph biến
nếu sup(X) minsup, trong đó minsup ngƣng ph biến ti
thiu (do người dùng ch đnh). Ký hiu FItp hp cha các
itemset ph biến.
Mt s tính cht ca itemset ph biến: đây các tính
cht nn tng s dng cho vic rút gn không gian tìm kiếm
các tính cht này đƣc gi tính cht Apriori/ bao đóng gim
(Downward Closure Property - DCP).
Tính cht 1: (độ ph biến ca tp con) Cho X, Y I, nếu X
Y thì sup(X) sup(Y);
Tính cht 2: Mt itemset con khác rng ca mt itemset
ph biến cũng itemset ph biến - XY, sup(Y) minsup:
sup(X) minsup;
Tính cht 3: Mt itemset cha mt itemset không ph biến
cũng itemset không ph biến - X Y, sup(X) < minsup:
sup(Y) < minsup.
Bng 2. D liu giao dch T dùng cho Ví d
TID
Items
t1
A
C
E
F
t2
A
C
G
t3
E
H
t4
A
C
D
F
G
t5
A
C
E
G
t6
E
t7
A
B
C
E
t8
A
C
D
t9
A
B
C
E
G
t10
A
C
E
F
G
d 1: D liu giao dch trong Bng 1, 8 item riêng
bit I = {A, B, C, D, E, F, G, H} tp giao dch Ƭ = {t1, t2,
t3, t4, t5, t6, t7, t8, t9, t10} vi giá tr ngƣỡng ph biến ti
thiu minsup = 0,50, ta có:
Theo tính cht 1: X ={G, A, C}, sup(GAC) = 0,50 đ
ph biến lần lƣợt các tp con ca X: sup(A) = sup(C) sup(AC)
= 0,80; sup(G) = sup(GA) = sup(GC) = 0,50.
Theo tính cht 2: các tp con ca X ={G, A, C} cũng phổ
biến; ta thấy độ ph biến ca các tp con của X đều lớn hơn
hoc bằng ngƣỡng minsup.
Theo tính cht 3: Y = {F} thì sup(F) = 0,20 < minsup - Y
= {F} itemset không ph biến ngƣng minsup”. Khi đó, c
tp cha ca Y cũng không ph biến, nghĩa Z = {F, E} cũng
không ph biến, sup(FE) = 0,20 < minsup.
Bng 3. FIs trên d liu giao dch T, minsup = 0,50
k-itemset
Tp ph biến FIs (#FIs = 11)
1
(G; 0,50), (E; 0,70), (A; 0,80), (C; 0,80)
2
(GA; 0,50), (GC; 0,50), (EA; 0,50), (EC; 0,50),
(AC; 0,80)
3
(GAC; 0,50), (EAC; 0,50)
Bng 3, trình bày k-itemset ph biến trên DLGD vi
ngƣỡng minsup = 0,50; các k-itemset ph biến đƣợc sp xêp
tăng dần theo độ ph biến ca các items
(H
B
D
F
G
E
A
C) và có 11 itemset ph biến.
B. Thut toán Apriori và AprioriTID
Thuật toán Apriori do Agrawal cùng đng s đề xuất năm
1994 [2], đƣợc đánh giá mang tính chất lch s trong khai thác
lut kết hp. Apriori thut toán nn tảng để tìm các tp ph
biến s dụng phƣơng pháp sinh ng viên. Thuật toán đc
đim m kiếm theo chiu rng s dng tính cht Apriori:
bt k (k-1)-itemset không ph biến thì không th tp
con ca k-itemset ph biến.
Mt s ký hiu trong thut toán Apriori:
Lk: tp cha k-itemset ph biến;
Ck: tâp ng viên tiềm năng k-itemset;
Mã gi thut toán Apriori
Đầu vào: Tp giao dch Ƭ, ngƣỡng minsup
Đầu ra: Tp kết hp ni lin ph biến FI
1:
L1 = {1-itemset}
2:
For (k = 2; Lk-1 ; k++) do
3:
Ck = AprioriGen(Lk-1)
4:
For each t Ƭ do
5:
Ct = subset(Ck, t)
6:
For each c Ct do
7:
c.count ++
8:
Lk = {c Ck| c.count minsup}
9:
FI = k Lk
10:
Tr v FI
Dòng 1, tp L1 cha c item tha minsup; dòng 2 đến 8,
phát sinh k-itemset ph biến; dòng 3 sinh tp Ck ng viên cha
k-itemset t tp Lk-1 cha các (k-1)-itemset ph biến; dòng 4
đến 7, vi mi giao dch t, xác định các ng viên tim năng từ
Ck đƣc cha trên giao dịch này lƣu vào Ct. Độ ph biến
ca tng ng viên tiềm năng Ck đƣc tính toán theo Ct; dòng
8, lc ng viên k-itemset thỏa ngƣỡng minsup đƣa vào Lk.
Th tc AprioriGen - sinh các ng viên k-itemset tim
năng Ck t tp (k-1)-itemset Lk-1.
Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)
ISBN 978-604-80-7468-5
136
Mã gi th tc AprioriGen
Đầu vào: Tp cha các (k-1)-itemset ph biến Lk-1
Đầu ra: Tp ng viên k-itemset Ck
1:
Ck = {X X’| X, X’ Lk-1, |XX’| = k - 2}
2:
For each itemset c Ck do
3:
For each (k-1)-subset s of c do
4:
If (s Lk-1) then
5:
Ck = Ck - c
6:
Tr v Ck
Ưu điểm: Thut toán da trên tính cht Apriori bt k
itemset con nào ca itemset ph biến cũng là itemset ph biến.
vy, trong quá trình đi tìm tp ng viên, thut toán ch cn
dùng đến tp ng viên va xut hin ớc ngay trƣớc đó,
không cần dùng đến tt c tp ng viên (cho đến thời điểm
đó). Nhờ vy, b nh đƣc giải phóng đáng kể.
Nhược điểm: Thut toán phi quét d liu (maxlen+1) ln,
vi maxlen chiu dài ca itemset ph biến dài nht. Thut
toán Apriori gim không gian da vào tính cht Apriori. Tuy
nhiên, khi s itemset ph biến đƣợc sinh ra ln, maxlen ln
hay ngƣỡng ph biến ti thiu minsup nh s dẫn đến vic
phát sinh ra rt nhiu ng viên phi duyt d liu rt nhiu
ln, thut toán có chi phí cao.
Trong công trình [2], Agrawal cùng đồng s đ xut thêm
thut toán ci tiến AprioriTID độ ph biến ca ng viên tim
năng đƣc tính da trên tp
k
C
(lƣu tr tng dòng giao dch
có cha các ng viên k-itemset theo cu trúc <t.TID, Ct>).
Mt s ký hiu trong thut toán AprioriTID:
Lk: tp cha k-itemset ph biến;
Ck: tâp ng viên tiềm năng k-itemset;
k
C
: tp các ng viên k-itemset đƣc cha trong tng giao
dch t ca DLGD;
Mã gi thut toán AprioriTID
Đầu vào: Tp giao dch Ƭ, ngƣỡng minsup
Đầu ra: Tp kết hp ni lin ph biến FI
1:
L1 = {1-itemset}
2:
1
C
= tp giao dch Ƭ// cha các item trong L1
3:
For (k = 2; Lk-1 ; k++) do
4:
Ck = AprioriGen(Lk-1)
5:
k
C
=
6:
For each t
1k
C
do
7:
Ct = {c Ck| (c c[k]) t.set-of-itemset
(c c[k-1]) t.set-of-itemset}
8:
For each c Ct do
9:
c.count ++
10:
If (Ct ) then
11:
k
C
+= <t.TID, Ct>
12:
Lk = {c Ck| c.count minsup}
13:
Tr v FI= k Lk
Để thun tiên cho vic minh ha thut toán AprioriTID,
nhóm tác gi hiu chnh dòng 2 so vi phiên bn gc
(
1
C
cha các item có trong L1 thỏa ngƣỡng minsup).
C. Minh ha thut toán AprioriTID
Trong phn này, nhóm tác gi minh ha thut toán
AprioriTID khai thác các itemset ph biến:
d 2: Cho d liu giao dch T trong Bng 1 giá tr
ngƣng minsup = 0,30.
D liu giao dch T, có 5 item tha minsup: L1 = {(F; 0,30),
(G; 0,50), (E; 0,70), (A; 0,80), (C; 0,80)};
1
C
=
{<t1,{{F},{E},{A},{C}}>, <t2,{{G}, {A}, {C}}>, <t4,{{F},
{G}, {A}, {C}}>, <t5,{{G}, {E}, {A}, {C}}>, <t7,{{E}, {A},
{C}}>, <t8,{{A}, {C}}>, <t9,{{G}, {E}, {A}, {C}}>,
<t10,{{G}, {E}, {A}, {C}}>};
c lp k = 2: sinh tp ng viên 2-itemset C2 = {FG, FE,
FA, FC, GE, GA, GC, EA, EC, AC};
2
C
={<t1, {{FA}, {FC},
{EA}, {EC}, {AC}}>, <t2, {{GA}, {GC}}>, <t4,{{FA},
{FC}, {GA}, {GC}, {AC}}>, <t5, {GE}, {GA}, {GC}, {EA},
{EC}, {AC}}>, <t7, {{EA}, {EC}, {AC}}>, <t8, {{AC}}>,
<t9, {{GE}, {GA}, {GC}, {EA}, {EC}, {AC}}>, <t10,
{{GE}, {GA}, {GC}, {EA}, {EC}, {AC}}>; tp ph biến L2 =
{(FA; 0,30), (FC; 0,30), (GE; 0,30), (GA; 0,50), (GC; 0,50),
(EA; 0,50), (EC; 0,50), (AC; 0,80)};
c lp k = 3: sinh ng viên 3-itemset C3 = {FAC, GEA,
GEC, GAC, EAC};
3
C
={<t1, {{FAC}, {GAC}}>, <t2,
{{GAC}}>, <t4, {{FAC}, {GAC}}>, <t5, {{GEA}, {GEC},
{GAC}, {EAC}}>, <t7, {{EAC}}>, <t9, {{GEA}, {GEC},
{GAC}, {EAC}}>, <t10, {{GEA}, {GEC}, {GAC},
{EAC}}>}; tp ph biến L3 = {(FAC; 0,30), (GEA; 0,30),
(GEC; 0,30), (GAC; 0,50), (EAC; 0,50)};
c lp k = 4: sinh ng viên 4-itemset C4 = {GEAC};
4
C
={<t5, {{GEAC}}>, <t9,{{GEAC}}>, <t10, {GEAC}}>};
tp ph biến L4 = {(GEAC; 0,30)};
Kết qu khai thác tp ph biến trên d liu giao dch T, vi
ngƣng minsup = 0,30 đƣợc trình bày Bng 4.
Bng 4. FIs trên d liu giao dch T, minsup = 0,30
Items
Tp ph biến FIs (#FIs = 19)
F
(F; 0,30), (FA; 0,30), (FC; 0,30), (FAC; 0,30)
G
(G; 0,50), (GE; 0,30), (GA; 0,50), (GC; 0,50),
(GEA; 0,30),(GEC; 0,30), (GAC; 0,50), (GEAC; 0,30)
E
(E; 0,70), (EA; 0,50), (EC; 0,50), (EAC; 0,50)
A
(A; 0,80), (AC; 0,80)
C
(C; 0,80)
III. THUT TOÁN DFS-APRIORI
A. Thut toán DFS-Apriori
Phn này, nhóm tác gi trình bày thut toán DFS-Apriori
hiu qu khai thác tp ph biến, ci tiến t thut toán Apriori
và d dàng m rng trên các h thng tính toán phân tán:
Th nht, sp xếp các item theo th t tăng dn của độ ph
biến s dng tính cht 3 cho vic rút gn các kết hp c
tiếp theo (item đu tiên trong các kết hợp item đ ph
biến nh nht).
Th hai, ci tiến th tc AprioriGen sinh c ng viên
bng cách sp xếp các (k-1)-itemset ph biến theo th t
sinh các kết hp mi giúp giảm dƣ thừa và trùng lp.
Th ba, thc hiện tính đ ph biến cho các ng viên tim
năng C theo nhóm item đầu da trên ma trn bit Ƭ tƣơng ng
đƣc rút gn theo ct occ (vector giao dch cha item th i).
Mt s ký hiu trong thut toán DFS-Apriori:
- L: tp thành viên cha k-itemset tha minsup, mi thành
viên 4 trƣờng thông tin itemset độ ph biến sup,
b sung thêm th t nh nht (min) ln nht (max) ca
item trong mi itemset thuc Lk;
Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)
ISBN 978-604-80-7468-5
137
- C: tp ng viên cha k-itemset tiềm năng, mỗi ng viên
4 trƣờng thông tin itemset biu din dạng bit, độ ph
biến sup, th t nh nht (min) ln nht (max) ca item
trong mi itemset thuc C;
- Ƭ: tập giao dịch đƣợc biu din dng bit, mi giao dch
dạng bit thêm 3 trƣờng thông tin |t| s ng items
trong giao dch, th t nh nht (min) ln nht (max)
th t item đầu, cui trong giao dch.
Mã gi thut toán DFS-Apriori
Đầu vào: Tp giao dch Ƭ, ngƣỡng minsup
Đầu ra: Tp ph biến FI
1:
L1 = {1-itemset}; // các item tha minsup
2:
Ƭ = tp Ƭ ch cha các item có trong L1 và có |t| > 1
//Ƭ biu din dng bit và có th t theo |t|, min, max
3:
L2 = {L1L1}//2-itemset tha minsup
4:
FI = L1 L2
5:
For (i = 1; i < |L1|; i++) //xét item tha minsup
6:
L = { L2| .min == i} //nhóm item th i
7:
Cp nht vector occ tƣơng ứng vi item th i
8:
k = 3// sinh 3-itemset
9:
While (|L| > 1) do //sinh itemset ph biến
10:
C = AprioriGenStar(L)
11:
For each c C do //tính sup theo nhóm giao dch
12:
j = 1
13:
While (k t[j].|t| t[j].min c.min)//t Ƭ
14:
If (occ[j]==1 c.max t[j].max) then
15:
If (c.itemset==c.itemset AND t[j].itemset) then
16:
c.sup += 1/n
17:
j++
18:
Lnext = {c C| c.sup minsup}//lc ng viên tha
19:
FI = FI Lnext
20:
L = Lnext
21:
k++
22:
Return FI
Mô t thut toán DFS-Apriori:
Dòng 1 và 2, sinh tp L1 cha các item thỏa ngƣỡng minsup
rút gn tp giao dch biu din dng bit (loi b c giao
dch ch 1 item). Dòng 3, sinh tp ph biến L2. Dòng 6, lc
các 2-itemset ph biến theo nhóm item th i; ng 7 cp
nht vector occ theo item th i, đây dng ch mc trong
phép đếm độ ph biến. T dòng 9 đến dòng 21, khai thác theo
chiu sâu theo item th i. Lp li dòng 5, sinh itemset ph biến
tiếp theo item th i kế tiếp.
Mã gi th tc AprioriGenStar
Đầu vào: Tp cha các k-itemset ph biến Lk
Đầu ra: Tp ng viên Ck+1
1:
Ck+1 =
2:
For (i = 1; i < |Lk| ; i++) do
3:
For (j = i+1; j |Lk| ; j++) do
4:
Ck+1 = Ck+1 {Xi Xj|{Xi Xj} Ck+1}
5:
Tr v Ck+1
Th tc AprioriGenNew ch sinh các ng viên t tp ph
biến k-itemset riêng bit nhóm theo item (chiến lƣợc m kiếm
theo chiu sâu) độ phc tp giảm đáng kể.
B. Minh ha thut toán DFS-Apriori
Trong phn y, nhóm tác gi minh ha thut toán DFS-
Apriori khai thác tp ph biến trên DLGD, cho thy thut toán
ci tiến hiu qu.
Theo d 2, tp giao dch Ƭ trong Bng 2 giá tr
ngƣỡng minsup = 0,30.
Bng 5. Tp giao dch T đã rút gọn loi b t3 và t6
TID
F
G
E
A
C
min
max
|t|
occ
t10
1
1
1
1
1
1
5
5
1
t1
1
0
1
1
1
1
5
4
1
t4
1
1
0
1
1
1
5
4
1
t5
0
1
1
1
1
2
5
4
0
t9
0
1
1
1
1
2
5
4
0
t2
0
1
0
1
1
2
5
3
0
t7
0
0
1
1
1
3
5
3
0
t8
0
0
0
1
1
4
5
2
0
D liu Ƭ đƣc sp xếp theo |t|, min, max ct occ đƣc
cp nht theo vector ca item F: {1, 1, 1, 0, 0, 0, 0, 0}.
Dòng 1, xét các item tha minsup = 0,30: 5 items {F, G,
E, A, C} đƣc sp tăng dn theo độ ph biến gán ln t
th t t 1 đến 5;
Dòng 2, sinh tp ph biến 1-itemset L1 = {(F; 0,30), (G;
0,50), (E; 0,70), (A; 0,80), (C; 0,80)};
Xét item F: sinh 4 ng viên 2-itemset C2[F] = {FG, FE, FA,
FC}; tp cha 2-itemset ph biến L2[F] = {(FA; 0,30), (FC;
0,30)}; sinh 1 ng viên 3-itemset C3[F] = {FAC}; tp cha 3-
itemset ph biến L3[F] = {(FAC; 0,30)}.
Xét item G: cp nht vector ct occ = {1, 0, 1, 1, 1, 1, 0, 0};
sinh 3 ng viên 2-itemset C2[G] = {GE, GA, GC}; tp cha 2-
itemset ph biến L2[G] = {(GE; 0,30), (GA; 0,30), (GC; 0,30)};
sinh 2 ng viên 3-itemset C3[G] = {GEA, GEC, GAC}; tp cha
3-itemset ph biến L3[G] = {(GEA; 0,30), (GEC; 0,30), (GAC;
0,50)}; sinh 1 ng viên 4-itemset C4[G] = {GEAC}; tp cha 4-
itemset ph biến L4[G] = {(GEAC; 0,30)}.
Xét item E: cp nht vector ct occ = {1, 1, 0, 1, 1, 0, 1, 0};
sinh 2 ng viên 2-itemset C2[E] = {EA, EC}; tp cha 2-itemset
ph biến L2[E] = {(EA; 0,50), (EC; 0,50)}; sinh 1 ng viên 3-
itemset C3[E] = {EAC}; tp cha 3-itemset ph biến L3[E] =
{(EAC; 0,50)}.
Xét item A: cp nht vector ct occ = {1, 1, 1, 1, 1, 1, 1, 1};
sinh 1 ng viên 2-itemset C2[A] = {AC}; tp cha 2-itemset ph
biến L2[A] = {(AC; 0,80)}.
Kết qu khai thác tp ph biến đƣợc trình bày Bng 4
(19 itemset ph biến: 4 itemset đƣc khai thác theo chiu u
t item F; 8 itemset t item G; 4 itemset t item E; 2 itemset t
item A và 1 itemset t item C).
C. So nh ng viên tiềm năng s giao dch duyt ca 2
thut toán Apriori và DFS-Apriori
Bng 6. S ng viên và duyt giao dch theo Ví d 2
AprioriTID
DFS-Apriori
Lần lặp k
Số
ứng viên
Số giao
dịch duyệt
Items
Số
ứng viên
Số giao
dịch duyệt
2
10
340
F
5
15
3
28
90
G
7
34
4
10
3
E
3
15
5
0
0
A
1
8
C
0
0
Tổng:
48
433
Tổng:
16
72
Bng 6, cho thy tng s ng viên tim năng ca thut
toán DFS-Apriori thấp hơn 66,67% so vi AprioriTID tng
s dòng giao dịch đƣợc duyt thấp hơn 83,37%. Qua đó, cho
thy thut toán DFS-Apriori kh thi hiu qu n so vi
thut toán AprioriTID.
Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)
ISBN 978-604-80-7468-5
138
IV. KT QU THC NGHIM
Thc nghim trên máy tính Core Duo 2.0 GHz, 4GB
RAM, thuật toán cài đặt trên MSVC# 2010.
A. Mô t d liu thc nghim
Nghiên cu thc nghim trên 2 nhóm d liu:
Nhóm d liu thc có mật độ dày: t kho d liu v hc
máy của trƣờng Đại hc California (Lichman, M. (2013).
UCI Machine Learning Repository
[http://archive.ics.uci.edu/ml]. Irvine, CA: University of
California, School of Information and Computer Science)
gm ChessMushroom.
Nhóm d liu gi lp mật độ thưa: s dng phn
mm phát sinh d liu gi lp ca trung tâm nghiên cu
IBM Almaden (IBM Almaden Research Center, San Joe,
California 95120, U.S.A [http://www.almaden.ibm.com])
gm T10I4D100KT40I10D100K.
Bng 7. D liu thc nghim
D liu
S
item
S
giao dch
S item trung
bình/giao dch
Mt
độ (%)
Chess
75
3.196
37
49,3
Mushroom
119
8.142
23
19,3
T10I4D100K
870
100.000
10
1,1
T40I10D100K
942
100.000
40
4,2
Bng 7, t 4 tp d liu s dng trong thc nghim,
gm các thông s nhƣ số ng các item, s ng giao dch,
s item trung nh trên mi giao dch mật độ ca tng tp
d liu.
B. Thc nghim
Để đánh giá mức độ hiu qu ca thut toán DFS-Apriori,
chúng tôi so sánh thut toán DFS-Apriori khai thác tp ph
biến trên DLGD vi thut toán AprioriTID [2] đƣc ci tiến
theo dng bit. C hai thuật toán đều cho ng kết qu trên các
ngƣỡng minsup khác nhau.
Hình 1. Thi gian thc hin khai thác FI trên Chess
Hình 1 2 kết qu thc nghim trên nhóm d liu
mật độ cao, ta thy thut toán DFS-Apriori nhanh hơn thuật
toán AprioriTID-bit.
Hình 2. Thi gian thc hin khai thác FI trên Mushroom
Hình 3. Thi gian thc hin khai thác FI trên T10I4D100K
Hình 4. Thi gian thc hin khai thác FI trên T40I10D100K
Hình 3 4 kết qu thc nghim trên nhóm d liu gi
lp mật độ thp, ta thy thut toán DFS-Apriori nhanh hơn
thut toán AprioriTID-bit. Hiu sut ca thut toán DFS-
Apriori rt cao so vi AprioriTID-bit trên d liệu thƣa.
Kết qu thc nghim, cho thy thut toán ci tiến DFS-
Apriori hiu qu hơn thuật toán AprioriTID-bit. Ngoài ra, thut
toán cũng cần thc nghim so sánh thêm vi các thut toán
theo hƣớng tiếp cn theo chiu sâu (Depth First Search - DFS),
cùng vi nhiu tp d liu khác m rộng trên môi trƣờng
tính toán phân tán.
V. KT LUN NG PHÁT TRIN
Trong bài viết này, nhóm tác gi đề xut tiếp cn mi trong
ci tiến hiu qu thut toán Apriori áp dng chiến lƣợc tìm
kiếm theo chiu sâu: Th nht, rút gn hiu qu không gian
sinh các ng viên k-itemset t tp (k-1)-itemset ph biến; Th
hai, mỗi bƣớc tính độ ph biến ca ng viên k-itemset ch
Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)
ISBN 978-604-80-7468-5
139