Bài toán khai thác tập phổ biến
Trang 1KHAI THÁC
DỮ LIỆU &
ỨNG DỤNG
(DATA MINING)
GV : NGUYỄN HOÀNG TÚ ANH
2
B
BÀ À ÀI 3 I 3 I 3 PH PH PHẦN 2 N 2
KHAI THÁC TẬP PHỔ BIẾN &
LUẬT KẾT HỢP
3
NỘI DUNG
1 Gii thiu
biến
4
GIỚI THIỆU
Bài toán khai thác tập phổ biến là bài toán rất quan trọng lĩnh vực KTDL : vạch ra tính chất ẩn, quan trọng của tập DL
Tất cả các tập con của tập phổ biến đều là tập phổ biến
Tập phổ biến tối đại, tập bao phổ biến Bài toán khai thác LKHlà bài toán tìm tt c
các luật dạngX ⇒⇒Y (X, Y ⊂ I và X ∩Y ={})
thỏa mãn độ phổ biến và độ tin cậy tối thiểu
supp (X ⇒⇒Y ) ≥≥≥ minsupp
conf (X ⇒⇒Y ) ≥≥≥ minconf
Trang 2GIỚI THIỆU
Bài toán khai thác tp ph bin là bài toán tìm
tt c các tp các hng m c S (hay tp ph
ti thiu minsupp
supp(S) ≥minsupp
Cách giải quyết : dựa trên tính chất của tập phổ
biến
Tìm kiếm theo chiều rộng : Thuật toán Apriori
(1994)
Phát triển mẫu : Thuật toán FP-Growth
(2000)
Tìm kiếm trên CSDL hàng dọc : Thuật toán
GIỚI THIỆU
Các hạn chế của Thuật toán Apriori
Phải duyệt CSDL nhiều lần Khi khai thác các mẫu dài cần duyệt CSDL nhiều lần và tạo lượng lớn tập ứng viên
Ví dụ : Để tìm tập phổ biến i1 i2… i100 :
• Số lần duyệt CSDL : 100
• Số lượng ứng viên : 2 100 -1 = 1.27*10 30 ! Vấn đề : tạo ứng viên và kiểm tra
Có thể tránh việc tạo ứng viên hay không ?
7
NỘI DUNG
1 Giới thiệu
ph bin
3 Độ đo tính lý thú
8
THUẬT TOÁN FP-GROWTH
Khai thác tập phổ biến không
sử dụng hàm tạo ứng viên.
Nén CSDL thành cấu trúc cây
FP (Frequent Patern)
Duyệt đệ qui cây FP để tạo tập phổ biến
Trang 3THUẬT TOÁN FP-GROWTH
2. QUI TRÌNH
B0 : Thit lp cây FP
B1 : Thiết lập cơ sở mẫu điều kiện
(conditional pattern bases) cho mỗi hạng
mục phổ biến (mỗi nút trên cây FP)
B2 : Thiết lập cây FP điều kiện (conditional
FP tree) từ mỗi cơ sở mẫu điều kiện
B3 : Khai thác đệ qui cây FP điều kiện và
phát triển mẫu phổ biến cho đến khi cây FP
điều kiện chỉ chứa 1 đường dẫn duy nhất
Header Table
Item frequency head
minsupp = 60%
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
1 Tìm tập phổ biến 1- hạng mục (duyệt CSDL 1 lần)
2 Sắp xếp tập phổ biến giảm dần vào trong F-list
3 Sắp xếp CSDL theo F-list Duyệt CSDL lần nữa và thiết lập cây FP F-list=f-c-a-b-m-p
11
Header Table
Item frequency head
minsupp = 3
1 Tìm tập phổ biến
1-hạng mục (duyệt CSDL 1
lần)
2 Sắp xếp tập phổ biến
giảm dần vào trong
F-list
3 Duyệt CSDL lần nữa và
thiết lập cây FP
F-list=f-c-a-b-m-p
{}
f:1 c:1 a:1 m:1 p:1
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
12
Header Table
Item frequency head
minsupp = 3
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
1 Tìm tập phổ biến 1-hạng mục (duyệt CSDL 1 lần)
2 Sắp xếp tập phổ biến giảm dần vào trong F-list
3 Duyệt CSDL lần nữa và thiết lập cây FP
F-list=f-c-a-b-m-p
{}
f:2 c:2 a:2 b:1 m:1 p:1 m:1
Trang 4Header Table
Item frequency head
minsupp = 3
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
1 Tìm tập phổ biến
1-hạng mục (duyệt CSDL 1
lần)
2 Sắp xếp tập phổ biến
giảm dần vào trong
F-list
3 Duyệt CSDL lần nữa
và thiết lập cây FP
F-list=f-c-a-b-m-p
{}
f:3 c:2 a:2 b:1 m:1 p:1 m:1 b:1
14
Header Table
Item frequency head
minsupp = 3
1 Tìm tập phổ biến 1-hạng mục (duyệt CSDL 1 lần)
2 Sắp xếp tập phổ biến giảm dần vào trong F-list
3 Duyệt CSDL lần nữa
và thiết lập cây FP
F-list=f-c-a-b-m-p
{}
f:4 c:1 b:1 p:1
b:1 c:3 a:3 b:1 m:2 p:2 m:1
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
15
Bài tập theo nhóm
• Thời gian : 15’
• Trình bày kết quả ra giấy
theo nhóm
•Yêu cầu: Xây dựng cây
FP từ CSDL bên với
minsupp = 25 %
• Nếu Minsupp = 40% thì
cây FP sẽ thay đổi như thế
Qui định trình bày bài nộp
Bài tập nộp theo nhóm
Ngày nộp :
Tên nhóm : ( chỉ ghi tên các thành viên có mặt)
– Thành viên 1:
– Thành viên 2:
– … – Thành viên 12:
Nội dung :
Trang 5ĐÁP ÁN
18
Xây dng cơ s mu điu kin (Conditional pattern base)
– Bắt đầu từ mẫu phổ biến cuối bảng của cây FP
– Duyệt cây FP theo kết nối của mỗi hạng mục phổ biến (VD hạng mục p)
– Gom tất cả đường dẫn tiền tố biến đổi (transformed prefix) của hạng mục (p) để tạo cơ sở mẫu điều kiện (của p)
Conditional pattern bases item cond pattern base
b fca:1, f:1, c:1
m fca:2, fcab:1
p fcam:2, cb:1
{}
b:1 p:1
b:1
c:3 a:3
b:1
m:2 p:2 m:1
Header Table
Item frequency head
19
Xây dựng cây FP-điều kiện
–Vi mi cơ s mu :
• Đếm số lượng mỗi mẫu trong cơ sở mẫu
•Thit lp cây FP cho tp ph bin ca mu cơ s
p-conditional FP-tree {}
Header Table
Item frequency head
c 3
VD : Với cơ cở mẫu điều kiện cho p là : {fcam:2, cb:1}
c:3
minsupp = 3
20
Ví dụ : m-conditional pattern base: fca:2, fcab:1
{}
f:3 c:3 a:3
m-conditional FP-tree
{}
f:4 c:1 b:1 p:1 b:1
c:3 a:3 b:1 m:2
p:2 m:1
Header Table
Item frequency head
Xây dựng cây FP-điều kiện
–Vi mi cơ s mu :
• Đếm số lượng mỗi mẫu trong cơ sở mẫu
• Thit lp cây FP cho tp ph bin ca mu cơ s
minsupp = 3
Trang 6VÍ DỤ
{ } { }
f
{ (f:3) } | c { (f:3) }
c
{ (f:3, c:3) } | a { (fc:3) }
a
{ } { (fca:1), (f:1), (c:1) }
b
{ (f:3, c:3, a:3) } | m { (fca:2), (fcab:1) }
m
{ (c:3) } | p { (fcam:2), (cb:1) }
p
Conditional FP-tree Conditional pattern-base
Item
22
Nguyên lý mở rộng mẫu phổ biến
Dựa trên tính chất mở rộng mẫu : – Giả sử α là tập phổ biến trong CSDL, B là α's conditional pattern base, và β một tập các hạng mục trong B
– Khi đóα ∪ β là tập phổ biến trong CSDL khi và
“abcdef ” là mẫu phổ biến khi và chỉ khi
– “abcde ” là mẫu phổ biến, và – “f ” là phổ biến trong tập các giao dịch chứa “abcde”
23
Xác định tập phổ biến
–Giả sử cây FP T có một đường dẫn đơn (single path) P
• Tp mu ph bin cui cùng ca T sinh ra bng cách lit kê
tt c các t hp ca sub-paths thuc P
–Nếu cây FP có nhiều nhánh thì :
• Thực hiện việc phân chia cây thành các cây có một đường
dẫn đơn
• Thut toán đ qui : gi FP_Growth(FP-tree, null)
{}
f:3
c:3
a:3
m-conditional FP-tree
Tất cả mẫu phổ biến
liên quan đến m
m,
fm, cm, am, fcm, fam, cam, fcam
24
// Đầu tiên, gọi FP_growth(FP-tree, null)
procedure FP_growth(Tree, α )
If cây FP chứa 1 path P then
– For mỗi tổ hợp β của nốt trên P
trong β);
Else for mỗi αitrên header của cây – Tạo mẫu β= αi∪ α với supp =supp αi; – Thiết lập β’s conditional pattern base and
β’s conditional FP-tree treeβ
– If treeβ≠ ∅, gọi FP_growth(treeβ, β)
Trang 7TT FP-GROWN & TT APRIORI
0
10
20
30
40
50
60
70
80
90
100
Support threshold(%)
D1 FP-grow th runtime D1 Apriori runtime
Data set T25I20D10K
26
VD : LUẬT KẾT HỢP
27
VD : LUẬT KẾT HỢP
28
NỘI DUNG
biến
3. Đ đo t ính lý thú
Trang 8ĐỘ ĐO TÍNH LÝ THÚ
1 Thế nào là luật hay, lý thú ?
sinh ra quá nhiều luật.
2. Độ đo khách quan :
o Độphổ biến (supp) và độ tin cậy (conf)
o Còn khoảng 20 độ đo khác
3 Độ đo chủquan :
o LKH là lý thú nếu là điều mới lạ, gây ngạc nhiên
hoặc / và
o Có khả năng ứng dụng
30
ĐỘ ĐO TÍNH LÝ THÚ
– Trong 5000 sinh viên
• 3000 chơi bóng rổ
• 3750 ăn ngũ cốc
• 2000 chơi bóng rổ và ăn ngũ cốc
– Luật KH : Chơi bóng rổ ⇒ Ăn ngũ cốc [40%, 66.7%]
là sai lầm vì % SV ăn ngũ cốc là 75% > 66.7%.
–Lut KH : Chơi bóng r ⇒ Không ăn ngũcc [20%, 33.3%] có ý nghĩa thc ti(n hơn m)c dù có đ supp và conf thp hơn
basketball not basketball sum(row)
31
100 10 90
80 5 75 Tea
20 5 15 Tea
Coffee Coffee
Ví dụ 2 :
Luật kết hợp : Tea →→→ Coffee
Conf= P(Coffee|Tea) = 15/20 = 0.75
nhưng P(Coffee) = 0.9
⇒Mặc dù độ tin cậy cao nhưng luật làm cho lạc
hướng
⇒ P(Coffee|Tea) = 75/80= 0.9375
ĐỘ ĐO TÍNH LÝ THÚ
32
ĐỘ ĐO TÍNH LÝ THÚ
Cần độ đo sự phụ thuộc hay mối tương quan giữa các sự kiện
Một số độ đo khác:
)]
( 1 )[
( )]
( 1 )[
(
) ( ) ( ) , (
) ( ) ( ) , (
) ( ) ( ) , (
) ( )
| (
Y P Y P X P X P
Y P X P Y X P t
coefficien
Y P X P Y X P PS
Y P X P Y X P Interest
Y P X Y P Lift
−
−
−
=
−
−
=
=
=
φ
Trang 9ĐỘ ĐO TÍNH LÝ THÚ
Độ đo mối tương quan Interest
– X và Y tương quan nghịch, nếuInterest<1;
Ngược lại X và Y tương quan thuận
– Ví dụ 1 :
89 0 5000 / 3750
* 5000 / 3000
5000 / 2000 )
,
(
interestB C = =
33 1 5000 / 1250
* 5000 / 3000
5000 / 1000 )
,
(
interestB ¬C = =
• Tự tính độ đo interest cho các luật
TÓM TẮT
1 Bài toán khai thác tập phổ biến và luật kết hợp: quan trọng và rất được quan tâm.
2. Thuật toán tiêu biểu tìm tập phổ biến:
Apriori và FP-Growth
3 Độ đo tính lý thú : vấn đề cần nghiên cứu sâu hơn.
4. Rất nhiều vấn đề còn đang mở : phân tích mối kết hợp trong các loại DL khác :
DL không gian, hình ảnh, đa phương tiện, thời gian thực, …
35
BÀI TẬP PHẦN 2
1. Cho CSDL bên
Xây dựng cây FP với
minsupp = 30 %
Xây dựng cây FP với
minsupp = 50 %
Tính độ phổ biến, độ
tin cậy, độ đo
Interest của các luật
sau :
A -> B
B -> C
D -> A
36
2 Cho CSDL sau và minsupp=50%, minconf=80%
a) Tìm tất cả các tập phổ biến, tập phổ biến tối đại, tập bao phổ biến sử dụng thuật toán FP-Growth
b) So sánh kết quả và tính hiệu quả với thuật toán Apriori (Bài tập phần 1)
Items_bought
K, A, D, B, C, I
D, A, C, E, B
C, A, B, E, D
B, A, D, I
Date 15/1/03 15/1/03 19/1/03 25/1/03
TID 100 200 300 400 BÀI TẬP PHẦN 2
Trang 103 Cho CSDL sau và minsupp=30%, minconf=50%
BÀI TẬP PHẦN 2
38
a) Tìm tất cả các tập ứng viên và tập phổ biến, tập phổ biến tối đại, tập bao phổ biến sử dụng lần lượt thuật toán Apriori và thuật toán Fp-Growth
đã cho
BÀI TẬP PHẦN 2
39
TÀI LIỆU THAM KHẢO
1 J Han, J Pei, and Y Yin Mining
frequent patterns without candidate
generation SIGMOD'00, 1-12, Dallas,
TX, May 2000
2 J.Han, M.Kamber, Chương 5 – Data
mining : Concepts and Techniques –
3 P.-N Tan, M Steinbach, V Kumar,
Chương 6 - Introduction to Data Mining
40
BÀI TẬP TẠI LỚP
Thời gian: 25’
Cho CSDL giao dịch bên
1 Sử dụng thuật toán FP-Grown để tìm các tập phổ biến với minsupp = 22 %
2 So sánh với kết quả của bài tập
M1, M2, M3, M5 800
M1, M3 700
M2, M3 600
M1, M3 500
M1, M2, M4 400
M2, M3 300
M2, M4 200
M1, M2, M5 100
Items Tid
Trang 11Q & A A
...BÀI TẬP PHẦN 2
38
a) Tìm tất tập ứng viên tập phổ biến, tập phổ biến tối đại, tập bao phổ biến sử dụng thuật toán Apriori thuật toán Fp-Growth... minconf=80%
a) Tìm tất tập phổ biến, tập phổ biến tối đại, tập bao phổ biến sử dụng thuật toán FP-Growth
b) So sánh kết tính hiệu với thuật toán Apriori (Bài tập phần 1)
Items_bought...
TĨM TẮT
1 Bài toán khai thác tập phổ biến luật kết hợp: quan trọng quan tâm.
2. Thuật tốn tiêu biểu tìm tập phổ biến:
Apriori