You are on page 1of 39

Khai phá các luật kết hợp

Association rule mining

1
NỘI DUNG

1. Bài toán phân tích giỏ hàng


2. Các khái niệm cơ bản
3. Quá trình khai phá luật kết hợp
4. Giải thuật Apriori
5. Giải thuật Eclat
6. Thực hành

2
Bài toán phân tích giỏ hàng

3
Bài toán phân tích giỏ hàng

4
Bài toán phân tích giỏ hàng

5
Bài toán bán chéo và bán tăng cường

• Bán chéo (cross-selling)


– Bán các sản phẩm bổ sung cho khách hàng hiện tại.
– Sản phẩm thường được mua cùng nhau
• Bán tăng cường (up-selling)
– Bán các sản phẩm số lượng nhiều hơn hoặc sản phẩm có giá
trị cao hơn cho khách hàng hiện tại.

6
Ví dụ về “luật kết hợp” (associate rule)
• “90% khách hàng mà mua tạp chí thể thao thì đều mua các tạp
chí về ôtô”  sự kết hợp giữa “tạp chí thể thao” với “tạp chí về
ôtô”
• “60% khách hàng mà mua bia tại siêu thị thì đều mua bỉm trẻ
em”  sự kết hợp giữa “bia” với “bỉm”
• “Có tới 70% người truy nhập Web vào địa chỉ Url 1 thì cũng vào
địa chỉ Url 2 trong một phiên truy nhập web”  sự kết hợp giữa
“Url 1” với “Url 2”. Khai phá dữ liệu sử dụng Web (dữ liệu từ
file log của các website).

7
Khai phá luật kết hợp

• Mẫu phổ biến (Frequent pattern): là mẫu (tập mục, dãy


mục…) xuất hiện phổ biến trong 1 CSDL.
• Khai phá luật kết hợp (Association rule mining or Frequent
Pattern Mining):
– Tìm tất cả mẫu phổ biến, kết hợp, tương quan, hoặc cấu trúc
nhân - quả trong tập các mục, hoặc đối tượng trong CSDL
quan hệ, hoặc các kho chứa thông tin khác.

8
Các khái niệm cơ bản

• Item (phần tử)


• Itemset (tập phần tử)
• Transaction (giao dịch)
• Association (sự kết hợp) và association rule (luật kết hợp)
• Support (độ hỗ trợ)
• Confidence (độ tin cậy)
• Frequent itemset (tập phần tử phổ biến/thường xuyên)
• Strong association rule (luật kết hợp mạnh)

9
Các khái niệm cơ bản

• Ví dụ: Dữ liệu mẫu của AllElectronics

10
Các khái niệm cơ bản

• Item (phần tử)


– Các phần tử, mẫu, đối tượng đang được quan tâm.
– I = {I1, I2, …, Im}: tập tất cả m phần tử có thể có trong tập dữ liệu
• Itemset (tập phần tử)
– Tập hợp các items
– Một itemset có k items gọi là k-itemset.
• Transaction (giao dịch)
– Là 1 lần thực hiện tương tác với hệ thống (ví dụ: giao dịch “khách
hàng mua hàng”)
– Danh sách các mục (mục: item, mặt hàng) trong một phiếu mua
hàng.
– Một tập T gồm các phần tử (tập mục) được giao dịch.

11
Các khái niệm cơ bản

• Association (kết hợp) và association rule (luật kết hợp)


• Sự kết hợp: các phần tử cùng xuất hiện với nhau trong một
hay nhiều giao dịch.
– Thể hiện mối liên hệ giữa các phần tử/các tập phần tử
• Luật kết hợp: qui tắc kết hợp có điều kiện giữa các tập phần
tử.
– Thể hiện mối liên hệ (có điều kiện) giữa các tập phần tử
– Cho A và B là các tập phần tử, luật kết hợp là A  B
B xuất hiện trong điều kiện A xuất hiện.

12
Các khái niệm cơ bản

