Nhánh tập cha không phổ biến sinh từ tập con không phổ biến

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai thác luật kết hợp từ cơ sở dữ liệu giao dịch của siêu thị bán lẻ 002 (Trang 36 - 39)

2.3.1.2. Thuật toán Apriori

Apriori là một giải thuật được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuất lần đầu vào năm 1994. Là thuật toán khai thác luật kết hợp đầu tiên, dựa trên nguyên lý tỉa Apriori, hoạt động theo quy tắc quy hoạch động.

Nội dung thuật toán Apriori qua 2 giai đoạn:

 Tìm tập phổ biến

 Sinh luật mạnh

a. Tìm tập phổ biến

Input: CSDL giao dịch D và minsup

Output: Tất cả các tập mục phổ biến của D (Frequent Itemsets)

Thuật toán được mô tả như sau: 1. k=1;

2. Fk = {i|iI({i})≥N x minsup}; {tìm tất cả các tập phổ biến 1- phần tử} 3. Repeat

4. k = k+1;

5. Ck = apriori_gen(Fk-1); (sinh các tập ứng viên k phần tử) 6. for each transaction tT do

7. Ct = subset(Ck, t); (tập các ứng viên chứa trong t) 8. for each candidate itemset c  Ct do

9. (c) = (c)+1 (tăng độ hỗ trợ của tập mục c) 10. end for 11. end for 12. Fk = { c | c  Ck (c)≥N x minsup}; (các tập phổ biến k-phần tử) 13. until Fk =; 14. Result =  Fk Diễn giải:

 Tìm F1 (tập mục phổ biến có độ dài 1) (bước 1, 2)

 Sinh các tập mục ứng viên có độ dài k từ Fk-1 (tập mục phổ biến có độ dài k-1) theo nguyên lý Apriori (bước 4, 5)

 Duyệt CSDL để tìm độ hỗ trợ của các tập mục ứng viên có độ dài k (từ bước 6 đến bước 11)

 Kiểm tra các tập mục ứng viên độ dài k có độ hỗ trợ thỏa mãn minsup. Từ đó ta có Fk (tập mục phổ biến có độ dài k) (bước 12)

 Lặp lại thuật toán cho đến khi không có tập mục phổ biến mới nào được sinh ra (bước 13)

Thủ tục apriori-gen(Fk-1) tại bước 5: sinh ra ứng viên mới có độ dài k từ tập mục phổ biến có độ dài k-1 tìm được trước đó theo phương pháp sau: Cho 2 tập mục phổ biến có độ dài k-1 là A={a1,a2,…,ak-1} và B={b1,b2,…,bk-1}. Kết hợp A với B sinh ra ứng viên mới nếu thỏa mãn điều kiện sau:

𝑎𝑖 = 𝑏𝑖(𝑓𝑜𝑟 𝑖 = 1,2, … , 𝑘 − 2)𝑎𝑛𝑑 𝑎𝑘−1 ≠ 𝑏𝑘−1

Nhận xét:

Nếu theo phương pháp tổ hợp thì số lượng tập mục phải xét là 2k nhưng khi sử dụng phương pháp Apriori thì chỉ những tập phổ biến ở mức k mới được dùng để sinh ứng viên ở mức k+1, và đã loại bỏ các tập mục mức k+1 có bất kỳ tập mục con mức k là không phổ biến.

b. Sinh luật mạnh

Input: Tập F gồm tất cả các tập mục phổ biến của D và ngưỡng minconf Output: Tất cả các luật mạnh thỏa mãn minconf

Thực hiện:

Với mỗi tập phổ biến f  F, sinh ra các tập con s khác , và sinh luật s =>(f-z) (f-z) ≠. (chỉ chọn f là các tập phổ biến có từ 2 phần tử trở lên)

s =>(f-z) là luật mạnh nếu độ tin cậy của nó ≥ minconf.

2.3.1.3.Ví dụ minh họa thuật toán Apriori

Với D là cơ sở dữ liệu gồm 4 giao dịch (như hình sau), với tập mục = {A,B,C,D,E}; minsup=50%  minsup = 2; minconf=80%

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai thác luật kết hợp từ cơ sở dữ liệu giao dịch của siêu thị bán lẻ 002 (Trang 36 - 39)

Tải bản đầy đủ (PDF)

(73 trang)