Phát triển giải pháp hiệu quả trong khai thác luật kết hợp

Một phần của tài liệu khai phá dữ liệu bằng luật kết hợp (Trang 37 - 39)

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) >= Mincof (%). 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 >= Mincof 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;

4. Giải pháp hiệu quả

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.

Một phần của tài liệu khai phá dữ liệu bằng luật kết hợp (Trang 37 - 39)

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

(66 trang)
w