Thuật toán FOCUS

Một phần của tài liệu LỰA CHỌN THUỘC TÍNH TRONG KHAI PHÁ DỮ LIỆU (Trang 32 - 34)

Focus là một thuật toán rút gọn thuộc tính cũng được xây dựng theo cách tiếp cận filter. Thuật toán này áp dụng phương pháp tìm kiếm từng bước ưu tiên độ rộng từ thấp đến cao trong số tất cả các tập con của các thuộc tính để tìm ra tập con nhỏ nhất mà vẫn bảo tồn được tính nhất quán của tập dữ liệu huấn luyện. Tựa code của FOCUS là như sau:

FOCUS(O, c).

O: tập tất cả các đối tượng; c: số các thuộc tính điều kiện;

(1) R ← { }

(2) for num = 1...c

(3) for mỗi tập con L có cỡ num

(4) cons = Độnhấtquán(L, O)

(6) R ←L

(7) return R

(8) else continue

Với mỗi giá trị num = 1, … , c , FOCUS kiến tạo tất cả các tập con thuộc

tính cỡ num (tập con gồm num thuộc tính). Sau đó kiểm tra tính nhất quán của

dữ liệu đối với mỗi tập con này. Nếu tính nhất quán bị vi phạm, tập con thuộc tính tương ứng sẽ bị loại. Thủ tục tìm kiếm tiếp tục cho đến khi tìm được tập con bảo tồn sự nhất quán của dữ liệu hoặc khi tất cả các tập con thuộc tính đã được xem xét hết.

Dễ thấy, vì FOCUS sử dụng tính nhất quán của dữ liệu làm tiêu chuẩn lựa chọn tập con thuộc tính nên nó sẽ rất nhạy cảm với nhiễu dữ liệu. Hơn nữa, do số tập con (lực lượng của tập lũy thừa) của tập các thuộc tính tăng theo hàm mũ của số thuộc tính, thuật toán FOCUS sẽ không thể áp dụng được khi kích thước của tập dữ liệu huấn luyện là tương đối lớn. Để khắc phục trở ngại này, thông thường người ta cho phép tiến hành việc tìm tập thuộc tính rút gọn với một

ngưỡng tỷ lệ các đối tượng mâu thuẫn nhau cho phép nào đó. Khi đó, dòng (5) của tựa code trên đây sẽ được thay bằng lệnh kiểm tra điều kiện if cons . Chú ý rằng, số đếm các đối tượng mâu thuẫn nhau được định nghĩa là hiệu số giữa số tất cả các đối tượng mâu thuẫn nhau và số các đối tượng mâu thuẫn nhau có nhãn lớp xuất hiện nhiều nhất. Chẳng hạn, có n đối tượng mâu thuẫn

nhau trong tập dữ liệu với 2 nhãn lớp là 1 và 2; nếu trong số n đối tượng mâu

thuẫn nhau có c1 đối tượng nhận nhãn lớp 1, c2 đối tượng nhận nhãn lớp 2, c1 +

bằng n - c1 và tỷ lệ các đối tượng đối lập trong tập dữ liệu sẽ là n c N1 , trong đó N là số tất cả các đối tượng có trong tập dữ liệu.

Áp dụng FOCUS cho tập dữ liệu ví dụ 2.2: Trước tiên FOCUS đánh giá tính nhất quán của dữ liệu theo từng thuộc tính riêng biệt

, , , , ,

a b c d e f , (các tập con thuộc tính có cỡ bằng 1). Không có thuộc tính nào trong số các thuộc tính này bảo tồn tính nhất quán của dữ liệu. Chẳng hạn, với thuộc tính f , có hai đối tượng mâu thuẫn nhau là 0 và 12. Tiếp

tục vòng lặp thứ hai, FOCUS đánh giá độ nhất quán của dữ liệu theo mỗi tập con gồm hai thuộc tính a b, , a c, , a d, , a e, , a f, , b c, b d, , b e, ,

,

b f , c d, , c e, , c f, , d e, , d f, , e f, . Trong số các tập con này cũng không có tập con nào cho phép bảo tồn tính nhất quán của dữ liệu và do đó tất cả đều bị loại. Tiếp tục vòng lặp thứ ba, tìm được tập con cỡ 3 bảo tồn tính nhất quán của dữ liệu là tập a d f, , . Với kết quả này, tập thuộc tính ban đầu có thể được rút gọn lại thành tập a d f, , mà vẫn duy trì được tính nhất quán của tập dữ liệu.

Một phần của tài liệu LỰA CHỌN THUỘC TÍNH TRONG KHAI PHÁ DỮ LIỆU (Trang 32 - 34)