- Mô hình trượt cửa sổ (Sliding Window):
P. S., Muntz R R, 2006]
(Yen, 2009).…
Bảng 2.3: Phân loại các thuật toán theo mô hình dữ liệu và kiểu thuật toán
Lấy mốc thời gian (Landmark Window)
Lấy mốc thời gian có trọng số (Damped Window) Trƣợt cửa sổ (Sliding Window) Khai phá chính xác FUP [Cheung D. W., Han J., Ng V., Wong C. Y, 1996] CloStream [Yen, 2009] FUP2 [Cheung D. W., Lee S. D., Kao B, 1997] Thomas's [Thomas S., Bodagala S., Alsabti K., Ranka S, 1997] Moment [Chi Y., Wang H., Yu
P. S., Muntz R. R, 2006] 2006]
Khai phá
xấp xỉ [H.-F., Lee, S.-Y., DSM-FI Shan, M.-K, 2004] Sticky Sampling [Manku G., Motwani R, 2002] Lossy Counting [Manku G., Motwani R, 2002] estDec [Chang J. H., Lee W. S, 2003]. Giannella's [Giannella C., Han J., Pei J., Yan X., Yu P. S, 2004]
2.4.3. Thuật toán Clostream
Mô hình dữ liệu Kiểu thuật toán
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Thuật toán CloStream [8]đƣợc Show-Jane Yen và các cộng sự tại Khoa Khoa học máy tính và Kỹ thuật thông tin, Trƣờng Đại học Ming Chuan - Đài Loan công bố năm 2009[8]. Đây là một thuật toán khai phá tập mục thƣờng xuyên đóng trên dòng dữ liệu giao tác, có nhiều ƣu điểm vƣợt trội so với các thuật toán khai phá tập mục thƣờng xuyên đóng trƣớc đó
2.4.3.1. Cấu trúc dữ liệu sử dụng trong thuật toán.
Thuật toán CloStream sử dụng hai cấu trúc dữ liệu trong bộ nhớ chính: Bảng để lƣu các tập mục đóng, gọi là Bảng đóng CT (Close Table) và Danh sách các định danh CL (Cid List). Thêm vào đó, thuật toán sử dụng một bảng băm tạm thời Temp để lƣu các tập mục cần cập nhật khi có một giao tác mới xuất hiện.
Bảng đóng CT lƣu thông tin về các tập mục đóng, mỗi dòng của bảng gồm 03 trƣờng dữ liệu : định danh (Cid), tập mục đóng (CI) và số lần xuất hiện của tập mục đóng đó (SC - Support Count). Mỗi tập mục đóng có một định danh duy nhất gọi là cid. Trƣờng Cid đƣợc sử dụng để xác định tập mục đóng. Khi biết Cid, thuật toán sẽ nhận tập mục đóng tƣơng ứng ở trong trƣờng CI. Số lần xuất hiện của tập mục đóng sẽ lƣu trong trƣờng SC. Ban đầu bảng đóng CT đƣợc khởi tạo giá trị dòng thứ nhất là 0.
Bảng 2.4: Bảng đóng CT sau khi thêm vào 5 giao tác trong bảng 2.2.
Cid CI SC 0 {0} 0 1 {CD} 2 2 {AB} 3 3 {ABC} 2 4 {C} 4 5 {ACD} 1 6 {A} 4 7 {AC} 3
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Danh sách định danh CL đƣợc sử dụng để lƣu các mục dữ liệu và tập các định danh của các tập mục đóng chứa nó. Bảng này gồm 2 trƣờng dữ liệu: mục dữ liệu (Item) và tập chứa định danh các tập mục đóng chứa nó (cidset). Tập định danh của mục X đƣợc ký hiệu là cidset(X), nó là tập chứa tất cả các định danh của các tập mục đóng chứa X. Quá trình cập nhật bảng định danh CL đƣợc cập nhật nhƣ sau:
Đầu tiên thuật toán tìm tập mục đóng mới Y và gán c là định danh của nó, sau đó c sẽ đƣợc thêm vào tập định danh của mục dữ liệu có chứa trong tập mục Y. Chẳng hạn, nếu AB là tập mục đóng, định danh của nó đƣợc gán là 2 thì 2 sẽ đƣợc thêm vào tập định danh của mục A là cidset(A) và tập định danh của mục B là cidset(B). Bảng 2.4 minh họa danh sách định danh CL.
Ngoài hai cấu trúc dữ liệu chính đƣợc mô tả ở trên thuật toán còn sử dụng một bảng băm tạm thời Temp, đƣợc sử dụng để lƣu các tập mục cần cập nhật khi có một giao tác mới đến. Bảng băm Temp có 2 trƣờng dữ liệu: trƣờng TI chứa tập mục dữ liệu (trƣờng này là khóa) và trƣờng định danh đóng Closure_Id. Một tập mục S cần cập nhật sẽ đƣợc lƣu vào trƣờng TI, định danh đóng của nó lƣu vào trƣờng Closure_Id. Bảng 2.5 minh họa cho bảng băm Temp, trong bảng này dòng thứ hai là (B, 2), tập mục đóng tƣơng ứng của B là AB trong bảng đóng CT (bảng 2.3), số lần xuất hiện của B là bằng số lần xuất hiện của bao đóng AB của nó và bằng 2.
Bảng 2.5: Bảng định danh CL sau khi thêm 5 giao tác trong bảng 2.2.
Mục dữ liệu (Item) Tập các định danh (Cidset) A {2, 3, 5, 6, 7} B {2, 3} C {1, 3, 4, 5, 7} D {1, 5}
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.4.3.2.Các bước thực hiện của thuật toán CloStream.
Thuật toán CloStream xử lý dữ liệu dựa trên mô hình mốc thời gian (Landmark Window), khai phá trên các giao tác từ thời điểm bắt đầu đến thời điểm hiện tại. Với mô hình xử lý dữ liệu này thuật toán chỉ có thao tác bổ sung các giao tác mới đến mà không có thao tác loại bỏ các giao tác cũ.
Khi có một giao tác mới đến, thuật toán thực hiện xử lý dựa trên các nhận xét sau:
Giả sử t là một giao tác mới đến, D là cơ sở dữ liệu trƣớc khi thêm t vào. D’=D {t} là cơ sở dữ liệu đã cập nhật khi thêm giao tác mới t. SCD(X) và SCD
,(X) tƣơng ứng là số lần xuất hiện của tập mục X trong D và D’. CD(X)và CD’(X) tƣơng ứng diểu diễn bao đóng cuả X trong D và D’. Tập các mục đóng
trong D và D’ ký hiệu là CD và CD’