KHAI THÁC
D LI U &
NG D NG
(DATA MINING)
GV : NGUY N HOÀNG TÚ ANH
1
BÀ I 4
KHAI THÁC
CHU I TU N T
2
1
N I DUNG
1.
2.
3.
Gi i thi u
Khái ni m cơ b n
Thu t toán GSP khai thác
chu i tu n t
3
GI I THI U
Th t (theo th i gian): quan tr ng
CSDL chu i th i gian (time-series DB) , CSDL chu i (sequence
DB)
T p (m u) ph bi n → M u tu n t ph bi n (sequental pattern)
ng d ng c a khai thác m u tu n t
Chu i m t hàng :
Mua máy tính, sau ó mua CD-ROM, sau ó mua máy camera
k thu t s trong vịng 3 tháng
Chăm sóc b nh nhân, t i h a t nhiên ( ng t), qui trình k
thu t, th trư ng và ti p th ,…
Cu c g i i n tho i, Weblog
Chu i DNA và c u trúc gen
4
2
VÍ D D
CSDL
chu i
LI U CHU I
Chu i
Ph n t
(giao d ch)
S ki n
(h ng m c)
Khách hàng
Quá trình mua hàng c a
khách hàng
T p các m t hàng ư c Sách, s tay, CD, …
khách hàng mua vào
th i i m t
D li u Web
Ho t ng duy t web c a
ngư i s d ng
T p các file ã xem (
sau khi nh p chu t )
Trang ch , trang
index , thông tin liên
l c, …
Chu i gen
Chu i DNA
Ph n t c a chu i DNA
T h p c a A,T,G,C
Ph n t
(Giao d ch)
E1
E2
E1
E3
Chu i
E2
E2
E3
E4
S ki n
(H ng
m c)
5
N I DUNG
1.
2.
3.
Gi i thi u
Khái ni m cơ b n
Thu t toán GSP khai thác
chu i tu n t
6
3
KHÁI NI M CƠ B N
1.
CHU I (Sequence)
Chu i là danh sách các ph
th t .
M i ph n t c a chu i : t
m c)
Các s ki n trong m t ph
(thư ng vi t theo b ng ch
Ký hi u :
n t
( giao d ch) có
p các s
ki n (h ng
n t khơng có th t
cái)
Chu i s = < s1 s2 … sn > v i sj là t p các s ki n.
sj - g i là ph n t c a chu i s và có d ng (x1x2 …
xm ) v i xj là m t s ki n (h ng m c)
VD : < C (M,P) (S,T) > là m t chu i có chi u dài =5 và
có 3 ph n t
7
KHÁI NI M CƠ B N
CHU I (tt)
Chu i si = < a1 a2 … an > là chu i con c a chu i sj =
< b1 b2 … bm > n u :
n≤m
∃ các s nguyên i1 < i2 <…
a2 ⊆ bi2 , … , an ⊆ bin
Chu i d li u
Chu i con
Thu c ?
< {2,4} {3,5,6} {8} >
< {2} {3,5} >
Có
< {1,2} {3,4} >
< {1} {2} >
Khơng
< {2,4} {2,4} {2,5} >
< {2} {4} >
Có
8
4
KHÁI NI M CƠ B N
CSDL CHU I
Cho CSDL D
Ví d :
SID
Sequence
100
<a(a,b,c)(a,c)d(c,f)>
200
<(a,d)c(b,c)(a,e)>
300
<(e,f)(a,b)(d,f)c,b>
400
Mã
KH
Mã hàng
Ngày
mua
100
100
100
100
100
a
a, b, c
a, c
d
c, f
10
15
20
25
30
200
200
200
200
a, d
c
b, c
a, e
15
20
25
30
300
e, f
…
20
400
2.
e, g
…
10
<eg(a,f)cbc>
9
KHÁI NI M CƠ B N
2.
CSDL CHU I (tt)
Cho CSDL chu i D ={ d1, d2, …, dn}
ph bi n c a chu i s trên CSDL D là t l gi a s
chu i ch a s trên t ng s chu i trong D
Supp(s)= |{di ∈ D | s là chu i con c a di }| / |D|
Ví d :
s = <(a,b) c>
SID
Sequence
Supp(s) = 2/4 = 50%
100
<a(a,b,c)(a,c)d(c,f)>
s1 = <c (a,b)>
200
<(a,d)c(b,c)(a,e)>
s2 = <c a>
s3 = <a b c>
Supp(s1) =?
Supp(s2) =?
Supp(s3) =?
300
<(e,f)(a,b)(d,f)cb>
400
<eg(a,f)cbc>
10
5
KHÁI NI M CƠ B N
BÀI TOÁN KHAI THÁC CHU I TU N T
Cho CSDL chu i và ngư ng minsupp, c n
tìm tồn b các chu i con ph bi n th a
mãn minsupp ã cho.
3.
Ví d : CSDL chu i D và minsupp = 50% = 2/4
SID
Sequence
100
<a(a,b,c)(a,c)d(c,f)>
200
<(a,d)c(b,c)(a,e)>
300
<(e,f)(a,b)(d,f)cb>
400
<eg(a,f)cbc>
• Chu i con s = <(a,b) c> là
chu i tu n t ph bi n
• Các chu i s1 = <c (a,b)>,
s2 = <c a>, s3 = <a b c> có
ph i là chu i ph bi n ?
11
KHÁI NI M CƠ B N
4. THÁCH TH C
T n t i m t s lư ng l n chu i tu n t ph
bi n b d u trong CSDL
Thu t toán khai thác c n
Tìm tồn b các m u th a mãn ngư ng
minsupp
Hi u qu , co dãn, s l n duy t CSDL nh
Có th k t h p v i nhi u lo i ràng bu c c a
ngư i dùng.
12
6
KHÁI NI M CƠ B N
5. NGHIÊN C U
nh nghĩa khái ni m và thu t toán
gi ng thu t toán Apriori ( Apriori-All)
- 1995.
GSP – Phương pháp khai thác d a
trên tính ch t Apriori - 1996
Phương pháp phát tri n m u :
PrefixSpan - 2001
13
KHÁI NI M CƠ B N
6.
Tính ch t cơ b n c a chu i tu n t
Tính ch t Apriori :
N u S là chu i khơng ph bi n thì khơng có
chu i bao (super-sequence) nào c a S là ph
bi n
Ví d : Trong CSDL dư i, n u <hb> là chu i không ph
bi n → <hba>, <hab> và <(a,h)b> cũng không ph bi n
Seq. ID
10
20
30
40
50
Sequence
<(b,d)cb(a,c)>
<(b,f)(c,e)b(f,g)>
<(a,h)(b,f)abf>
<(b,e)(c,e)d>
<a(b,d)bcb(a,d,e)>
minsupp = 2
14
7
N I DUNG
1.
2.
3.
Gi i thi u
Khái ni m cơ b n
Thu t toán GSP khai thác
chu i tu n t
15
THU T TOÁN GSP
1.
B N CH T
GSP : Generalized Sequential Pattern- Agrawal & Srikant,
EDBT’96
Duy t CSDL
tìm các chu i ph bi n có
dài 1.
For m i c p ( chu i có
dài k)
T o các chu i ng viên có
dài (k+1) t các chu i
ph bi n chi u dài k (s d ng Apriori)
Duy t CSDL
m
ph bi n c a t ng chu i ng
viên và lo i các ng viên không th a mãn ngư ng
minsupp
L p l i
n khi khơng cịn chu i ph
ng viên
S d ng tính ch t Apriori
bi n ho c khơng cịn
c t b t ng viên
16
8
VÍ D THU T TỐN GSP
Các ng viên
C1
Seq. ID
10
20
30
40
50
<a>
3
<b>
5
<c>
4
<d>
3
<e>
3
2
1
<h>
Sequence
<(b,d)cb(a,c)>
<(b,f)(c,e)b(f,g)>
<(a,h)(b,f)abf>
<(b,e)(c,e)d>
<a(b,d)bcb(a,d,e)>
Sup
<g>
<a>, <b>, <c>, <d>, <e>, <f>, <g>, <h>
Duy t CSDL
tính
ph bi n c a t ng
ng viên và tìm F1
-> F1 = <a>, <b>, <c>, <d>, <e>, <f>
Cand
<f>
u tiên C1 :
1
minsupp =2
17
VÍ D THU T TOÁN GSP
T o các ng viên C2 : = phép k t
Các chu i chi u dài = 2 và có 2 ph n t
<a>
<b>
<c>
<d>
<e>
<f>
<a>
<aa>
<ab>
<ac>
<ad>
<ae>
<af>
<b>
<ba>
<bb>
<bc>
<bd>
<be>
<bf>
<c>
<ca>
<cb>
<cc>
<cd>
<ce>
<cf>
<d>
<da>
<db>
<dc>
<dd>
<de>
<df>
<e>
<ea>
<eb>
<ec>
<ed>
<ee>
<ef>
<f>
<fa>
<fb>
<fc>
<fd>
<fe>
<ff>
18
9
VÍ D THU T TỐN GSP
T o các ng viên C2 (tt)
Các chu i chi u dài = 2 và có 1 ph n t
T ng c ng có 51 chu i ng viên chi u dài =2
<a>
<a>
<b>
<c>
<d>
<e>
<b>
<c>
<d>
<e>
<f>
<(a,b)>
<(a,c)>
<(a,d)>
<(a,e)>
<(a,f)>
<(b,c)>
<(b,d)>
<(b,e)>
<(b,f)>
<(c,d)>
<(c,e)>
<(c,f)>
<(d,e)>
<(d,f)>
<(e,f)>
<f>
19
VÍ D THU T TOÁN GSP
Xác
nh t p chu i ph bi n F2
Duy t CSDL và xác nh
ph bi n
c a t ng chu i ng viên chi u dài = 2
Có 19 ng viên có
ph bi n
≥ minsupp (=2)
> T p chu i ph bi n F2 g m có
19 chu i
20
10
VÍ D THU T TỐN GSP
<a>
<b>
<c>
<d>
<e>
<f>
<a>
<aa>
Supp=2
<ab>
2
<ac>
1
<ad>
1
<ae>
1
<af>
1
<b>
<ba>
<bb>
<bc>
<bd>
<be>
<bf>
<c>
<ca>
<cb>
<cc>
<cd>
<ce>
<cf>
<d>
<da>
<db>
<dc>
<dd>
<de>
<df>
<e>
<ea>
<eb>
<ec>
<ed>
<ee>
<ef>
<f>
<fa>
<fb>
<fc>
<fd>
<fe>
<ff>
21
VÍ D THU T TỐN GSP
<a>
<a>
<b>
<c>
<d>
<e>
<b>
<c>
<d>
<e>
<f>
<(a,b)>
Supp=0
<(a,c)>
1
<(a,d)>
1
<(a,e)>
1
<(a,f)>
0
<(b,c)>
0
<(b,d)>
2
<(b,e)>
1
<(b,f)>
2
<(c,d)>
<(c,e)>
<(c,f)>
<(d,e)>
<(d,f)>
<(e,f)>
<f>
22
11
VÍ D THU T TỐN GSP
T o t p ng viên C3
Dùng phép k t : F2 v i F2
Ví d : <ab>, <aa> và <ba> : chu i ph bi n
chi u dài = 2
<aaa>, <aba>, <aab>, <bab>,
<baa> - ng viên chi u dài = 3
<(b,d)>, <bb> và <db> chu i ph bi n chi u
dài=2
<(b,d)b>, <b(b,d)>, <bbb>, <d(b,d)>,
<dbb>- ng viên chi u dài = 3
Phép lo i b : d a trên tính ch t Apriori
Có 46 ng viên chi u dài = 3
23
VÍ D THU T TỐN GSP
Tìm t p chu i ph bi n F3
Duy t CSDL và xác nh
ph bi n
c a t ng chu i ng viên chi u dài = 3
Có 19
ng viên có
ph bi n
≥ minsupp
> T p chu i ph
chu i
bi n F3 g m 19
24
12
VÍ D THU T TỐN GSP
5th scan: 1 cand. 1 length-5
seq. pat.
<(b,d)cba>
4th scan: 8 cand. 6 length-4
seq. pat.
Supp(Cand.)< minsupp
<
<abba> <(b,d)bc> …
3rd scan: 46 cand. 19 length-3
seq. pat. 20 cand. not in DB at
all
2nd scan: 51 cand. 19 length-2
seq. pat. 10 cand. not in DB at
all
1st scan: 8 cand. 6 length-1
seq. pat.
minsupp =2
Cand. ∉ CSDL
<abb> <aab> <aba> <baa> <bab> …
<aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)>
<a> <b> <c> <d> <e> <f> <g> <h>
Seq. ID
10
20
30
40
50
Sequence
<(b,d)cb(a,c)>
<(b,f)(c,e)b(f,g)>
<(a,h)(b,f)abf>
<(b,e)(c,e)d>
<a(b,d)bcb(a,d,e)>
25
THU T TOÁN GSP
2.
Pseudo-Code
Input : CSDL chu i D, minsupp
Output : F - các chu i tu n t ph bi n trong D
Ck : T p chu i ng viên chi u dài k
Fk : T p chu i ph bi n chi u dài k
F1 = Tìm_chu i_ph _bi n_chi u dài 1(D); // có d ng <x>
for (k = 1; Fk ≠∅; k++) {
Ck+1 = apriori_gen(Lk); // T o t p chu i ng viên chi u dài
(k+1)
if Ck+1 ≠∅ then
{ Duy t CSDL
tính Fk+1 = { s ∈ Ck+1 | supp(s)≥
minsupp }
}
}
26
return F = ∪k Fk;
13
THU T TOÁN GSP
3.
T o t p chu i
ng viên chi u dài (k+1)
Hàm apriori_gen nh n Fk và tr v t p chu i
(k+1). G m 2 bư c : k t và c t b
Bư c k t :
Chu i s1 k t v i chu i s2 n u
ng viên chi u dài
Chu i s1 sau khi b b t i 1 h ng m c u tiên thì
gi ng như
Chu i s2 b b t 1 h ng m c cu i cùng
K t qu phép k t = chu i s1 m r ng thêm 1 h ng
m c cu i cùng c a chu i s2 . H ng m c thêm này
có th t o thành m t ph n t m i trong s1 n u nó
là ph n t riêng bi t thu c s2, ngư c l i là m t
thành viên c a ph n t cu i cùng c a s1
Bư c c t b : lo i các chu i
khơng ph bi n
ng viên có ch a các chu i con
VÍ D T O T P CHU I
27
NG VIÊN
Gi s
F3 = {<(1,2) 3>, <(1,2) 4>, <1(3,4)>,
<(1,3) 5>, <2 (3,4)>, <2 3 5>}
Sau bư c k t :
C4 = {<(1,2) (3,4)>, <(1,2) 3 5>}
<(1,2) 4> không k t ư c v i chu i nào khác vì
khơng t n t i chu i có d ng <2 (4,x) > ho c
<2 4 x>
Sau bư c lo i b t :
C4 = {<(1,2) (3,4)>}
vì <1 3 5> ∉ F3 nên <(1,2) 3 5> b lo i
28
14
BÀI T P XD
T P CHU I NG VIÊN
• Th i gian : 7’
• Gi s
chu i
• Xác
F3 là t p g m 7
nh t p ng viên C4
• Trình bày k t qu trư c l p
F3
< {1} {2} {3} >
< {1} {2 5} >
< {1} {5} {3} >
< {2} {3} {4} >
< {2 5} {3} >
< {3} {4} {5} >
< {5} {3 4} >
29
ÁP ÁN BÀI T P XD
T P CHU I NG VIÊN
F3
< {1} {2} {3} >
< {1} {2 5} >
< {1} {5} {3} >
< {2} {3} {4} >
< {2 5} {3} >
< {3} {4} {5} >
< {5} {3 4} >
30
15
H N CH C A GSP
S lư ng kh ng l t p chu i ng viên ( c
bi t chu i có chi u dài = 2)
Duy t CSDL nhi u l n
Không hi u qu khi khai thác các chu i dài
-> M t trong các cách gi i quy t : PrefixSpan
(t
c trong tài li u tham kh o)
31
BÀI T P T I L P
Th i gian : 10’
Cho CSDL chu i và minsupp = 4
Tìm các t p ng viên và t p chu i ph bi n
Seq. ID
Sequence
10
<(b,d)cb(a,c)>
20
<(b,f)(c,e)b(f,g)>
30
<(a,h)(b,f)abf>
40
<(b,e)(c,e)d>
50
<a(b,d)bcb(a,d,e)>
32
16
ÁP ÁN BÀI T P T I L P
33
BÀI T P
1.
2.
Cho CSDL chu i D
và minsupp = 50%.
Xác nh t p chu i
ph bi n trên D .
Có th áp d ng ý
tư ng thu t tốn
FP-Growth vào bài
tốn tìm chu i ph
bi n không và như
th nào ?
Mã
KH
Mã hàng
Ngày
mua
10
10
10
10
a, d
a, b, c
a, b,f
a,c,d,f
10
15
20
25
20
20
a, b,f
e
15
20
30
a,b, f
10
40
40
40
d,g,h
b,f
a,g,h
10
20
25
34
17
TÀI LI U THAM KH O
1.
2.
3.
4.
R. Srikant, R. Agrawal . Mining sequential patterns :
Generalizations and perfomance improvements.
EDBT’96.
J. Han J. Pei. Pattern Growth Methods for
Sequential Pattern Mining : Principles and
Extensions, ACM SIGKDD 2001, USA.
: Demo m t s thu t
toán tìm t p ph bi n và chu i ph bi n
:
Chương trình m t s thu t tốn và ph n m m cơ
b n c a các bài toán trong khai thác d li u
35
Q&A
36
18