Trƣớc khi trình bày về thuật toán WFIM dựa trên thuật toán FP-Tree, ngƣời viết xin trình bày về thuật toán WFIM dựa trên thuật toán Apriori. Áp dụng khoảng trọng số và ngƣỡng trọng số nhỏ nhất vào trong thuật toán Apriori. Nhớ đó, hiệu năng có thể đƣợc cải thiện nhờ vào khoảng trọng số và ngƣỡng trọng số nhỏ nhất. Phần đánh giá và so sánh với thuật toán WFIM dựa trên thuật toán FP-Tree sẽ đƣợc đề cập trong phần 3 của luận văn.
Trong thuật toán WFIM (Apriori), giá trị của MaxW của các mục trong CSDL giao tác đƣợc tính trƣớc, nếu tích của độ hỗ trợ của tập mục với MaxW trong CSDL giao tác nhỏ hơn ngƣỡng hỗ trợ nhỏ nhất, tập mục đó sẽ bị loại bỏ.
Sau đây là tóm tắt của thuật toán:
Đầ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.
Đầu ra: Tập tất cả các tập mục thƣờng xuyên có trọng số.
D Cơ sở dữ liệu
MaxW Trọng số có giá trị lớn nhất trong CSDL giao tác WFIk Tập các k-tập mục thƣờng xuyên có trọng số WFI Tập tất cả các tập mục thƣờng xuyên có trọng số Ck Tập các k-tập mục ứng viê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 WFIM (Apriori)
Main WFIM_Apriori (D, min_sup, min_weight, wi)
1. Duyệt CSDL một lần và tìm tất cả các mục thƣờng xuyên 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ố chuẩn hóa nếu nó không thỏa mãn cả 2 điều kiện tỉa 1.1 và 1.2 dƣới đây:
Điều kiện tỉa 1.1: (support < min_sup && weight < min_weight) Điều kiện tỉa 1.2: (support * MaxW < min_sup)
2. Đối với tập mục có kích thƣớc lớn hơn 2
a. Xây dựng những tập ứng viên Ck chứa những k-tập mục. Tập ứng viên Ck đƣợc tạo ra nhờ những tập hợp những (k-1)-tập mục thƣờng xuyên có trọng số đƣợc tìm ra trƣớc đó (WFIk-1). Thuật toán WFIM (Apriori) sử dụng phép giao giữa 2 phần tử thuộc WFIk-1 để tạo ra các phần tử cho tập Ck.
k k 1 k 1
C WFI WFI
b. Tiếp theo, duyệt lại CSDL giao tác lần nữa và tính độ hỗ trợ của các phần tử trong tập ứng cử Ck.
c. Một phần tử trong Ck là k-tập mục thƣờng xuyên có trọng số ( WFIk) nếu không thỏa mãn cả 2 điều kiện tỉa 2.1 và 2.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 tỉa 2.1: (support < min_sup && weight < min_weight) Điều kiện tỉa 2.2: (support * MaxW < min_sup)
d. Loại bỏ tất cả các tập mục không thƣờng xuyên có trọng số trong Ck nếu chúng thỏa mãn ít nhất một trong hai điều kiện tỉa 2.1 và 2.1.
3. Đƣa ra tất cả các tập mục thƣờng xuyên có trọng số (WFI). Kết thúc thuật toán WFIM (Apriori)
Thuật toán WFIM (Apriori) dựa trên thuật toán Apriori nên cần tạo ra các tập ứng viên và kiểm tra các phần từ trong tập ứng viên đó. Số lƣợng tập mục thƣờng xuyên có trọng số có thể giảm do có thêm các tham số nhƣ khoảng trọng số và ngƣỡng trọng số nhỏ nhất. Tuy nhiên, tổng chi phí cho việc tạo dựng, kiểm tra các phần tử trong tập Ck cũng nhƣ duyệt CSDL giao tác nhiều lần là rất lớn. Do đó, thuật toán WFIM dựa trên thuật toán FP-Tree đƣợc tạo ra, hiệu quả và dễ phát triển hơn.