Thuật toán RELIEF

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 29 - 32)

Đây là thuật toán lựa chọn thuộc tính đầu tiên được xây dựng theo cách tiếp cận lọc (filter). Trong quá trình thực hiện, RELEF sẽ tính toán cho mỗi

Bảng 3.1: Tập dữ liệu ví dụ

thuộc tính một trọng số phù hợp (relevance weight) phản ánh khả năng phân biệt các nhãn lớp của nó. Thuộc tính được chọn sẽ là thuộc tính có trọng số phù hợp vượt mức quy định. Thuật toán này là như sau:

RELIEF(O, c, it s, ).

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

: giá trị ngưỡng đối với trọng số (1) R ← { }

(2) Wa, Wa ←0 (3) for i = 1...it s

(4) chọn ngẫu nhiên một đối tượng x từ tập tất cả các đối tượng O (5) tính nearHit và nearMiss của x

(6) for j = 1...c

(7) Wj ←Wj − diff(x j , nearH it j )/ it s + diff(x j , nearMiss j )/ it s

(8) for j = 1...c

(9) if Wj ; R ←R { j} (10) return R

Tham số đầu tiên mà người sử dụng phải cung cấp cho RELIEF là its.

Tham số này chỉ ra số bước lặp, tức là số đối tượng mẫu được chọn liên tiếp để tính toán các trọng số. Tại mỗi lần lấy mẫu, một đối tượng x được chọn ngẫu nhiên rồi tính các giá trị nearHit và nearMiss của nó. nearHit là đối tượng có cùng nhãn lớp với x và gần x nhất, còn nearMiss là đối tượng gần x nhất nhưng

không có cùng nhãn lớp với x. Độ gần nhau được đánh giá dựa trên khoảng cách giữa các đối tượng xác định như sau: Khoảng cách giữa hai đối tượng o và x là số tất cả các thuộc tính có giá trị khác nhau trên o và x,

1 ( , ) ( , ) C i i i dist o x diff o x với ( , ) 1 0 i i i i i i o x diff o x o x

Để sử dụng RELIEF, người sử dụng còn phải cung cấp một tham số thứ hai, đó là mức thích hợp tối thiểu mà mỗi thuộc tính được chọn phải đáp ứng.

Có thể thấy, RELIEF sẽ là thuật toán lựa chọn thuộc tính không hiệu quả nếu tập dữ liệu có các thuộc tính điều kiện tương quan chặt chẽ với nhau và chúng đều cho trọng phù hợp cao như nhau. Hiện nay, RELIEF đã được một số tác giả phát triển cho phép lựa chọn thuộc tính từ cả các tập dữ liệu không nhất quán, có nhiễu và có nhiều nhãn lớp. Một tập dữ liệu được gọi là không nhất quán nếu chứa các cặp đối tượng mâu thuẫn nhau, nghĩa là các cặp đối tượng có cùng các giá thuộc tính điều kiện nhưng lại có nhãn lớp khác nhau.

Áp dụng RELIEF vào tập dữ liệu ví dụ như sau: Chọn ngẫu nhiên một đối tượng, chẳng hạn đối tượng 0. Trong trường hợp này ta có nearHit là đối tượng 5 và nearMiss là đối tượng 12. Với mỗi thuộc tính j, trọng số phù hợp của nó

được cập nhật dần bằng một giá trị phụ thuộc vào sự khác nhau giữa xj và nearHit, cũng như sự khác nhau giữa xj và nearMiss. Cụ thể là tại lần chọn ngẫu nhiên một đối tượng thứ i, trọng số phù hợp của thuộc tính j sẽ là:

Wj := Wj − diff(x j , nearH it j )/ it s + diff(x j , nearMiss j )/ it s .

Quá trình cứ tiếp tục cho đến khi số bước lặp đạt tới giới hạn quy định its.

Thuộc tính sẽ được thêm vào tập các thuộc tính lựa chọn nếu trọng số phù hợp của nó không thấp hơn mức yêu cầu Chạy RELIEF trên tập dữ liệu ví dụ với

its = 100 và = 0 thu được tập cuối cùng các thuộc tính lựa chọn là {a,d,e,f }. Như vậy, ta đã loại bỏ được hai thuộc tính dư thừa là b và c. Với tập con gồm

bốn thuộc tính được lựa chọn {a,d,e,f }, tính nhất quán của tập dữ liệu ban đầu vẫn được bảo tồn. Tuy nhiên, có thể thấy tập thuộc tính được chọn này vẫn còn có thể được thu gọn hơn bằng cách loại bỏ thêm thuộc tính e.

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 29 - 32)