Bƣớc 1: Tạo ra m bộ thuộc tính từ tập n thuộc tích ban đầu.
- Mỗi bộ chứa 2*n/m thuộc tính. Gồm: o n/m thuộc tính đều nhau o n/m thuộc tính ngẫu nhiên
Bƣớc 2: Tính thang điểm ƣớc lƣợng cho từng bộ thuộc tính
- Dùng RF tính thang điểm ƣớc lƣợng cho các bộ thuộc tính. => Đƣợc tập các giá trị ƣớc lƣợng f(i) (i=1,..,m)
Bƣớc 3: Tính ranking theo trọng số của từng thuộc tính.
- Trọng số của mỗi thuộc tính i đƣợc tính theo công thức: 𝑊𝑗 = 𝑘𝑖𝑗 ∗ 𝑓𝑗
𝑚
𝑗 =1
kij = 0 nếu thuộc tính thứ i không đƣợc chọn trong bộ thuộc tính thứ j kij = 1 nếu thuộc tính thứ i đƣợc chọn trong bộ thuộc tính thứ j
Bƣớc 4: Xây dựng tập mới gồm p% thuộc tính tốt nhất
Quay lại B1. Điều kiện dừng a) số thuộc tính < ngƣỡng cho phép, hoặc bộ thuộc tính mới có độ thích hợp không lớn hơn bộ thuộc tính vừa xác định trƣớc đó.
b) Số vòng lặp xác định
Thuật toán trên đƣợc đề xuất dựa vào giải thuật di truyền, ở đây m là cỡ của quần thể có thể đƣợc tạo ngẫu nhiên hoặc xác định ngay từ ban đầu, m đƣợc xác định tùy theo số lƣợng thuộc tính của bài toán. Sau đó giống nhƣ GAs, chúng ta cũng phải xác định hàm thích nghi, tức là tính độ thích nghi của mỗi cá thể, cụ thể ở thuật toán trên luận văn đề xuất dùng thuật toán học RF để tính độ thích nghi cho mỗi bộ thuộc tính, có áp dụng kỹ thuật kiểm chứng chéo trên mỗi bộ thuộc tính. Độ thích nghi của mỗi bộ thuộc tính đƣợc xác định là số lần phân lớp đúng khi cho các bản ghi qua thuật toán RF. Nhƣng khác với GAs, thuật toán đề xuất không thực hiện lựa chọn lai ghép và đột biến để ra đƣợc các cá thể mới, mà luận văn đề xuất phƣơng án tính độ thích nghi(trọng số) cho các thuộc tính theo công thức ở trên. Rồi từ đó tạo ra bộ thuộc tính mới bằng cách lấy các thuộc tính có trọng số cao nhất, loại bỏ các thuộc tính có trọng số thấp. Lặp lại quá trình trên cho đến khi đƣợc một bộ thuộc tính với số lƣợng thuộc tính cho phép hoặc bộ thuộc tính mới tìm đƣợc có độ thích nghi không lớn hơn bộ thuộc tính tìm đƣợc ở lần gần nhất. Khi đó chúng ta sẽ có bộ thuộc tính đƣợc lựa chọn là các thuộc tính có độ phù hợp cao nhất.