• Support (độ hỗ trợ)


– Độ đo đo tần số xuất hiện của các phần tử hoặc tập phần tử.
– Minimum support threshold (ngưỡng hỗ trợ tối thiểu)
• Giá trị support nhỏ nhất được chỉ định bởi người dùng.
• Confidence (độ tin cậy)
– Độ đo đo tần số xuất hiện của một tập phần tử trong điều
kiện xuất hiện của một tập phần tử khác.
– Minimum confidence threshold (ngưỡng tin cậy tối thiểu)
• Giá trị confidence nhỏ nhất được chỉ định bởi người
dùng.

13
Các khái niệm cơ bản

• Frequent itemset (tập phần tử phổ biến)


– Tập phần tử có support thỏa ngưỡng hỗ trợ tối thiểu
– Cho A là một itemset
– A là tập phần tử phổ biến nếu và chỉ nếu support(A) >=
ngưỡng hỗ trợ tối thiểu.
• Strong association rule (luật kết hợp mạnh)
– Luật kết hợp có support và confidence thỏa ngưỡng hỗ
trợ tối thiểu và ngưỡng tin cậy tối thiểu.
– Cho luật kết hợp AB giữa A và B, A và B là itemsets
– AB là luật kết hợp mạnh nếu và chỉ nếu
support(AB) >= ngưỡng hỗ trợ tối thiểu, và
confidence(AB) >= ngưỡng tin cậy tối thiểu.

14
Quy trình khai phá luật kết hợp

15
Quy trình khai phá luật kết hợp

16
Khai phá các mẫu thường xuyên

• Thực hiện khai phá các mẫu thường xuyên từ dữ liệu giao
dịch.
• Một tập con của một tập mục thường xuyên thì cũng là một
tập mục thường xuyên
• Ví dụ, nếu {I1, I2} là tập mục thường xuyên, thì {I1} và
{I2} cũng phải là tập mục thường xuyên
• Một cách tiếp cận đệ quy để tìm các tập mục thường xuyên
• Sử dụng các tập mục thường xuyên để sinh các luật kết hợp.

17
Giải thuật Apriori

• Thuật toán sử dụng chiến thuật lan rộng, trong đó k-itemsets


được dùng để khám phá (k+1)-itemsets
• Trong thuật toán, các tập mục thường xuyên được tăng
thêm một item (bước này gọi là quá trình sinh ra ứng cử
viên)
• Sau đó các nhóm ứng viên này được thử lại trên dữ liệu
• Quá trình nhận dạng từng item đơn trong dữ liệu, và mở
rộng ngày càng lớn hơn đến khi tập mục xuất hiện vẫn thỏa
mãn

18
Giải thuật Apriori

• Thuật toán Apriori dựa vào tính chất rằng một tập con bất
kỳ của một tập mục thường xuyên thì cũng là một tập mục
thường xuyên
• Thuật toán khi đó có thể giảm số lượng các ứng viên bằng
việc xem xét các ứng viên có giá trị support cao hơn min-
support không?
• Tất cả các tập mục nếu có tập mục con không thường xuyên
thì cũng bị loại bỏ

19
Giải thuật Apriori

• Bước 1. Xây dựng danh sách các ứng viên k-itemsets và sau
đó trích chọn ra danh sách thường xuyên của k-itemsets
dùng min-sup
• Bước 2. Sau đó sử dụng danh sách thường xuyên k-itemsets
để xác định danh sách ứng viên và thường xuyên của (k+1)-
itemsets
• Bước 3. Loại bỏ các tập mục không thường xuyên
• Bước 4. Lặp lại cho đến khi danh sách ứng viên và thường
xuyên của k-itemsets rỗng
• Bước 5. Trả lại danh sách của (k-1)-itemsets

20
• Apriori – Step 1: Minimum suport count = 2

21
• Apriori – Step 2: Minimum suport count = 2

22
• Apriori – Step 3: Minimum suport count = 2

