Tải bản đầy đủ (.docx) (69 trang)

Các tập mục thường xuyên trong khai phá dữ liệu và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (469.06 KB, 69 trang )

ĐẠ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:


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


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ự


×