KỸ THUẬT KHÁM PHÁ LUẬT KẾ HỢP

Một phần của tài liệu TÌM HIỂU KHO DỮ LIỆU VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU (Trang 35)

Khi có một cơ sở dữ liệu nào đó, cố gắng phát hiện mối liên quan giữa các đối tượng trong cơ sở dữ liệu đó (hay nói cách khác là tìm liên hệ ẩn giữa dữ liệu).

Agrawal đã định nghĩa khai phá luật kết hợp như sau: Cho I ={i1,i2,...,in} là tập hợp n thuộc tính nhị phân, gọi là các item. Cho D={t1,t2,...,tm} là tập các thực hiện gọi là database. Mỗi thực hiện trong D có một ID và chứa subnet của các item trong I. Một luật được định nghĩa là sự kết hợp từ XY trong đó X,YIXY =Φ. Tập

các item X và Y được gọi là số hạng trước – antecedent (về bên trái) và hệ quả –

consequent (về bên phải) của luật.

Có nhiều thuật toán để sinh các luật kết hợp, tiêu biểu là Apriori, Eclat, FP-

Growth và One–attribute–rule.

a. Thuật toán Apriori

Đây là thuật toán có thể coi là tốt nhất được dùng để khai phá luật kết hợp. Apriori được thiết kế để chạy trên database chứa các giao dịch (chẳng hạn: các mặt hàng mà khách hàng đã mua, hoặc chi tiết tần số ghé thăm một trang web).

Thuật toán sử dụng chiến thuật tìm kiếm theo chiều rộng và cấu trúc cây băm để đếm các tập các item được coi là thích. Thuật toán sinh ra tập các item được coi là thích có độ dài k từ tập các item có độ dài k–1. Tiếp đó, nó sẽ cắt bớt các item ít khi xảy ra. Theo bổ đề downward closure, tập các ứng viên chứa tất các các tập item thường xảy ra độ dài k . Sau đó, thuật toán quét database để quyết định các item hay xảy ra trong tập các ứng viên. Để quyết định nhanh, thuật toán sử dụng cây băm để lưu trữ các item ứng viên. Cây băm này có tập các item ở các lá và các bảng băm ở các nút trong (Zaki,

99).

Ý tưởng cơ bản: Tất các tập con (subnet) của tập các item hay xảy ra cần được xem tới – Tìm tập các item hảy xảy ra: tập các item hay xảy ra có nguồn nhỏ nhất

+ Một tập con của một tập các item hay xảy ra cũng là tập các item hay xảy ra. + Nếu Ab là tập các item hay xảy ra thì cả A và B đều là các tập item hay xảy ra.

+ Lặp lại việc tìm các tập item hay xảy ra với số bước từ 1 đến k. – Sử dụng tập các item hay xảy ra để sinh ra các luật.

– Thuật toán Apriori:

Ck: tập item ứng viên kích thước k Lk: tập item hay xảy ra kích thước k L1= {tập các item hay xảy ra} For (k=2;Lk ≠ 0; k++)

Ck = các ứng viên được sinh từ Lk–1 Với mỗi thực hiện tD

Tăng số lượng ứng viên trong Ck có trong thực hiện t Lk = các ứng viên trong Ck có nguồn (support) nhỏ nhất – Sinh các luật:

Các luật mạnh: có cả support nhỏ nhất và sự tin tưởng (confidence) nhỏ nhất. Với mỗi tập item hay xảy ra l sinh tất cả các tập con khác rỗng của l

CHƯƠNG 5: XÂY DỰNG CHƯƠNG TRÌNH DEMO

Một phần của tài liệu TÌM HIỂU KHO DỮ LIỆU VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU (Trang 35)