Phát hiện luật

Một phần của tài liệu KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN (Trang 57 - 58)

Chơng 6 Các thuật toán phát hiện luật kết hợp trong các CSDL lớn

6.3.3Phát hiện luật

Khi các tập mục lớn và giá trị support của chúng đuợc xác định, luật có thể đợc phát hiện theo cách trực tiếp nh sau:

Nếu l là một tập mục lớn, thì với mọi tập con a của l, tỷ số support(l)/support(a) đợc tính toán. Nếu tỷ số này ít nhất bằng giá trị ngỡng confidence tối thiểu do ngời dùng cho tr- ớc, thì luật a ==> (l-a) là kết quả. Do việc này đơn giản hơn nhiều so với phát sinh các tập mục lớn, nên ta không bàn kỹ ở đây.

Do cha có điều kiện để thử nghiệm các thuật toán với các bộ dữ liệu thử nghiệm nên trong khuôn khổ luận văn này, chúng tôi cha đề cập đến các phân tích về hiệu năng. Tuy nhiên ta có thể có đánh giá chung nh sau:

Cả hai thuật toán Apriori và phân hoạch đều sử dụng cùng một kỹ thuật phát sinh các tập mục dự tuyển. Cải thiện chính của thuật toán phân hoạch chủ yếu là có kỹ thuật phát sinh con đếm tốt hơn. Trong thuật toán Apriori các con đếm đợc phát sinh nhờ các phép toán trên tập con mà các tập mục từ một tập dự tuyển đợc so sánh với các giao dịch trong CSDL xác định tính thuộc và tăng con đếm. Để so sánh nhanh, các trờng bit có thể đựoc sử dụng. Giả thiết số tệp mục dự tuyển là 1000 và có 1 triệu giao dịch trong CSDL. Nếu trong CSDL bao gồm 1000 mục hàng phân biệt thì mỗi trờng bit có độ dài 128 bytes. Nó đòi hỏi 0.01 x 1000 x 1 triệu x 32 hay chính là 320 triệu phép so sánh nguyên cơ bản. Chi phí cho việc gán ban đầu cho các trờng bit có thể giúp tăng thêm chi phí.

Cách tiếp cận phân hoạch trong thuật toán phân hoạch cho phép ta sử dụng cấu trúc dữ liệu hiệu quả hơn để tính con đếm cho mỗi tập mục. Để minh hoạ cho sự hiệu quả của việc đếm sử dụng tidlist, chúng ta xét ví dụ đã nêu. Ta giả thiết rằng số phân hoạch là 1. Sau đó, trong thuật toán, phép đếm số support liên quan thực hiện 1000 phép giao. Giả thiết mỗi giao dịch bao gồm trung bình 10 mục hàng và có 1000 mục tách biệt. Ta lấy trung bình độ dài của một tidlist là 1 triệu x 10 /1000 tức là vào khoảng 10000. Vì vậy, chi phí trung bình vào khoảng 1000 x 10000 hoặc khoảng10 triệu phép toán so sánh nguyên cơ bản. Ngoài ra không còn chi phí phụ. Đây thực sự là cải thiện đáng kể của thuật toán phân hoạch so với Apriori.

Tuy nhiên, khi số phân hoạch không phải là 1 thì sự cải thiện này còn tăng lên nhiều. Để làm ví dụ, giả thiết số phân hoạch là 10. Giả thiết rằng 2000 tập mục đợc kiểm tra

giá trị support trong mỗi phân hoạch trong pha I. Độ dài trung bình của một tidlist trong trờng hợp này là 1/10 của 10000 tức là 1000. Vì vậy, tổng số phép so sánh là 10 x 2000 x 1000 = 20 triệu trong pha I. Kích thớc của tập dự tuyển toàn thể giả định là 2500. Giả thiết trung bình có 3 kết nối đợc thực hiện cho mỗi trong số các tập mục này. Vì vậy, có 3 x 2500 x 10000 = 75 triệu phép so sánh đợc thực hiện trong pha II. Nh vậy tổng cộng vẫn nhỏ hơn 100 triệu phép so sánh nguyên cơ bản (cha bằng mức 10 lần của 10 triệu). Tuy nhiên, các ví dụ trên vẫn chỉ là các kịch bản rất đơn giản. Sự so sánh thực sự phụ thuộc vào các tham số sử dụng để xây dựng cây băm, các đặc trng dữ liệu,... Tuy nhiên các giải thích trên cung cho thấy hiệu năng hơn hẳn của thuật toán phân hoạch

Một phần của tài liệu KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN (Trang 57 - 58)