Bài toán luật kết hợp.
Cho một tập các giá trị I, một CSDL giao dịch D, ngưỡng độ hỗ trợ tối thiểu
Minsup, ngưỡng độ tin cậy Mincof, tìm các luật kết hợp dạng X ⇒ Y trên D thoả mãn điều kiện Support (X ⇒Y) >= Minsup và Confidence (X ⇒ Y) >= Mincof.
Tiến trình khai thác luật kết hợp.
Xác định các tập mục lớn Việc xác định các tập mục lớn gồm có hai bước chính sau đây:
Xác định các tập ứng cử viên (Ck).
Xác định các tập mục lớn (L) dựa vào tập ứng cử viên Để xác định tập ứng cử viên, ta thực hiện các bước sau đây: 1. Tìm các tập ứng cử viên một mục.
2. Quét CSDL D để xác định độ hỗ trợ của các tập ứng cử viên. Trong vòng đầu tiên, các tập ứng cử viên cũng chính là tất cả các mục có trong CSDL. Tại vòng thứ k (k>1), các tập ứng cử viên được xác định dựa vào các tập mục lớn đã xác định tại vòng k – 1, sử dụng hàm Apriori-Gen () Sau khi đã xác định được các tập ứng cử viên, thuật toán quét từng giao dịch trong CSDL để tính độ hỗ trợ của các tập ứng cử viên. Quá trình xác định các tập mục sẽ kết thúc khi không xác định được thêm tập mục lớn nào nữa.
3. Nội dung hàm Apriori-gen (). Hàm Apriori-gen () thực hiện hai bước.
1. Bước đầu tiên, Lk – 1 được kết nối với chính nó thu được Ck.
2. Bước thứ hai, Apriori_gen () xoá tất cả các tập mục từ kết quả kết nối mà có một số tập con (k – 1) không có trong Lk – 1. Sau đó nó trả về tập mục lớn kích thước k còn lại.
3. Sinh các luật kết hợp từ tập mục lớn.
Việc phát hiện các tập mục lớn là rất tốn kém về mặt tính toán. Tuy nhiên, ngay khi tìm được tất cả các tập mục lớn (l ∈ L), ta có thể dễ dàng sinh ra các luật kết hợp có thể có bằng các bước như sau:
1. Tìm tất cả các tập con không rỗng x, của tập mục lớn l ∈ L.
2. Với mỗi tập con x tìm được, ta xuất ra luật dạng x ⇒ (l - x) nếu tỷ lệ Support (l)/Support (x) >= Minconf (%).
3. Thủ tục sinh ra các tập con. 4. Đầu vào:
5. Tập mục lớn Lk
Đầu ra:
Tập luật thoả mãn điều kiện độ tin cậy >= Minconf và độ hỗ trợ >= Minsup Phương pháp:
Forall Lk, k >= 2 do Call Genrules (Lk, Lk);
Procedure Genrules (Lk: Large k-Itemset, am: Large m-Itemset)
A= { (m-1)-Itemset am-1| am-1⊂am} Forall am-1∈A do begin
Conf = Support (Lk)/Support (am-1)
If (Conf >= Mincof) then begin Output the rule am-1⇒ (Lk– am-1)
với Confidence = Mincof and Support = Support (Lk) If (m-1 >1) then Call Genrules (Lk, am-1); End;
End;
Trong các phần trên, đã trình bày tiến trình cơ bản để khai thác các luật kết hợp trong CSDL, song vấn đề cần phải quan tâm nghiên cứu là tăng hiệu quả của thuật toán trong trường hợp: “Số lượng tập ứng cử viên được tìm thấy là rất lớn”.
Trong phạm vi nghiên cứu của bài này, sẽ đưa ra một giải pháp mới để giải quyết vấn đề đã nêu.
Tỉa các ứng cử viên: Việc tỉa các ứng cử viên nhằm mục đích bỏ đi các tập ứng cử viên không cần thiết, rút gọn số lượng của tập các tập ứng cử viên. Sau đây, sẽ trình bày kỹ thuật “tỉa” các ứng cử viên không cần thiết.
Kỹ thuật này có tinh chất: Các mục trong tập ứng cử viên được sắp xếp theo thứ tự. Nội dung kỹ thuật:
Forall Itesets c ∈ Ck do
Forall (k – 1) – subsets s of c do If (s ∉ Lk – 1) then Delete c from Ck
Dựa vào đây, ta có thể tỉa được các tập ứng cử viên, từ đó có thể giới hạn miền tìm kiếm của nó trên tất cả các tập mục.
2.5. Quy trình khai thác luật kết hợp
B1 : Tìm tất cả các tập phổ biến (theo ngưỡng Minsup). B2 : Tạo ra các luật từ các tập phổ biến.
Đối với mỗi tập phổ biến S, tạo ra tất cả các tập con khác rỗng của S. Đối với mỗi tập con khác rỗng A của S.
Luật A ⇒ (S - A) là LKH cần tìm nếu:
CHƯƠNG III :ỨNG DỤNG SQL SERVER BUSINESS INTELLIGENCE DEVELOPMENT STUDIO TRONG KHAI
PHÁ DỮ LIỆU