ĐẠI HỌC GIAO THÔNG VẬN TẢI
HÀ NỘI
MÔN: KHAI PHÁ DỮ LIỆU
Tìm hiểu giải thuật Apriori
(Khai phá luật kết hợp)
Nhóm 07
Bùi Thị Vân
Đặng T.Thanh
Loan
Đỗ Hồng Trung
Đỗ Thị Thùy
Lê T.Lan Phương
Nhóm 13
Nguyễn Quang Trung
Phạm Nguyễn Hoàng
Long
Lê Văn Mạnh
Nguyễn Đức Tâm
Phạm Văn Phương
Nội dung
1. Luật kết hợp trong khai phá dữ liệu
2. Thuật toán Apriori
2
Luật kết hợp
3
Luật kết hợp
Mục
đích
Nội
dung
cơ bản
● Chỉ ra các mối quan hệ tương quan của các đối tượng
trong khối dữ liệu lớn.
● D = {t1, t2, …, tn}. (D là cơ sở dữ liệu giao dịch)
● Mỗi ti bao gồm các đối tượng I = {i1, i2, …, im}.
Luật kết hợp chính là mối tương quan hay kết hợp
giữa các item có định dạng: X → Y, với X, Y ⊆ I và X
∩ Y = ∅.
● X (hoặc Y) là một nhóm các item và được gọi là
itemset.
● Mỗi itemset gồm k item gọi là k - itemset.
4
Luật kết hợp
Luật kết hợp X → Y có thể hiểu rằng những người mua các mặt
hàng trong tập X cũng thường mua các mặt hàng trong tập Y.
Ví dụ: Một giao dịch như: {sữa, trứng, đường}
Luật kết hợp có thể là: sữa, trứng → đường,
X = {sữa, trứng} và Y = {đường}
→ Chúng ta có thể nói rằng những người mua sữa và trứng thì cũng
thường mua đường.
Theo quan điểm thống kê, X được xem là biến độc lập còn Y được
xem là biến phụ thuộc.
5
Luật kết hợp
Để đo lường luật kết hợp, ta sử dụng độ hỗ trợ (Support) và độ tin
cậy (Confidence)
6
Luật kết hợp
support ≥ minsup
Thu được
luật kết hợp
confidence ≥
minconf
Các giá trị minsup và minconf là giá trị ngưỡng cần phải xác định
trước khi sinh ra các luật kết hợp.
Một itemsets mà tần suất xuất hiện của nó ≥ minsup gọi là
frequent itemsets.
7
Luật kết hợp
Ứng dụng
8
Thuật tốn Apriori
Tính chất của thuật tốn: Mọi tập con khác rỗng của một itemset phổ biến
cũng phải là itemset phở biến.
Mơ tả thuật tốn:
●
Bước 1: Duyệt (Scan) tồn bộ transaction database để có được support S của
1-itemset, so sánh S với min_sup, để có được 1-itemset (L 1).
●
Bước 2: Sử dụng Lk-1 nối (join) Lk-1 để sinh ra candidate k-itemset. Loại bỏ
các itemsets không phải là frequent itemsets thu được k-itemset.
●
Bước 3: Scan transaction database để có được support của mỗi candidate kitemset, so sánh S với min_sup để thu được frequent k –itemset (L k).
●
Bước 4: Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (khơng tìm
thấy frequent itemsets).
9
Thuật toán Apriori
Thuật toán
10
Thuật toán Apriori
Thuật toán
11
Ví dụ: Cho Dataset D: minsup = 20%,minconf=70%
min_sup = 20%
→ min_sup_count = 20% * 9 = 2
I = {I1, I2, I3, I4, I5}
1. C1 = I
L1
⩾2
12
Ví dụ: Cho Dataset D: minsup = 20%,minconf=70%
2. Tìm tập ứng viên: L1 ⨝ L1
C2
L2
⩾2
13
Ví dụ: Cho Dataset D: minsup = 20%,minconf=70%
3. Tìm tập ứng viên: L2 ⨝ L2
L2
C3
L3
⩾2
14
Ví dụ: Cho Dataset D: minsup = 20%,minconf=70%
{I1, I2} → I3
{I1, I3} → I2
{I2, I3} → I1
I1 → {I2, I3}
I2 → {I1, I3}
I3 → {I1, I2}
conf = 2/4 = 50%
conf = 2/4 = 50%
conf = 2/4 = 50%
conf = 2/6 = 33%
conf = 2/7 = 29%
conf = 2/6 = 33%
I1 → I2
I2 → I1
I1 → I3
I3 → I1
I1 → I5
I5 → I1
conf = 4/6 = 67%
conf = 4/7 = 57%
conf = 4/6 = 67%
conf = 4/6 = 67%
conf = 2/6 = 33%
conf = 2/2 = 100%
{I1, I2} → I5
{I1, I5} → I2
{I2, I5} → I1
I1 → {I2, I5}
I2 → {I1, I5}
I5 → {I1, I2}
conf = 2/4 = 50%
conf = 2/2 = 100%
conf = 2/2 = 100%
conf = 2/6 = 33%
conf = 2/7 = 29%
conf = 2/2 = 100%
I2 → I3
I3 → I2
I2 → I4
I4 → I2
I2 → I5
I5 → I2
conf = 4/7 = 57%
conf = 4/6 = 67%
conf = 2/7 = 29%
conf = 2/2 = 100%
conf = 2/7 = 29%
conf = 2/2 = 100%
15
15
Ví dụ: Cho Dataset D: minsup = 20%,minconf=70%
4. Ta có các luật kết hợp:
{I1, I5} → I2
{I2, I5} → I1
I5 → {I1, I2}
I5 → I1
I4 → I2
I5 → I2
16
Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80%
min_sup = 60%
→ min_sup_count = 60% * 5 = 3
I = {A, C, D, E, I, K, M, N, O, U, Y}
1. C1 = I
L1
⩾3
17
Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80%
2. Tìm tập ứng viên: L1 ⨝ L1
C2
L2
⩾3
18
Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80%
3. Tìm tập ứng viên: L2 ⨝ L2
L2
C3
L3
⩾3
19
Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80%
{E, K} → O
{E, O}→ K
{K, O} → E
E → {K, O}
K → {E, O}
O → {E, K}
E→K
K→E
E→O
O→E
K→M
M→K
K→O
O→K
K→Y
Y→K
conf = 3/4 = 75%
conf = 3/3 = 100%
conf = 3/3 = 100%
conf = 3/4 = 75%
conf = 3/5 = 60%
conf = 3/3 = 100%
conf = 4/4 = 100%
conf = 4/5 = 80%
conf = 3/4 = 75%
conf = 3/3 = 100%
conf = 3/5 = 60%
conf = 3/3 = 100%
conf = 3/5 = 60%
conf = 3/3 = 100%
conf = 3/5 = 60%
conf = 3/3 = 100%
4. Ta có các luật kết hợp:
{E, O}→ K
{K, O} → E
O → {E, K}
E→K
K→E
O→E
M→K
O→K
Y→K
20
Ưu điểm của thuật toán
● Đây là thuật toán đơn giản và dễ hiểu nhất trong số các thuật toán
học quy tắc kết hợp.
● Các quy tắc kết quả là trực quan và dễ dàng để giao tiếp với người
dùng cuối.
● Nó khơng u cầu dữ liệu được dán nhãn vì nó là thuật tốn khơng
giám sát, do đó bạn có thể sử dụng nó trong nhiều tình huống khác
nhau vì dữ liệu khơng được gắn nhãn thường dễ truy cập hơn.
● Nhiều tiện ích mở rộng đã được đề xuất cho các trường hợp sử
dụng khác nhau dựa trên triển khai này, ví dụ, có các thuật tốn
học liên kết có tính đến việc đặt hàng các mặt hàng, số lượng của
chúng và khoảng thời gian liên quan.
21
Nhược điểm của thuật toán
● Phải duyệt CSDL nhiều lần.
● Số lượng tập ứng viên rất lớn.
● Thực hiện việc tính độ phở biến nhiều, đơn điệu.
22
23