3. Chương 3: Một số phương pháp KPDL sinh luật kết hợp
3.3. Thuật toán Charm
3.3.1. Giới thiệu
Như đã giới thiệu ở trên, quá trình khai phá luật kết hợp gồm 2 pha:
+ Pha 1: tìm tất cả các tập mục phổ biến. Ở pha này đòi hỏi sự tính toán lớn, những thuật toán như Apriori đòi hỏi phải duyệt CSDL nhiều lần. Không những vậy trong các tập mục phổ biến được sinh ra có nhiều tập mục không cần thiết (hay tập mục dư thừa - redundant itemsets).
+ Pha 2: sinh các luật từ các tập mục phổ biến tìm được. Ở pha này đòi hỏi sự tính toán ít hơn, song gặp phải vấn đề là có thể sinh ra quá nhiều luật kết hợp, vượt ra khỏi sự kiểm soát của khai phá hoặc người dùng và cũng giống Pha 1 là trong đó có nhiều luật không cần thiết (hay luật dư thừa - redundant rules).
Có một số giải pháp được đề xuất nhằm giảm bớt việc tính toán trong pha 1 và tránh sinh ra các luật dư thừa trong pha 2:
+ Giải pháp thứ nhất là chỉ cần khai phá các tập mục phổ biến cực đại (maximal frequent itemsets) ở pha 1, không cần khai phá tất cả các tập phổ biến. Số lượng cá tập mục phổ biến cực đại khai phá được sẽ nhỏ hơn rất nhiều so với số tập mục phổ biến. Tuy nhiên, nếu chỉ khai phá tập mục phổ biến cực đại thì có thể làm mất một số thông tin và vì vậy có thể mất một số luật.
+ Giải pháp thứ hai là chỉ cần khai phá các tập mục đóng phổ biến (closed itemsets) ở pha 1, không cần khai phá tất cả các tập phổ biến. Số lượng các tập mục đóng phổ biến khai phá được sẽ nhiều hơn số tập mục phổ biến cực đại nhưng nó vẫn nhỏ hơn rất nhiều so với số tập mục phổ biến. Tuy nhiên, mỗi tập mục đóng phổ biến lại xác định cho tập tất cả các tập mục phổ biến là tập con của nó. Vì vậy từ tập mục đóng phổ biến ta có thể sinh tất cả các luật cần thiết.