Việc tính toán support count cho các itemset ứng cử viên Ck là một bài toán quan trọng trong việc tìm các frequent itemset, vì số ứng cử viên có thể là rất lớn và có một giao dịch có thể chứa nhiều ứng cử viên. Để tạo điều kiện tính toán
41
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nhanh các support count, chúng ta cần có phương pháp hiệu quả để xác định các itemset của Ck được chứa trong một giao dịch
Chính vậy, trong hàm Subset, Ck cần được lưu trữ trong một cây băm. Các nút của cây băm có hai loại: nút lá (chứa danh sách itemset), nút trong (là mộ bảng băm). Đối với nút trong, các ngăn chứa của bảng băm trỏ đến một nút khác. Nút gốc được định nghĩa là nút có độ sâu là 1. Nút trong ở độ sâu d trỏ đến các nút ở độ sâu d+1. Các itemset được lưu trữ ở các nút lá.
Khi thêm một itemset c, chúng ta bắt đầu từ nút gốc và đi xuống cho đến khi gặp nút lá. Tại một nút trong độ sâu d, áp dụng hàm băm đối với item thứ d của itemset để xác định nhánh đi kế tiếp. Tất cả các nút được tạo ra ban đầu là nút lá. Khi số itemset ở nút lá vượt quá ngưỡng chỉ định, thì nó được chuyển thành nút trong.
Khi tìm kiếm, hàm Subset bắt đầu từ nút gốc và tất cả các ứng cử viên được chứa trong một giao dịch T như sau: Nếu chúng ta ở nút lá, chúng ta tìm tất cả các itemset ở nút lá được chứa trong T và thêm chúng vào tập kết quả. Nếu chúng ta ở nút trong và chúng ta đến nó bằng item i, thì chúng ta băm tất cả các item sau i trong T và áp dụng đệ quy thủ tục này cho nút trong ngăn chứa tương ứng. Đối với nút gốc, chúng ta băm mỗi item trong T.