Thuật toán AprioriTID

Một phần của tài liệu khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng (Trang 51 - 53)

Một yếu tố đáng quan tâm của thuật toán AprioriTID là cơ sở dữ liệu D không được sử dụng để tính support count sau lần quét thứ nhất [5, 15]. Thay vào đó, nó sử dụng tập Ck . Mỗi phần tử của Ck có dạng < TID, {Xk}>, với mỗi Xk là một frequent k- itemset tiềm năng hiện diện giao dịch với định danh TID. Đối với k = 1,

1

C cơ sở dữ liệu D, nhưng mỗi item i được thay bởi một itemset {i} . Với k > 1, mỗi thành viên Ck ứng với giao dịch T là < T.TID, {c  Ck/c được chứa trong T}>. Nếu giao dịch T nào đó không chứa bất kỳ một ứng cử k – itemset, thì Ck sẽ không chứa giao dịch này. Do đó, số thành viên của Ck có thể nhỏ hơn số giao dịch trong CSDL, đặc biệt k lớn. Hơn nữa, với k mỗi lớp thành viên của Ck có thể lớn hơn

42

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

giao dịch tương ứng bởi vì mỗi thành viên trong Ck gồm tất cả các ứng viên k – itemset được chứa trong giao dịch.

Thuật toán AprioriTID

Input: Cơ sở dữ liệu D: min_sup_count. Output: L tập các frequent itemset trong D

L1={frequent 1 - itemset} 1 C = cơ sở dữ liệu D for (k=2; Lk-1; k++) do begin k C = apriori_gen (Lk-1); k C =;

forall entries tCk1 do begin

// xác định các item ứng cử viên trong Ck chứa trong giao dịch với T.TID CT ={cCk (c-c[k])T.set – of- itemsets(c-c[k-1])T.set – of- itemsets}; forall candidates c  Ct do c.count++; if (CT) then Ck+ = < T.TID, CT>; end Lk = {c  Ck  c.count  min_sup_count}; End; Return L = UkLk ;

43

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ví dụ: Tìm các tập frequent itemset với min_sup_count = 2 như hình 3.2

Hình 3.2: Các bước thực hiện của thuật toán AprioriTID

Một phần của tài liệu khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng (Trang 51 - 53)