You are on page 1of 8

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP


– LÝ THUYẾT
KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG

Giáo viên hướng dẫn: Nguyễn Thị Anh Thư

Sinh viên thực hiện: Nguyễn Trung Bảo Anh – 17520245

Vũ Lễ Hoàng Phúc – 17520913

Trần Dương Kha – 17520602


I. Phần câu hỏi

1. Hãy tìm hiểu trong tài liệu tham khảo (slide 38 trong Bài 3 – Phần 1) và trình bày chi tiết một
phương pháp cải tiến quá trình tìm luật kết hợp từ tập phổ biến (cải tiến Bước 2 trong qui trình
khai thác luật kết hợp. Không phải trình bày cải tiến thuật toán tìm tập phổ biến). Giải thích vì
sao nó hiệu quả hơn.

2. Cho CSDL sau và minsupp=50%, minconf=80%.

a. Sử dụng thuật toán Apriori để tìm tất cả các tập phổ biến. Sử dụng thuật toán Fp-Growth để
tìm tất cả các tập phổ biến. So sánh kết quả. Liệt kê tập phổ biến tối đại, tập phổ biến đóng.

b. Tìm tất cả LKH có dạng (item 1^ item 2 => item 3) thỏa mãn ngưỡng minsupp và minconf đã
cho.

c. Tính giá trị lift và conviction cho các luật kết hợp ở câu b.

II. Phần bài làm

1.

Qui trình khai thác luật kết hợp gồm 2 bước:

Bước 1: Tìm tất cả tập phổ biến thỏa mãn ngưỡng min_supp.

Bước 2: Xây dựng các luật kết hợp từ các tập phổ biến vừa tìm được thỏa mãn ngưỡng
min_conf.

- Đối với mỗi tập phổ biến S, tạo ra tất cả các tập con khác rỗng của S.
1
- Đối với mỗi tập con khác rỗng A của S, luật A  (S - A) là LKH cần tìm nếu :

conf (A  (S - A)) = supp(S) / supp(A)  min_conf

=> Từ bài toán khai thác luật kết hợp chuyển thành bài toán khai thác tập phổ biến: độ phức tạp
tính toán cao (vì nếu một itemset có 100 phần tử thì sẽ có 2100 – 1 itemset con khác rỗng => có
quá nhiều itemset phải xem xét).

Một trong những thuật toán được biết đến nhiều nhất có thể giúp cải thiện điều trên là thuật toán
Apriori.

Nguyên tắc loại bỏ Apriori: Nếu không phải là tập phổ biến thì tập bao nó cũng không phổ biến.

Các bước thực hiện:

Bước 1: Tìm tất cả các tập phổ biến 1 - hạng mục.

Bước 2: Tạo các tập ứng viên kích thước k-hạng mục (k - candidate itemset) từ các tập phổ biến
có kích thước (k-1)-hạng mục.

Bước 3: Kiểm tra độ phổ biến của các ứng viên trên CSDL và loại các ứng viên không phổ biến.

Bước 4: Dừng khi không tạo được tập phổ biến hay tập ứng viên.

Giải thích sự hiệu quả: Thuật toán Apriori hiểu quả hơn việc tìm luật kết hợp ban đầu vì nó đã
loại bỏ bớt đi một số itemset cần xem xét trong quá trình tìm các tập phổ biến. Khi tìm được các
tập phổ biến có kích thước (k-1) - hạng mục, lúc này đã loại bỏ được các ứng viên không phổ
biến, thì số lượng các tập ứng viên có kích thước k - hạng mục được tạo nên từ các tập phổ biến
có kích thước (k-1) - hạng mục sẽ được giảm đi.

2.

a.

Min_supp = 50% = 2/4 => Count(Itemset) >= 2

❖ Thuật toán Apriori

*Ghi chú: Những itemset có màu đỏ là những itemset bị loại bỏ vì không thỏa min_supp.

2
Itemset Count Itemset Count Itemset Count Itemset Count Itemset Count Itemset Count
C1 L1 C2 L2 C3 L3
A 4 A 4 AB 4 AB 4 ABC 3 ABC 3
B 4 B 4 AC 3 AC 3 ABD 4 ABD 4
C 3 C 3 AD 4 AD 4 ABE 2 ABE 2
D 4 D 4 AE 2 AE 2 ABI 2 ABI 2
E 2 E 2 AI 2 AI 2 ABK 2 ABK 2
I 2 I 2 AK 2 AK 2 ACD 3 ACD 3
K 2 K 2 BC 3 BC 3 ACE 2 ACE 2
BD 4 BD 4 ADE 2 ADE 2
BE 2 BE 2 ADI 2 ADI 2
BI 2 BI 2 ADK 2 ADK 2
BK 2 BK 2 AIK 2 AIK 2
CD 3 CD 3 BCD 3 BCD 3
CE 2 CE 2 BCE 2 BCE 2
CI 1 DE 2 BDE 2 BDE 2
CK 1 DI 2 BDI 2 BDI 2
DE 2 DK 2 BDK 2 BDK 2
DI 2 IK 2 BIK 2 BIK 2
DK 2 CDE 2 CDE 2
EI 0 CDI 1 DIK 2
EK 0 CDK 1
IK 2 DIK 2

