ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG MINH QUANG
CÁC TẬP MỤC THƯỜNG XUYÊN
TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG
LUẬN VĂN THẠC SỸ
Hà Nội, 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG MINH QUANG
CÁC TẬP MỤC THƯỜNG XUYÊN
TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN: PGS. TS. Vũ Đức Thi
Hà Nội, 2010
1
M CL C
MCLC
DANH M C VI T T T VÀ KÝ HI U...........................................
DANH M C B NG BI U, HÌNH
GI I THI
I. KHAIPHÁT PM CTH
I.1.
I.2.
I.3.
I.4.
I.5.
I.6.
I.7.
M
Mts
T p m c th ng xuyên và lu t k t h p .......
Mô t
M
ts
Thu t toán Apriori ..................................................................................
Thu t toán FP-Growth ............................................................................
II. CÁC BÀI TOÁN M R
TH
II.1.
II.2.
II.3.
III. CÀI
M CL
K TLU
TÀI LI U THAM KH O................................................................
M
Khai phá t p m c c
Khai phá t p m c l
ts
2
DANHM
CVI TT
TVÀKÝHI U
Các ký hi u:
I={I1,I2,…,In}. T p n m c d
DB={T1,T2, …, Tm}. Cơ s
db: Cơ s
ip: M
Tq: Giao tác th q
n: S
m: S
A, B, C…: Tên các m c d
X, Y,…: T p con c a t p m c d
X = ABC thay cho X = {A,B,C} trong cơ s d li u giao tác
minsup: Ng
minShare: Ng
minutil: Ng
|X|: S ph n t
Vi t t t:
CSDL: Cơ s d li u
DB: Cơ s d li u giao tác
DL: D li u
3
DANH M
B ng 1. Bi u di n c
B ng 2. Bi u di n c
B ng 4. C s d
B ng 5. Các m c d
B ng 6. Các m
B ng 7. Các m
Hình 1. Hình cây FP-Growth ...........................................................................
Hình 2. Cây COFI-tree c a m c D..................................................................
Hình 3. Các bư c khai phá cây D-COFI-tree
B ng 8. C s d
B ng 9. Xét CSDL B ng 8 v i minShare
B ng 10. Bi u di n t t c
B ng 11. CSDL minh h a có trư ng h p hai hàm t i h n b ng nhau .......
B ng 12. CSDL minh h a trư ng h p hai hàm t i h n luôn b ng nhau. ...
B ng 13. Giá tr c a hai hàm t i h n v i k=1. ...............................................
B ng 14. Các giá tr lmv và hàm t
B ng 15. Các giá tr lmv và hàm t
B ng 16. các giá tr lmv và hàm t
B ng 17. C s
B ng 18. B ng l
B ng 19. C s
Giao di n 1. Sheet HUI, d
Giao di n 2. Sheet Profit, d
Giao di n 3. Giao di n chư ng trình chính ....................................................
Giao di n 4. K t qu
4
S
v
c
d
li u kh ng l .
l n, h
tin truy n th ng, các nhà nghiên c
ph n m m m
phát tri n nhanh chóng các
is
ng, xã h
tr
ti n trình ra qu
Khai phá d li u và khám phá tri th c (Data mining and knowledge
discovery) là m t l nh v
l nh v
c
ã thu hút
gia nghiên c u. Khai phá t p m c th
con c a khai phá lu t k t h p
phân tích cơ s
hàng b ng cách tìm ra nh
cùng m t l n mua. Nh ng thông tin nh
th
ch
nl
c và thu x p kh
doanh hi u qu
Khai phá t p m c th
Vì th
qu
vn
ã có nhi u nghiên c u v
nghiên c
c coi là bài toán khó.
V
nghiên c
em l i m t cái nhìn t ng quát v
h
p.
imc
uv
5
I.
KHAI P
I.1.
M
Khai phá t p m c th
v
khai phá d
c a nhi u l nh v
tu n t , phân tích tơ ng quan, phân l
toán khai phá t p m c th
n m 1993 khi phân tích cơ s
c
a bài toán khai phá lu t k t h p. Khai phá lu t k t h
quan h
gi
các lu t k t h
a các giá t
Khai phá lu t k t h
xuyên th
m c th
c y minconf cho tr
trung
h
s
a mãn ng
ng xuyên tìm
b
tr
K
quan tâm c a nhi u nhà nghiên c
c công b
hi u qu
trong nhi u
qu
Protein và DNA, m
c th
cho tr
t
khi Agraw
các thu t toán
c a thơ ng m i
Mô hình khai phá t p m c th
th
ct
d ng. Ràng bu c v
th ng kê, không ph n ánh
c tính d
nh
ng có nh
li u v
áp
nhi u cách th
i a d ng các ki u d
c quan tâm nghiên c
Chơ ng m t này s
m c th
ng xuyên.
I.2.
Mts
Định nghĩa 1.1: Cho t p m c (item) I={I1,I2,…,Im}. M t giao tác
(transaction) T là m
tác DB={T1,T2, …, Tm}. M i giao tác
con X ⊆ I, g m k m c phân bi t
t p m c X n u X ⊆ T.
Biểu diễn cơ sở dữ liệu giao tác: Cơ s
di n
d ng bi u di n ngang, bi u di n d
Biểu diễn ngang: cơ s
có m t
nh danh Tid và m t danh sách các m c
Bảng 1. Biểu diễn cơ sở dữ liệu giao tác ngang
li u, m i m c
Biểu diễn dọc: Cơ sd li u là m t danh sách các m c d
li u
d li u có m t danh sách t t c các nh danh c a các giao tác ch a m c d
này.
Bảng 2. Biểu diễn cơ sở dữ liệu giao tác dọc
Biểu diễn ma trận nhị phân: Cơ d li u giao tác trên t p m c (item)
s c bi u di n b i ma tr n nh phân M = (mpq)mxn
ó
∈
1ℎ
∉
=
0ℎ
Bảng 3. Biểu diễn cơ sở dữ liệu giao tác ma trận
I.3.
T p m c thư ng xuyên và lu t k t h p
Định nghĩa 1.2: Cho t p m c X ⊆ I.
h tr (Support) c a t p m c X
trong cơ s d li u giao tác DB, ký hi u sup(X), là t l ph n tr m c a các giao tác ch a
t p m c X trên t ng s giao tác trong DB, t c là:
sup( X ) | {T ∈ DB | T ⊇ X } |
|DB|
Định nghĩa 1.3: Cho t p m c X⊆I v i ng ng h tr t i thi u (minimum
support) minsup ∈ [0,1] (
t p m c th
c xác nh tr
c b i ng
i s d ng). X
ng xuyên (frequent itemset ho c large itemset) v i
c g i là
h tr t i
8
thi u minsup n u sup(X) ≥ minsup, ng c l i X g i là t p m c không th ng xuyên.
Định nghĩa 1.4: M t lu t k t h p là m t bi u th X c d ng X →Y, trong ó ,
Y g i là k t lu n c a
và Y là các t p con c a I, X∩Y=∅; X g i là tiên lu t.
Lu t k t h p có hai thông s
Định nghĩa 1.5:
là
quan tr ng là độ hỗ trợ và độ tin cậy.
h tr (support) lu t k t h p, ký hi u là sup(X →Y),
h tr c a t p m c X∪Y, sup(X →Y) = sup(X∪Y).
Nh v y h tr c a lu t k t h p X →Y chính là xác su t P(X∪Y) c a s xu t hi n
ng th i c a X và Y trong m t giao tác.
Ta có 0 ≤ sup (X →Y ) ≤ 1
Định nghĩa 1.6: tin c y
conf(X→Y), là t l ph n tr m gi a s X
(confidence) lu t k t h p, ký hi u là
giao tác ch a X∪Y và s giao tác ch a
trong cơ s d li u DB.
conf ( X → Y ) =
tin c y c a lu t k t h p X →Y chính là xác su t có
P(X /Y)
Và ta có 0 ≤ conf(X →Y ) ≤ 1.
I.3.1. Bài toán khai phá luật kết hợp
Xác
X⇒Y
nh t t c
X⇒Y th a mãn
c g i là lu t k t h p m nh.
h tr và
tin c y t i thi u thì lu t
9
I.3.2. Một số tính chất của tập mục thường xuyên
Cho cơ s d li u giao tác DB và ng ng h tr t i thi u minsup. Các t p m c th ng
xuyên có tính ch t sau:
(1)
N u X, Y là các t p m c và X ⊆ Y thì sup(X)
(2)
N u m t t p m c là không th
c ng là không th ng xuyên
(3)
N u m t t p m c là th
ng xuyên thì m i t p con khác r ng c a nó
c ng là t p m c th
ng xuyên
sup(Y)
ng xuyên thì m i t p cha c a nó
Tính ch t (3) là tính ch t quan tr ng, nó
c g i là tính ch t Apriori, tính
ch t này là cơ s
rút g n không gian tìm ki m các t p m c th
ng xuyên.
I.4.
Mô t bài toán khai phá lu t k t h p
Khai phá lu t k t h p là m t k
thu t quan tr ng c a khai phá d
li u. V n
này
c Rakesh Agrawal, Tomasz Imielinski, Arun Swami
xu t l n
u
vào n m 1993 [9]. Sau
ó n m 1996
c Rakesh Agrawal, Heikki Mannia,
Ramakrishnan Srikant, Hannu Toivonen, A.Inkeri Verkamo ti p t c c i ti n.
Ngày nay bài toán khai thác các lu t k t h p nh n
c r t nhi u s quan tâm
c a nhi u nhà khoa h c. Vi c khai thác các lu t nh th nào v n là m t trong các ph ơ
ng pháp khai thác m u ph bi n nh t trong vi c khám phá tri th c và khai thác d li u
(KDD – Knowledge Discovery and Data Minning).
M
c ích chính c a khai phá d
hi u qu và “thông minh” t kho d
li u là trích rút tri th c m t cách t
li u.
Trong ho t
siêu th , các nhà qu n lý r t thích có
nh : “90% ph n
hoa hi u Chanel” ho c “70% khách hàng là công nhân thì mua TV th
lo i 21 inches”. Nh
kinh doanh. V y v n
ng,
10
công c khai phá d li u hay không? Câu tr l i là hoàn toàn có th .
nhi m v khai phá lu t k t h p.
ó chính là
Gi s chúng ta có m t CSDL D. Lu t k t h p cho bi t ph m vi mà trong ó s xu
t hi n c a t p các thu c tính S nào ó trong các b n ghi (records) c a D s kéo theo s
xu t hi n c a m t t p nh ng thu c tính khác U c ng trong nh ng b n ghi ó. M i lu t k
t h p c c tr ng b i m t c p t l h tr (support ration). M i t l h tr c bi u di n b ng t l %
nh ng b n ghi trong D ch a c S và U.
khám phá lu t k t h p
Vn
Cho tr
c t l h tr (support ration) θ và
ánh s t t c
θ
c phát bi u nh sau:
tin c y (confidence) β
các lu t trong D có các giá tr t l
h tr và tin c y l n hơn
và β tơ ng ng.
Ví dụ: G i D là CSDL mua bán và v i θ = 40%, β = 90%
Vn
phá
Li t kê (
theo m t s
mc
Ch
xét nh
90%
Hay chúng ta hãy t
Các khách hàng
CSDL v
h
“tu i, gi
h
i tơ ng
là công nhân
mãn m t ng
ng
Cho cơ s
ng
i tín
ng v
n
tin c y minconf.
11
Yêu c u: Tìm t t c các lu t k t h p X
Y trên cơ s d li u DB sao cho
sup(X Y) minsup và conf(X Y) minconf
Bài toán khai phá lu t k t h p này c g i là bài toán cơ b n hay bài toán nh
phân, vì ây, giá tr c a m c d li u trong cơ s d li u là 0 ho c 1 (xu t hi n hay không
xu t hi n)
Bài toán khai phá luật
kết
hợp được chia thành 2 bài toán con.
Bài toán thứ nhất: Tìm t t c các t p m c th a mãn
c, t c là tìm t t c
tr
tìm
h tr t i thi u cho
Bài toán thứ hai: Sinh ra các lu t k t h
c th
a
Bài toán th
h t các nghiên c
tìm các t p m c th
Bài toán th
xuyên, ta sinh ra lu t k t h
a X\Y ⇒ Y có th
tin c y c
I.4.1.
Một số tiếp cận khai
Các nghiên c u v khai phá t p m c th
thu t toán m i ho c
Ph n này s
xuyên.
Bài toán khai phá t p m c th
các t p m c th
t p m c th
xuyên là t p m c có
có r t nhi u thu t toán tìm t p m c th
chúng theo 2 tiêu chí:
n
12
- Phơ ng pháp duy t qua không gian tìm ki m
- Phơ ng pháp xác
nh
h tr c a t p m c
Phơ ng pháp duy t qua không gian tìm ki m
c phân làm hai cách:
duy t theo chi u r ng (Breadth First Search - BFS) và duy t theo chi u sâu (Depth
First Search - DFS)
Duy t theo chi u r
các t p m c
ng viên có k m c. V i CSDL có n m c, l n l p th
ttc
mc
tr
c
attc
Duy t theo chi u sâu là duy t qua CSDL
d ng cây, quá trình duy t g
có n m c d
khó, do
viên.
Phơ ng pháp xác
th
ph n giao c
nh t là
I.4.2.
Một số tiếp cận
Lu t k t h p nh phân (binary association rule ho c boo
rule): là h
th
ik
lu t k t h
hi n trong giao tác c a CSDL ch không quan tâm v
d
: Trong h
cu
c
c xem là gi ng nhau. Thu t toán tiêu bi u nh t khai phá
là thu t toán Apriori và các bi n th
lu t khác c ng có th
r c hóa, m
13
ng = ‘yes’ => g i qu c t
tr 20% và
tin c y 80%.
di
=’yes’ AND g i d ch v
108 = ‘yes’, v i
h
Lu t k t h p có thu c tính s và thu c tính h ng m c (quantitative and
categorial association rule): Các thu c tính c a các CSDL th c t có ki u r t a d ng
(nh phân – binary, s - quantitative, h ng m c – categorial,…). phát
hi n lu t k t h
phơ ng pháp r
áp d ng các thu t toán ã có. M t ví d
‘T
ng’ AND gi
[‘200..300’] => g
80%”.
Lu t k t h p ti p c n theo h ng t p thô (mining association rules base on
rough set): Tìm ki m lu t k t h p d a trên lý thuy t t p thô.
Lu t k t h p nhi u (multi – level association rule): v i cách ti p c n theo lu t
này s tìm ki m thêm nh ng lu t d ng “mua máy tính PC => mua h i u hành AND
mua ph n m m ti n ích v n phòng,…” thay vì ch nh ng lu t quá c
th nh
“mua máy tính IBM PC => mua h
mua ph n m m ti n ích v n phòng Microsoft Office,..”. Nh
là d ng lu t t
nhau.
Lu t k t h p m (fuzzy association rule): v
trong quá trình r
nghiên c u
chuy n lu t k t h
ví d c
AND c
a d ng này là: “thuê bao t
c n i t nh = ‘yes’ => c
tin c y là 85%”. Trong lu t trên, i u ki n th i gian àm tho i l n v trái c a lu t là
m t thu c tính ã c m hóa.
Lu t k t h p v i thu c tính
c ánh tr ng s
(association rule with
weighted items): trong th c t , các thu c tính trong CSDL không ph i lúc nào
c ng có vai trò nh
hàng tháng, thông tin v th i gian
so v i thông tin v
s
gán th
g
i.
ây là h
xu t cách gi i quy t bài toán này. V i lu t k t h p có thu
tr
ng s
, chúng ta s
nh
ng có ý ngh a
i gian g
Khai thác lu t k t h p song song (parallel mining of association
Bên c nh khai thác lu t k t h p tu n t
nghiên c
u các thu t gi i song
c u song song hóa và x
càng l
n
òi h i t
c
m b o. Có r t nhi u thu t toán song so
không ph
thu c vào ph n c ng
c
a lu t k t h
nh m t ng t c
Ngoài ra, còn m t s
h
tr
thông
p nh
c ti p
: khai thác lu t k t h
n các kho d
qua công
(Multidimensional OLAP), ROLAP (Relational OLAP), ADO (Active X Data
Object) for OLAP…
I.5.
M t s thu t toán khai phá t p m c thư ng xuyên và lu t k
thp
I.5.1. Thuật toán AIS
Thu t toán hoàn toàn s d ng chi t p n l c “vét c n”, xem xét toàn b các h p t
p các m c và ch y ki m tra.
m c th ng xuyên b ng cách sinh t
I.5.2.
Thuật toán
c
xu t do m
C ng gi ng nh
các giao d ch
viên mà thu t toán AIS sinh ra. Tuy nhiên
SETM chia s phát sinh
I.5.3.
Thuật toán
Th c hi n trên c
danh. CHARM không tìm t t c
kth
p tìm t p
và t p m c th
tp
nh danh
vi c tính toán nhi u t p con không óng.
I.5.4.
Thuật toán
Ýt
ng chính c
tpm
c th
ng xuyên
mc
ng viên không th
thu t toán này là tính ch t Apriori “Bất kỳ tập con nào của tập mục thường
xuyên cũng phải là tập mục thường xuyên”. Thu t toán giúp t a b t nh
ng viên có t p con không th
c a thu t toán là chi phí sinh ra s
CSDL nhi u l n.
I.5.5.
Phát tri n t
thu t toán FP-growth [14] nh m kh c ph c nh
Apriori. Thu t toán này
thích h p vào m t c u trúc cây g
các nút c
dàn chia s
Thuật toán F
a cây
v i các nút xu
16
tri n (growth) t ng
o n d a trên cây FP-tree g i là phơ ng pháp FP-growth;
K thu t tìm ki m c dùng ây là d a vào s phân chia, “chia tr ”, phân rã nhi m v
khai phá thành nhi m v nh hơn.
I.6.
Thu t toán Apriori
Bước 1: m 1-t p m c
Bước lặp:
- K t h p các (k-1)-t p m c sinh ra t p
- T a các k t n i
xuyên d a trên
I.6.1
.
thu
ng viên Ck
c k-t p m c, xác
nh các t p m c th
ng
h tr .
Ý tưởng thuật toán Apriori
Apriori là m t gi i thu t c Rakesh Agrawal, Tomasz Imielinski, Arun Swami
xu t l n u vào n m 1993 [9]. Thu t toán tìm giao d ch t có h tr và tin c y th a mãn
l n hơn m t ng ng giá tr nào ó.
c t a b t nh ng t p
Thu t toán
xuyên tr c khi tính
h tr .
ng viên có t p con không th
ng
Thu t toán Apriori tính t t c các t p ng c c a t p k trong m t l n duy t CSDL.
Apriori d a vào c u trúc cây b m (hashtree). Tìm ki m i xu ng trên c u trúc cây m
i khi ta ch m vào lá, ta tìm c m t t p ng c viên có ti n t chung c bao g m trong các
giao d ch. Sau ó các t p ng c này c tìm trong giao d ch ã c ánh x tr c ó. Trong tr
ng h p tìm th y bi n m c t ng lên 1.
I.6.2
.
Thuật toán Apriori
Input: CSDL D, minsup.
Output: Tập các tập mục thường xuyên
L1= {Các 1-tập mục thường xuyên}
17
k=2;
While(Lk-1!=∅)
{ Ck = apriori_gen(Lk-1, minsup); //các ứng cử mới theo chương
trình con dưới đây.
for(∀ giao dịch t∈D)
{ Ct=Subset(Ck,t);//ứng cử viên được chứa trong t
for(∀ứng cử c∈Ct)
c.count++;
}
Lk={c∈Ck|c.count ≥ minsup}
k++;
}
Return L=∪kLk′;
//sinh tập ứng viên mới (**)
void apriori_gen(Lk-1, minsup)
{ for(∀itemset l1∈Lk-1)
for(∀itemset l2∈Lk-1)
if((L1(1)==L2(1)&&L1(2)==L2(2)&&…&&L1(k-2)==L2(k-2)
&&L1(k-1)==L2(k-1))
{ c=L1 kết nối với L2;
if(has_infrequent_subset(c, Lk-1)) delete c;
else add c to Ck;
18
}
Return Ck;
}
Boolean has_infrequent_subset(c,L k-1)
{ for(∀(k-1)-subset s ∈ c)
if(s ∉Lk-1)return TRUE;
else return FALSE;
}
I.6.3
.
Giải thích
L n duy t u tiên, s tính s l n xu t hi n c a m i m c ng xuyên. L xác nh các
o n:
1-t p m c th n duy t th k (k 2) s bao g m 2 giai
Giai đoạn 1: t p m c th
ng xuyên Lk-1 ã tìm th y
các l n duy t th
k-1
c s d ng
sinh ra các t p
ng c viên b ng vi c s
d ng hàm
apriori_gen. T p các k–t p m c ng viên Ck
c sinh ra b i vi c k t n i Lk-1
v i chính nó. Hai t p m c l1 và l2 c a Lk-1
c n i n u chúng có (k-2) m c d
li u u b ng nhau, m c d li u th k-1 c a l1 nh hơn c a l2.
(L1(1)==L2(1)&&L1(2)==L2(2)&&…&&L1(k-2)==L2(k-2)&&L1(k1)==L2(k-1)
Giai đoạn 2: D a vào CSDL, tính
Các
m t cách hi u qu
ng viên trong Ck mà
Trong giai
vài (k-1)–t p m c con c
t p nào Lk
vibtk
có
h tr
t i thi u,
m c có th và sau
n m trong Lk-1, ta s
Vi c k t n i là tơ ng ơ
CSDL và sau
b ng vi c xóa
V i l p lu n nh
t p mà các (k-1) t p con c a nó không n m trong Lk-1, c ng không xóa b t k m t t
p nào có th n m trong Lk.
Hàm Subset: các t p ng viên Ck
c a cây này ho c là ch
(m t nút trong). Trong m i nút trong, m i bucket c a b ng b m ch
khác. G c c a cây b m
nm
thêm m t t p c, ta b t
m t lá. T i m
d ng hàm b m
ng. T t c
nút lá v
t nút
các n
t quá ng
Bt
ut
giao d ch t nh
này
c ch a trong giao d ch t và b
t p k t qu
mong
b m m c I, ta b m trên m i m c i sau i trong t và áp d ng m t cách
t c này
ó
iv
theo m i m c trong t.
ý
trong giao d ch t, m
m c trong t
m c không n m trong t. Nh
Vì các m c trong b t k
th y
n nh ng gì s
m
20
nút hi n t i b ng vi c b m m c I, ta ch
trong t nó xu t hi n sau i.
//B c t a: Xóa b t t t c
không ph thu c Lk-1.
c n quan tâm
các t p m c c
n nh ng m c nh
hơn
∈ Ck mà (k-1) t p con c a c
for(∀ tập mục c ∈ Ck)
for(∀ (k-1 – tập con s của c)
if(s ∉ Lk-1)
delete c khỏi Ck;
I.7.
Thu t toán FP-Growth
Thu t toán Apriori g p ph i 2 chi phí l n:
- Chi phí sinh ra s l ng kh ng l các t p ng viên. Ví d , n u có 10 4 m c th ng
xuyên thì thu t toán Apriori s c n sinh ra hơn 107 các ng viên 2-t p m c và th c hi
n ki m tra h tr c a chúng.
- L p nhi u l n duy t CSDL, s
l n duy t CSDL c a thu t toán Apriori
b ng dài c a t p m c th ng xuyên dài nh t tìm c. Thu t toán Apriori ch phù h p v i
CSDL th a (sparse), v i CSDL dày (dense) thì thu t toán th c hi n kém hi u qu .
kh c ph
Yin và R. Mao
xây d ng v i 3 k
- Nén d
1-t p m c (1-itemset)
xu t hi n th
Th c hi n phơ ng pháp khai phá phát tri n (growth) t ng o n d a trên cây
FP-tree g i là phơ ng pháp FP-growth
21
- K thu t tìm ki m c dùng ây là d a vào s phân chia, “chia tr ”, phân rã
nhi m v khai phá thành các nhi m v nh hơn.
Do nén CSDL lên cây nên tránh vi c duy t nhi u l n CSDL. Phát tri n d n
các m u mà không sinh t p ng viên tránh c kh i l ng b nh l n. Tuy nhiên, thu t
toán FP-growth khai phá cây FP-tree s d ng phơ ng pháp quy nên òi h i kh i l ng
tính toán l n. N m 2003, nhóm tác gi Mohammad El-Hajj và Osmar R. Zaiane i
h c Alberta Edmonton, Canada xu t thu t toán không quy khai phá cây FP-tree d
a trên c u trúc cây COFI-tree [5]. Thu t toán COFI-tree có nhi u u i m h ơn thu t
toán FP-growth
Thu t toán COFI-tree g m 2 giai
o n chính.
- Gia đoạn thứ nhất: Xây d ng cây FP-tree
i
- Giai đoạn thứ hai: Khai phá cây FP-tree chia thành nhi u b ng c tơ ng
v i các m c d li u trong b ng u m c c a cây FP-tree, m i b m t c u trúc d c s d ng
li u ph tr là cây COFI-tree c a m c d li u ó.
M i nút c a cây FP-tree g m 3 tr
ng:
+ Tên m c d li u
+
h tr
+ M t con tr (Con tr này tr
null n u không có)
n nút ti p theo cùng tên trên cây ho c là
Cây FP-tree có m t b ng u m c (header table). M i m c c a b ng có 3 tr ng:
tên m c d li u, h tr và con tr , con tr này tr n nút u tiên
bi u di n m c d li u này trong cây.
Cây COFI-tree có b ng u m c gi ng cây FP-tree nh ng các m c d li u có th t
ng c l i. M i m c trong b ng u m c ch a 3 tr ng: tên m c d li u, h tr a phơ ng (s l n
xu t hi n trong cây COFI-tree) và con tr (tr n nút u tiên bi u di n m c d li u này
trong cây). M t danh sách liên k t c duy trì gi a các nút cùng tên thu n l i cho quá
trình khai phá. M i nút
22
c a cây COFI-tree có 4 tr ng: tên m c d li u, hai bi n s và p (bi n s bi u di n
h tr c a nút, bi n p cho bi t s
l n nút ó ã tham gia t o m u), con tr
(tr
n nút ti p theo cùng tên trên cây)
Minh h a thu t toán COFI-tree
Xét CSDL v i ng
Bảng 4. Cơ sở dữ liệu minh họa thực hiện thuật toán COFI-tree
Giai đoạn 1. Xây d ng cây FP-tree
Duy t CSDL l n th nh t tính
các m c d li u không th a mãn ng h
tr các m c
c h tr c a m i m c d li u, lo i b ng
minsup = 3, s p x p gi m d n theo
M c d li u
A
B
C
D
E
F
Bảng 5. Các mục dữ liệu và độ hỗ trợ
M c d li u
C
A
B
D
Bảng 6. Các mục dữ liệu thường xuyên đã sắp thứ tự