Thuật toán CLOSET

Một phần của tài liệu Luận văn Thạc sĩ Công nghệ thông tin: Phương pháp khai thác theo chiều ngang để trích xuất các tập phổ biến (Trang 38 - 42)

Chương 2 CƠ SỞ LÝ THUYẾT

2.3. Một số thuật toán khai thác tập phổ biến

2.3.3. Thuật toán CLOSET

Thuật toán CLOSET [6] là mở rộng của thuật toán FP-growth [4], trong đó xây dựng một cây FP-Tree và đệ quy có điều kiện cây FP-Tree từ dưới lên để khai thác tập đóng:

1. Cho Y là tập các mục trong f_list sao cho chúng xuất hiện trong mọi giao tác

của DB, thêm XY vào FCI nếu nó không phải là một tập con của FCI với cùng

độ phổ biến;

2. Xây dựng FP-Tree cho DB, các mục đã được trích xuất nên được loại trừ

3. Trích xuất các tập đóng phổ biến nếu có thể

4. Xây dựng cơ sở dữ liệu có điều kiện cho tất cả các hạng mục còn lại trong f_list, đồng thời tính toán độ phổ biến cho mục cục bộ của các cơ sở dữ liệu có điều kiện này.

5. Đối với mỗi mục còn lại trong f_list, bắt đầu từ mục cuối cùng, gọi đệ quy CLOSET (iX; DB|i; f_listi; FCI) nếu iX không phải là một tập con của bất kỳ tập phổ biến đóng với cùng độ phổ biến, khi đó DB|i ký hiệu i-cond DB và f_listi

là mục phổ biến tương ứng.

Hình 2.13 Thuật toán CLOSET

Thuật toán CLOSET

Input: CSDL giao tác TDB và minsup; Output: FCI;

Method:

1. Khởi tạo: FCI 

2. Tính độ phổ biến: Duyệt CSDL giao tác gán vào f list;

3. CLOSET(; TDB; f_list; FCI).

Subroutine CLOSET(X; DB; f_list; FCI) Tham số:

X: các tập phổ biến nếu DB là X-cond DB

 nếu DB là TDB;

DB: transaction database of conditional database;//cơ sở dữ liệu có điều kiện f_list: danh sách các hạng mục phổ biến của DB;

26

Ví dụ 2.15: Cho một CSDL giao tác như sau:

Mã giao tác Nội dung giao tác

1 a, c, d, e, f 2 a, b, e 3 c, e, f 4 a, c, d, f 5 c, e, f Bảng 2.12 CSDL giao tác gồm 5 giao tác và 5 hạng mục

Minh họa thuật toán CLOSET

Hình 2.14 Thuật toán CLOSET khai thác tập phổ biến đóng

TDB cefad ea cef cfad cef d-cond DB (d:2) cefa cfa e-cond DB (e:4) c:3 ea-cond DB (ea:2) c a-cond DB (a:3) cef e cf f-cond DB (f:4) ce:3 c

f_list:{c:4, e:4, f:4, a:3, d:2}

Output F.C.I: cfad:2

Output F.C.I: a:3

Output F.C.I: ae:2

Output F.C.I: cf:4, cef:3

27

Diễn giải thuật toán:

Trong CSDL bảng 2.12 với minsup = 2, sử dụng phương pháp chia để trị trong khai thác các tập phổ biến đóng như trong hình 2.14

1. Tìm hàng mục phổ biến: Duyệt CSDL để tìm tập hợp các hạng mục phổ biến và lập một danh sách hạng mục phổ biến, được gọi là f_list, f_list = {c: 4; e: 4; f: 4; a: 3; d: 2}, trong đó các mục được sắp xếp giảm dần theo độ phổ biến như trong Hình 2.14

2. Kỹ thuật chia để trị: Tất cả các tập đóng phổ biến có thể được chia thành 5 tập con không chồng lên nhau dựa trên f_list:

- Các tập con chứa mục d,

- Các tập con chứa mục a và không chứa mục d, - Các tập con chứa mục f và không chứa mục a và d, - Các tập con chứa mục e và không chứa mục f, a và d - Các tập con chỉ chứa mục c

3. Quá trình tìm các tập con của các tập đóng phổ biến: Các tập con của các tập đóng phổ biến có thể được khai thác bằng cách xây dựng các cơ sở dữ liệu tương ứng và điều kiện đệ quy của chúng.

