Chúng ta sẽ minh họa việc sử dụng thuật toán mới để tính các luật kết hợp phân lớp thông qua một ví dụ.
Bảng 2.1.Ví dụ tập mẫu học để tìm các luật kết hợp phân lớp theo thuật toán cải tiến
A B C D CL 1 1 0 2 1 Y 2 1 2 1 0 Y 3 2 1 2 2 Y 4 2 2 3 3 Y 5 1 0 2 1 N 6 1 1 2 4 N Tính các Eij như sau: E1,2 = A.CL; E1,3 = C.CL; E1,4 = CL; E1,5 = ABCD; E1,6 = AC E2,3 = CL; E2,4 = B.CL; E2,5 = A; E2,6 = A; E3,4 = A.CL; E3,5 = C; E3,6 = BC; E4,5 = ∅; E4,6 = ∅; E5,6 = AC.CL
Tính CLD = { M1,2 = <(A=1), (CL=Y)>; M1,3 = <(C=2), (CL=Y)>; M2,4 = <(B=2), (CL=Y)>; M3,4 = <(A=2), (CL=Y)>; M5,6 = <(A=1), (CL=N)>}
Để thuận tiện ta ký hiệu:
<(Ai, giá trị)…, nhãn lớp> cho mục luật <(Ai=giá trị)…, Y>; Với ký hiệu trên ta có:
CLD = {M1,2 = <(A,1),Y>; M1,3 = <(C,2),Y>; M2,4 = <(B,2),Y>; M3,4 = <(A,2),Y>; M5,6 = <(A,1)(C,2),N>}
Với M1,2 ta có số hỗ trợ dương là 2; số hỗ trợ âm của X1,2 là 1 do vậy với luật:
(A=1) → Y ta có hệ số hỗ trợ là 2/6 * 100% = 33,3% và hệ số chắc chắn là 50%
Tương tự:
Với M1,3 ứng với luật (C=2) → Y ta có: hệ số hỗ trợ là 33,3% và hệ số chắc chắn là 50%;
Với M2,4 ứng với luật (B=2) → Y ta có: hệ số hỗ trợ là 33,3% và hệ số chắc chắn là 100%
Với M3,4 ứng với luật (A=2) → Y ta có: hệ số hỗ trợ là 33,3% và hệ số chắc chắn là 100%
Với M5,6 ứng với luật <(A=1),(C,2)> → N ta có: hệ số hỗ trợ là 33,3% và hệ số chắc chắn là 67%.
Ta có bảng tổng hợp sau:
Bảng 2.2.Bảng tổng hợp
Mục luật s+ cout supt Condset s- count confd
(A,1),Y 1 2 33% (A,1) 6 4 50% (A,2),Y 1 2 33% (A,2) 1 2 100% (C,2),Y 1 2 33% (C,2) 6 4 50% (C,2),N 1 2 33% (C,2) 6 4 50% (B,2),Y 1 2 33% (B,2) 1 2 100% (A,1),(C,2),N 1 2 33% (A,1),(C2) 3 3 67%
Như vậy nếu Minsup = 30% và Minconfd = 60% ta sẽ thấy có các mục luật sau là vừa phổ biến và chính xác:
(A,1) → N (C,2) → N
(A,2) → Y (B,2) → Y
Để đánh giá hiệu quả thực hiện của thuật toán cải tiến so với thuật toán cổ điển, chúng ta ước tính số phép toán:
Để tính được tập bằng nhau: chúng ta cần thực hiện: 62 x 4/2 = 72 phép tính
Tính Bảng 4 ta cần: 15 phép tính + 15 phép tính = 30 phép tính Tổng cộng cần 102 phép tính.
Nếu xét với cùng ví dụ trên, chúng ta có thể tìm luật kết hợp phân lớp theo CBA-RG:
Với Minsup = 30% và Minconfd = 60%. Ta tìm các khoản mục phổ biến, bằng cách duyệt trên bảng ta có:
- Bảng 1: liệt kê các khoản mục và các hệ số hỗ trợ của các khoản mục - Bảng 2: liệt kê các luật phân lớp phổ biến 1 – khoản mục
- Bảng 3: liệt kê các luật phân lớp phổ biến 2 – khoản mục Các luật phân lớp phổ biến 3 – khoản mục trở nên không có.
Bảng 2.3a – Khoản mục Khoản mục Count supt A = 1 4 67% A = 2 2 33% B = 0 2 33% B = 1 2 33% B = 2 2 33% C = 1 1 17% C = 2 4 67% C = 3 1 17% D = 0 1 17% D = 1 2 33% D = 2 1 17% D = 3 1 17% D = 4 1 17%
Bảng 2.3b – Các luật kết hợp phân lớp phổ biến 1 – Khoản mục
Mục luật Count Supt confd
(A,1),Y 2 33% 50% (A,2),Y 2 33% 100% (B,2),Y 2 33% 100% (C,2),Y 2 33% 50% (A,1),N 2 33% 50% (C,2),N 2 33% 50%
Bảng 2.3c – Các luật kết hợp phân lớp 2 – khoản mục
Mục luật Count Supt confd (A,1),(B,2),Y 1 17% 100% (A,1),(C,2),Y 1 17% 100% (A,1),(C,2),N 2 33% 100%
So sánh với điều kiện Minsup = 30% và Minconfd = 60% chúng ta thấy có các mục luật vừa chính xác vừa phổ biến là:
(A,1) -> N (C,2) → N (A,2) → Y (B,2) → Y Ước tính số phép toán thực hiện:
Ta chọn phép so sánh giá trị ở 1 khoản mục làm đơn vị.
Để có được kết quả ở Bảng 1 cần thực hiện 62 x 4 =144 phép tính. Để có được Bảng 2 cần thực hiện: 6 x 6 = 36 phép tính. Để có được Bảng 3 cần thực hiện: 3 x 6 = 18 phép tính.
Tổng cộng cần là: 198 phép tính (= O(m2.n)) Chưa kể các phép so sánh và tính supt và confd…
Như vậy, tuy độ phức tạp tính toán của thuật toán cải tiến là O(m2.n) nhưng số lượng phép toán giảm được khoảng 1/2 so với CBA-RG.
CHƯƠNG 3.
CHƯƠNG TRÌNH THỬ NGHIỆM TÌM CÁC LUẬT KẾT HỢP PHÂN LỚP DỰA TRÊN TẬP MẪU HỌC