C4 L4 C5 L5
ABCD 3 ABCD 3 ABCDE 2 ABCDE 2
ABCE 2 ABCE 2 ABDIK 2 ABDIK 2
ABDE 2 ABDE 2
ABDI 2 ABDI 2
ABDK 2 ABDK 2
ABIK 2 ABIK 2
ACDE 2 ACDE 2
ADIK 2 ADIK 2
BCDE 2 BCDE 2
BDIK 2 BDIK 2

3
❖ Thuật toán FP-Growth

F-list = A – B – D – C –E – I – K

Xây dựng FP-Tree:

{}

A:4

B:4

D:4

C:3 I:1

I:1 E:2 K:1

K:1

Condition
Item Conditional FP tree Frequent patterns
pattern base
A {} {} A
B A:4 {(A:4)}|B B, AB
D AB:4 {(A:4, B:4)}|D D, AD, BD, ABD
C ABD:3 {(A:3, B:3, D:3)}|C C, AC, BC, DC, ABC, ADC, BDC, ABDC
E, AE, BE, DE, CE, ABE, ADE, ACE, BDE, BCE, DCE,
E
ABDC:2 {(A:2, B:2, D:2, C:2)}|E ABDE, ABCE, ADCE, BDCE, ABDCE
I ABDC:1, ABD:1 {(A:2, B:2, D:2)}|I I, AI, BI, DI, ABI, ADI, BDI, ABDI
K, AK, BK, DK, IK, ABK, ADK, AIK, BDK, BIK, DIK,
K
ABDCI:1, ABDI:1 {(A:2, B:2, D:2, I:2)}|K ABDK, ABIK, ADIK, BDIK, ABDIK

4
- So sánh kết quả 2 thuật toán: cả 2 thuật toán đều cho ra những tập phổ biến giống nhau, với:

1 – hạng mục: 7 tập phổ biến

2 – hạng mục: 17 tập phổ biến

3 – hạng mục: 19 tập phổ biến

4 – hạng mục: 10 tập phổ biến

5 – hạng mục: 2 tập phổ biến

- Tập phổ biến tối đại: ABCDE, ABDIK

- Tập phổ biến đóng: ABCDE, ABDIK, ABCD, ABD

b,c. Min_conf = 80% = 0.8

Công thức tính Confidence:

Công thức tính Lift:

Công thức tính Conviction:

*Ghi chú: Những luật kết hợp có màu đỏ là những luật kết hợp bị loại bỏ vì không thỏa
min_conf.

Itemset item 1 ^ item 2 => item 3 Conf Lift Conviction


A^B => C 0.75
ABC A^C => B 1 1 0
B^C => A 1 1 0

5
A^B => D 1 1 0
ABD A^D => B 1 1 0
B^D => A 1 1 0
A^B => E 0.5
ABE A^E => B 1 1 0
B^E => A 1 1 0
A^B => I 0.5
ABI A^I => B 1 1 0
B^I => A 1 1 0
A^B => K 0.5
ABK A^K => B 1 1 0
B^K => A 1 1 0
A^C => D 1 1 0
ACD A^D => C 0.75
C^D => A 1 1 0
A^C => E 0.666667
ACE A^E => C 1 1.333333 0
C^E => A 1 1 0
A^D => E 0.5
ADE A^E => D 1 1 0
D^E => A 1 1 0
A^D => I 0.5
ADI A^I => D 1 1 0
D^I => A 1 1 0
A^D => K 0.5
ADK A^K => D 1 1 0
D^K => A 1 1 0
A^I => K 1 2 0
AIK A^K => I 1 2 0
I^K => A 1 1 0
B^C => D 1 1 0
BCD B^D => C 0.75
C^D => B 1 1 0
B^C => E 0.666667
BCE B^E => C 1 1.333333 0
C^E => B 1 1 0
B^D => E 0.5
BDE B^E => D 1 1 0
D^E => B 1 1 0
BDI B^D => I 0.5 0

6
B^I => D 1 1 0
D^I => B 1 1 0
B^D => K 0.5
BDK B^K => D 1 1 0
D^K => B 1 1 0
B^I => K 1 2 0
BIK B^K => I 1 2 0
I^K => B 1 1 0
C^D => E 0.666667
CDE C^E => D 1 1 0
D^E => C 1 1.333333 0
D^I => K 1 2 0
DIK D^K => I 1 2 0
I^K => D 1 1 0

You might also like