Tập mục con của một tập mục thường xuyên thì cũng phải là tập mục
23
thường xuyên!
• Apriori – Step 4: Minimum suport count = 2

Tập mục con của một tập mục thường xuyên thì cũng phải là tập mục
24
thường xuyên!
Apriori
• Ví dụ: Khai phá các luật kết hợp trong tập dữ liệu sau

25
Sinh các luật kết hợp (Association rules)

• Bước 1

26
• Bước 2

27
• Các luật

28
• Các luật

29
• Nhận xét: Apriori có nhược điểm lớn về hiệu suất, đặc biệt
khi phải thực hiện thuật toán với những giao dịch phổ biến
chứa nhiều phần tử. Khi đó việc đọc dữ liệu các giao dịch D
sẽ phải diễn ra nhiều lần.
• Khắc phục?
– Thu nhỏ số lượng giao dịch (transaction reduction)
– Phân hoạch dữ liệu (partioning)
– Lưu ý: Tập mục con của một tập mục thường xuyên thì cũng
phải là tập mục thường xuyên!

30
NỘI DUNG

1. Bài toán phân tích giỏ hàng


2. Các khái niệm cơ bản
3. Quá trình khai phá luật kết hợp
4. Giải thuật Apriori
5. Giải thuật Eclat
6. Thực hành

31
Giải thuật EClaT (Equivalence Class Transformation)

• Phương pháp Eclat áp dụng cho định dạng dữ liệu tổ chức


theo chiều dọc (vertical data format, VDF)
• Với Apriori, dữ liệu được tổ chức dưới định dạng nằm
ngang, có nghĩa là danh sách các mục (phần tử) trong giao
dịch được liệt kê theo thứ tự từ trái sang phải trên cùng một
dòng.
• Đối với phương pháp VDF, dữ liệu được thể hiện dưới
dạng: phần tử-giao dịch, có nghĩa là ứng với từng mục sẽ là
giao dịch (id giao dịch) chứa phần tử đó.

32
Giải thuật EClaT

33
Giải thuật EClaT

34
Giải thuật EClaT

• Liệt kê danh sách các mục (items) có trong tất cả các giao dịch,
tương ứng với từng mục là các giao dịch đã phát sinh chứa các
mục này.
• Từ đó, xác định những mục nào được mua thường xuyên, thỏa
mãn min support.
• Sử dụng phương pháp tương tự như Apriori để xác định các cặp
có 2 mục từ những mục được mua phổ biến ở bước trên.
• Dựa vào danh sách mục và giao dịch từ bước trên, lọc ra các cặp
mục được mua thường xuyên...
• Qúa trình này tiếp tục đến khi không còn phát sinh danh sách
mục được mua thỏa mãn minsupport.

35
Giải thuật EClaT

36
• Ưu điểm:
– Sử dụng phương pháp Apriori để xây dựng được danh sách
k+1 mục từ danh sách k mục được mua sắm thường xuyên
(thỏa mãn mức support tối thiểu)
– Hạn chế số lần đọc bảng dữ liệu giao dịch D khi tìm kiếm
thêm danh sách k+1 mục từ danh sách k mục, do tất cả các
giao dịch chứa k mục ở bước trước đã chứa toàn bộ thông tin
cần thiết để sử dụng cho việc lên danh sách k+1 mục.

37
• Thảo luận

• Thực hành

38
Tài liệu tham khảo

• J. Han and M.e Kamber, Data Mining Concepts and Techniques, Elsevier Inc,
2006.
• Robert Nisbet, John Elder, Gary Miner, Handbook of Statistical Analysis and
Data Mining Applications, Elsevier Inc, 2009.
• Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu
Trang, Nguyễn Cẩm Tú, Giáo trình Khai phá dữ liệu Web, NXB Giáo dục,
2009
• Phan X. Hiếu, Bài giảng Khai phá dữ liệu, VIASM
• Một số tài liệu online khác.

39

You might also like