Các thuật toán phát hiện tập mục phổ biến khác

Một phần của tài liệu KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG (Trang 45 - 47)

, x ik }→ {x ik

2.3.1.4Các thuật toán phát hiện tập mục phổ biến khác

Có rất nhiều thuật toán được đề xuất để p hát hiện các tập mục phổ biến đây là bước quan trọng và chiếm nhiều thời gian nhất trong quá trình khai phá luật kết hợp trong CSDL. Sau đây là một số thuật toán tiêu biểu và đặc điểm của nó.

Thuật toán Apriori-TID

Như đã đề cập ở phần trên, thuật toán Apriori quét to àn bộ CSDL trong mỗi giai đoạn để tính độ hỗ trợ. Việc quét toàn bộ CSDL có thể là không cần thiết đối với tất cả các giai đoạn. Với ý tưởng, Agrawal đã đề xuất một thuật toán khác, gọi là thuật toán Apriori-TID.

Tương tự thuật toán Apriori, thuật toán Apriori-TID cũng sử dụng hàm

apriori_gen() để xác định các tập mục ứng cử trước khi bắt đầu mỗi giai đoạn.

Điểm khác nhau chủ yếu của thuật toán này so với thuật toán Apriori là; nó không sử dụng CSDL để tính độ hỗ trợ trong các giai đoạn k > 1. Thay vào đó nó sử dụng mã khóa của các tập mục ứng cử đã sử dụng trong giai đoạn trước, Ck . Nhiều thí nghiệm trên nhiều CSDL chỉ ra rằng thuật toán Apriori cần ít thời gian hơn giải thuật Apriori-TID trong các giai đoạn đầu ,nhưng mất nhiều thời gian cho các giai đoạn sau, mô tả chi tiết trong [20, 21].

Thuật toán Apriori-Hybrid

Thuật toán này dựa vào ý tưởng “không cần thiết phải sử dụng cùng một thuật toán cho tất cả các giai đoạn lên trên dữ liệu”. Như đã đề cập ở trên, thuật toán Apriori thực thi hiệu quả ở các giai đoạn đầu, thuật toán Apriori -TID thực thi hiệu quả ở các giai đoạn sau. Phương pháp của thuật toán Apriori -Hybrid là sử dụng thuật toán Apriori ở các giai đoạn đầu và chuyển sang sử dụng thuật toán Apriori-TID ở các giai đoạn sau, được trình bày chi tiết trong [21].

Thuật toán AIS (Agrawal Imielinski Swami)

Trong thuật toán AIS, tập các mục ứng cử được sinh ra và được tính khi quét toàn bộ CSDL. Với mỗi giao dịch t, thuật toán chọn các tập mục phổ biến nào đã được phát hiện ở giai đo ạn trước có chứa trong giao dịch t. Các tập mục ứng cử mới được sinh ra bằng việc mở rộng các tập phổ biến này với các mục khác trong giao dịch t [ 18, 21].

Thuật toán DIC (Dynamic Itemset Counting)

Thuật toán DIC bắt đầu tính độ hỗ trợ cho các k-itemset sau khi quét ((k - 1) * M) giao dịch, M < D và dừng việc t ính sau khi các k-itemset này được thấy trong tất cả các giao dịch. Thuật toán Apriori là trường hợp đặc biệt của thuật toán DIC, ứng với M = D . Vì vậy, thuật toán DIC thực hiện tốt hơn thuật toán Apriori nếu M được chọn thích hợp [18, 21].

Thuật toán OCD (Of-line Candidate Determination)

Kỹ thuật OCD được giới thiệu bởi Mannila vào năm 1994, dựa vào ý tưởng “các mẫu có kích thước nhỏ thường là khá tốt cho việc tìm kiếm các tập

mục phổ biến”. Kỹ thuật này sử dụng các kết quả của phép phân tích tổ hợp thông tin thu được ở các giai đoạn trước , để lo ại b ỏ đi các tập mụ c ứng cử không cần thiết. Nếu một tập Y ⊆ I là một tập không phổ biến thì cần quét ít nhất (1 - s) giao dịch trong CSDL, s là ngưỡng hỗ trợ. Vì vậy, đối với những giá trị ngưỡng hỗ trợ s nhỏ thì hầu như toàn bộ các giao dịch phải được quét. Thuật toán OCD sinh ra một tập tất cả các k-itemset phổ biến Lk [18, 20].

Thuật toán phân hoạch [21]

Thu ật toán này chia CSDL thành các phân hoạch nhỏ, mỗi phân hoạch có thể được lưu trữ trên bộ nhớ chính. Cho các phân hoạch của CSDL D là D1, D2, …, Dp. Lần quét đầu tiên, thuật toán tìm các tập mục phổ biến trong mỗi phân hoạch Di (1 ≤ i ≤ p) gọi là tập mục phổ biến cục bộ. Mỗi tập mục phổ biến cục b ộ Li có thể được tìm thấy bằng cách sử dụng thuật toán Apriori. Lần quét thứ nhì, thuật toán này sử dụng tính chất, tập mục phổ thỏa trên CSDL toàn cục phải là tập mục phổ biến cục bộ trong ít nhất một phân hoạch của CSDL nào đó. Sau đó, ta hợp các tập mục phổ biến cục bộ được tìm thấy trong mỗi phân hoạch để tạo ra các tập mục ứng cử và thực hiện tính độ hỗ trợ tổng thể trên CSDL D, để tìm tất cả các tập mục phổ biến. Thuật toán này thực thi tốt trên máy tính song song. Thuật toán Apriori thực hiện tốt hơn thuật toán phân hoạch chỉ khi nào ngưỡng hỗ trợ có giá trị cao.

Một phần của tài liệu KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG (Trang 45 - 47)