(a) Tìm các tập đóng phổ biến có chứa d. Chỉ giao tác có chứa d là cần thiết. Cơ sở dữ liệu có điều kiện, được ký hiệu là TDB|d, chứa tất cả các giao tác có d, đó là {cefa, cfa}. Chú ý hạng mục bị loại bỏ trong mỗi giao tác vì nó xuất hiện trong mọi giao tác của cơ sở dữ liệu có điều kiện.

Độ phổ biến của d là 2. Các mục c, f và a xuất hiện hai lần tương ứng trong TDB|d. Có nghĩa là mọi giao tác có chứa d cũng chứa c, f và a. Hơn nữa, e là không phổ biến vì nó chỉ xuất hiện một lần trong TDB|d. Do đó, cfad: 2 là tập phổ biến đóng. Quá trình khai thác của TDB|d kết thúc.

(b) Tìm các tập phổ biến đóng có chứa a không có d. Tương tự, cơ sở dữ liệu có điều kiện, TDB|a = {cef; e; cf}. Mục d trong các giao tác như vậy được bỏ qua, vì các tập phổ biến đóng có chứa d đã được tìm thấy trong TDB|d. Vì sup (a) = 3 và không có bất kỳ mục nào xuất hiện trong mọi giao tác của TDB|a, như vậy a: 3 là một mục đóng.

28

Để tìm các mục phổ biến đóng còn lại có chứa a nhưng không d, chúng ta cần phải tiếp tục khai thác TDB|a. Đầu tiên, tập các mục phổ biến trong TDB|a, f_lista = {c: 2; e: 2; f: 2}3. Theo f_lista, các tập phổ biến đóng có chứa a nhưng không d có thể được phân chia thêm thành ba tập con:

(1) Tập con có chứa af nhưng không d,

(2) Tập con có chứa ae nhưng không chứa d hoặc f, (3) Tập con có chứa ac nhưng d, e hoặc f.

Chúng có thể được khai thác bằng cách xây dựng cơ sở dữ liệu có điều kiện đệ quy. Độ phổ biến fa tương đương với cfad, do đó fa và a cũng là một hạng mục phổ biến đóng được tìm thấy. Điều đó có nghĩa là mọi giao tác có chứa fa cũng phải chứa cfad. Do đó, không có mục phổ biến đóng có chứa fa nhưng không có d. Tương tự như vậy, không có mục phổ biến đóng chứa ca không d, e hoặc f, vì ca là một tập con của cfad và sup (ca) = sup (cfad). Cơ sở dữ liệu có điều kiện ea, TDB|e a = {c}, không thể tạo ra bất kỳ mục phổ biến nào. Vì vậy, ea: 2 là tập phổ biến đóng.

(c) Tìm các tập phổ biến đóng chứa f nhưng không có d. TDB|f = {ce: 3; c}, c xuất hiện trong mọi giao tác f-cond, và cf không phải là tập hợp con của bất kỳ tập phổ biến đóng nào có cùng sự phổ biến, do đó cf: 4 là một tập phổ biến đóng. Độ phổ biến của fc bằng với f và c, f và c luôn xuất hiện cùng nhau, do đó không có các tập phổ biến đóng chứa c nhưng không có f. Ngoài ra, cef: 3 không phải là tập hợp con của bất kỳ mục nào được tìm thấy, do đó, nó là một tập phổ biến đóng.

(d) Tìm các phổ biến đóng chứa e nhưng không có f, a và d. Tương tự, TDB|e = {c: 3}. Nhưng ce không phải là một tập đóng vì nó là một tập con của cef và sup(ce) = sup(cef). Tuy nhiên, e: 4 là một tập phổ biến đóng.

(e) Tìm các tập phổ biến đóng chỉ chứa c. Chúng ta biết rằng không có các tập phổ biến đóng chỉ có chứa c nhưng không có f, do đó không có các tập phổ biến đóng chỉ chứa c.

4. Tóm lại, tập hợp các tập phổ biến đóng được tìm thấy là {acdf: 2, a: 3, ae: 2, cf: 4, cef: 3, e: 4}

Đánh giá: Mặc dù CLOSET sử dụng một số kỹ thuật tối ưu hóa để nâng cao hiệu quả hoạt động khai thác, hiệu quả của nó vẫn chưa cao trong bộ dữ liệu thưa thớt hoặc khi ngưỡng phổ biến thấp.

29

Một phần của tài liệu Luận văn Thạc sĩ Công nghệ thông tin: Phương pháp khai thác theo chiều ngang để trích xuất các tập phổ biến (Trang 38 - 42)

Tải bản đầy đủ (PDF)

(73 trang)