ƣợc xây dựng dựa trên thuật toán FP-Growth, có thể đƣa trọng số vào trong thuật toán FP-Growth mà không làm mất tính chặn dƣới đóng của tập mục thƣờng xuyên. Một khoảng trọng số và trọng số nhỏ nhất đƣợc định nghĩa và các mục đƣợc gán cho những trọng số khác nhau nằm trong khoảng trọng số.
Ta có tổng quát thuật toán nhƣ sau:
Đầu vào: CSDL giao tác D,
ngƣỡng hỗ trợ nhỏ nhất min_sup, ngƣỡng trọng số nhỏ nhất min_weight,
các trọng số nằm trong khoảng trọng số gán cho mỗi mục wi.
Ký hiệu:
D Cơ sở dữ liệu
MaxW Trọng số có giá trị lớn nhất trong CSDL giao tác MinW Trọng số có giá trị nhỏ nhất trong tập mục điều kiện min_weight Ngƣỡng trọng số tối thiểu
min_sup Ngƣỡng hỗ trợ tối thiểu support Độ hỗ trợ của các tập mục
Thuật toán WIFM
main WFIM(D, min_sup, min_weight, wi)
1. Duyệt CSDL giao tác lần đầu tiên và tìm toàn bộ các mục thƣờng xuyên có trọng số thỏa mãn định nghĩa sau: Một tập mục X là một tập mục thƣờng xuyên có trọng số nếu không thỏa mãn cả 2 điều kiện 1.1 và 1.2 dƣới đây:
Điều kiện 1.1: (support < min_sup && weight < min_weight) Điều kiện 1.2: (support * MaxW < min_sup)
2. Sắp xếp các mục theo thứ tự tăng dần trọng số. Các mục sau khi đã sắp xếp đƣợc sử dụng để tạo dựng cây FP-Tree và làm header của cây FP-Tree.
3. Duyệt CSDL giao tác lại lần 2 và xây dựng FP-Tree chung sử dụng thứ tự trọng số đã sắp xếp.
4. Khai phá cây FP-Tree từ dƣới lên để tìm kiếm các tập mục thƣờng xuyên có trọng số. Tạo dựng CSDL có điều kiện từ các mục còn lại sau khi đã lấy các mục tiền tố và tìm kiếm các tập mục thƣờng xuyên có trọng số cục bộ từ CSDL có điều kiện đó. (Một tập mục X là một tập mục thƣờng xuyên có trọng số nếu không thỏa mãn cả 2 điều kiện 4.1 và 4.2 dƣới đây:)
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Điều kiện 4.2: (support * MinW < min_sup)
5. Khi tất cả header đã đƣợc duyệt, thuật toán WFIM kết thúc, ta thu đƣợc toán bộ tập mục thƣờng xuyên có trọng số trong CSDL giao tác với khoảng trọng số đã cho.