Tải bản đầy đủ (.pdf) (18 trang)

KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG CẤU TRÚC IT-TREE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (985.6 KB, 18 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
ĐẠI HỌC CƠNG NGHỆ THÔNG TIN

CHUYÊN ĐỀ
KHAI PHÁ DỮ LIỆU VÀ NHÀ KHO DỮ LIỆU

BÀI THU HOẠCH

KHAI THÁC TẬP PHỔ BIẾN ĐÓNG
SỬ DỤNG CẤU TRÚC IT-TREE

GIẢNG VIÊN GIẢNG DẠY
PGS. TS. ĐỖ PHÚC

HỌC VIÊN THỰC HIỆN
LÊ CUNG TƯỞNG (CH1101152)

Hồ Chí Minh, 11/2012


Page |1

Mục lục
Mục lục..........................................................................................................................1
Lời mở đầu....................................................................................................................2
1.

Kiến thức cơ bản ..............................................................................................3

1.1.
1.2.


1.3.
1.4.

Cơ sở dữ liệu giao dịch ...................................................................................... 3
Tập phổ biến ...................................................................................................... 3
Luật kết hợp ....................................................................................................... 4
Bài toán khai thác tập phổ biến và luật kết hợp ................................................. 4

2.

Khai thác tập phổ biến đóng ...........................................................................5

2.1.
2.2.
2.2.1.
2.2.2.
2.2.3.
2.3.
2.3.1.
2.3.2.
2.3.3.
2.4.
2.4.1.
2.4.2.
2.4.3.
2.4.4.

Cấu trúc IT-tree (Itemset Tidset – tree) và các lớp tương đương ...................... 5
Thuật toán Eclat ................................................................................................. 6
Thuật toán ...................................................................................................... 6

Minh hoạ thuật toán Eclat .............................................................................. 6
Nhận xét ......................................................................................................... 7
Một số định nghĩa và tính chất ........................................................................... 9
Tốn tử đóng .................................................................................................. 9
Tập phổ biến đóng ......................................................................................... 9
Các tính chất của IT-Pair ............................................................................. 10
Thuật toán CHARM ......................................................................................... 10
Giới thiệu ..................................................................................................... 10
Thuật toán .................................................................................................... 11
Minh hoạ ...................................................................................................... 13
Kiểm tra gộp nhanh ...................................................................................... 14

3.

Cài đặt thuật toán CHARM ..........................................................................15

3.1.
3.2.
3.3.

Cấu trúc tệp tin dữ liệu..................................................................................... 15
Chức năng ........................................................................................................ 15
Hướng dẫn sử dụng .......................................................................................... 15

Kết luận .......................................................................................................................16
Tài liệu tham khảo .....................................................................................................17


Page |2


Lời mở đầu
Chúng ta đang sống trong thời đại bùng nổ Công nghệ Thông tin với khối lượng
thông tin khổng lồ. Điều này địi hỏi con người phải tìm kiếm phương pháp rút trích
ra các tri thức từ khối lượng dữ liệu này. Lĩnh vực khai phá tri thức và khai thác dữ
liệu được hình thành và phát triển nhằm đáp ứng nhu cầu này.
Hiện nay, lĩnh vực khai thác dữ liệu có 3 bài tốn chính được đề cập nhiều nhất:
(1) khai thác luật kết hợp, (2) phân lớp và (3) gom nhóm dữ liệu. Các bài tốn này
nhằm đáp ứng cho việc khai thác dữ liệu văn bản, khai thác dữ liệu không gian, thời
gian, khai thác dữ liệu Web...
Khai thác luật kết hợp là tìm ra các mối quan hệ giữa các item với nhau. Vế phải
của luật kết hợp có thể chứa một hay nhiều item. Vì vậy, độ phức tạp của bài tốn
khai thác luật kết hợp rất lớn. Muốn khai thác luật kết hợp, trước tiên phải khai thác
được tập phổ biến. Đã có khá nhiều thuật tốn được phát triển nhằm làm tăng hiệu
quả khai thác tập phổ biến và tập phổ biến đóng: các thuật tốn phát triển từ Apriori,
các thuật toán phát triển từ FP-tree, các thuật toán phát triển từ IT-tree...
Trong bài thu hoạch này, tơi tập trung tìm hiểu thuật toán CHARM [5] đề suất bởi
Zaki cùng cộng sự để khai thác tập phổ biến đóng dựa trên cấu trúc IT-tree. Ngồi ra,
tơi có sử dụng cách hiểu, ví dụ minh họa và một số cải tiến của TS. Võ Đình Bảy
trong luận án Tiến Sĩ [6] cho thuật tốn CHARM. Tơi đã tiến hành cài đặt thuật tốn
CHARM trên mơi trường Visual Studio 2005 để minh họa cho những gì tơi tìm hiểu
trong bài thu hoạch này.


Page |3

1.

Kiến thức cơ bản

1.1.


Cơ sở dữ liệu giao dịch

Cơ sở dữ liệu (CSDL) giao dịch

gồm một bộ đơi

trong đó



tập các item và

là tập các giao dịch. Cơ sở dữ liệu (CSDL) trong

Bảng 1 được lấy làm ví dụ cho toàn bộ bài viết.
Bảng 1. Cơ sở dữ liệu mẫu

Giao tác
1
2
3
4
5
6

1.2.

Danh mục
A, C, T, W

C, D, W
A, C, T, W
A, C, D, W
A, C, D, T, W
C, D, T

Tập phổ biến

Độ phổ biến: Cho CSDL giao dịch
, kí hiệu

và một itemset

. Độ phổ biến của

trong

, là số giao dịch mà X xuất hiện trong D.

Ví dụ: Xét CSDL của Bảng 1, ta có

vì A chứa trong 4 giao dịch 1345,

vì AD chứa trong các giao dịch 45.
Tập phổ biến:

được gọi là phổ biến nếu

(với


là giá trị do người dùng chỉ định).
Ví dụ: Xét CSDL của Bảng 1 với

thì A là tập phổ biến vì

nhưng AD khơng phải là tập phổ biến vì
.
Tính chất
- Mọi tập con của một tập phổ biến cũng phổ biến:
thì

, nếu

.

- Mọi tập cha của một tập khơng phổ biến cũng khơng phổ biến:
thì

.

, nếu


Page |4

1.3.

Luật kết hợp

Luật kết hợp: là biểu thức có dạng


, trong đó

là độ phổ biến của luật và

được gọi

được gọi là độ tin cậy của luật.

Tập các luật kết hợp từ CSDL

thỏa



được

gọi là tập luật kết hợp truyền thống.
Một số tính chất của luật kết hợp
- Nếu

là luật kết hợp truyền thống thì

truyền thống

.

- Nếu

là luật kết hợp truyền thống thì


truyền thống
- Nếu

cũng là luật kết hợp

cũng là luật kết hợp

.
khơng là luật kết hợp thì

cũng khơng là luật kết hợp

.

1.4.

Bài toán khai thác tập phổ biến và luật kết hợp

Khai thác luật kết hợp bao gồm 2 bước như sau:
Bước 1 (tìm tập phổ biến): tìm tất cả các tập phổ biến với độ hỗ trợ lớn hơn độ
hỗ trợ tối thiểu (

). Đặt

, chúng ta tìm được tập hợp các tập

phổ biến thỏa điều kiện như trong Bảng 2. Trong đó CDT, ACTW và ACDW là các
tập phổ biến tối đại (không là một tập con của bất kỳ tập phổ biến nào khác).
Bảng 2. Tập hợp các tập danh mục phổ biến


Độ tin cậy
100%
83%
67%
50%
33%

Các tập danh mục phổ biến
C
W, CW
A, D, T, AC, AW, CD, CT, ACW
AT, DW, TW, ACT, ATW,
CDW, CTW, ACTW
AD, DT, CDT, ACD, ADW,
ACDW

Bước 2 (phát sinh luật kết hợp): Luật kết hợp được được tạo ra từ các tập phổ
biến tìm thấy ở bước 1 thỏa mãn

.

Ví dụ: từ một tập phổ biến ACW có thể tạo 6 luật là:
0.67;

: 0.8;

: 1.0;

: 1.0 và


: 1.0;
: 0.8.

:


Page |5

2.

Khai thác tập phổ biến đóng

2.1.

Cấu trúc IT-tree (Itemset Tidset – tree) và các lớp tương
đương

Cho tập các item và

, hàm

tương đương dựa vào tiền tố

chứa

phần tử đầu của

và một quan hệ


trên các itemset được định nghĩa như sau:

Nói cách khác, hai itemset thuộc cùng một lớp tương đương khi và chỉ khi chúng
có chung

phần tử đầu phổ biến. Xét cây IT-tree như Hình 1, mỗi nút đại diện cho

một cặp Itemset-Tidset

là một lớp tiền tố. Tất cả các nút con của nút X

thuộc về lớp tương đương của nút X bởi vì chúng có chung tiền tố X.

Hình 1. Cây IT-tree và các lớp tương đương

Lớp tương đương

ký hiệu là:

là một item, đại diện cho nút
với

, trong đó

. Ví dụ nút gốc của cây IT-tree tương ứng

, nút trái cùng của nút gốc là lớp

chứa


là nút cha và mỗi

chứa tất cả các itemset

là tiền tố.

Việc tạo ra các nút con của một nút
thực hiện bằng cách kết hợp

trong một lớp tương đương được
với các nút đứng sau nó trong cùng một

lớp tương đương. Quá trình này sẽ được tiếp tục thực hiện đệ qui đối với các lớp
tương đương mới cho đến khi khơng cịn lớp tương đương nào được tạo ra.


Page |6

2.2.

Thuật toán Eclat

2.2.1.

Thuật toán

Eclat (

)


1.
2. ENUMERATE_FREQUENT ([ ])
ENUMERATE_FREQUENT (
1. for all

)

do

2.

[ ]={ }

3.

for all

, with j>i do

4.
5.
6.

If

7.

then
[ ]=[ ]


8.

{

}

ENUMERATE_FREQUENT ([ ])
Hình 2. Thuật tốn khai thác tập phổ biến thỏa ngưỡng

Đầu tiên, thuật toán Eclat [1, 2, 3] khởi tạo lớp tương đương rỗng ([ ]) chứa các
nút chứa các 1-itemset phổ biến (

). Sau đó thuật tốn gọi thủ

tục ENUMERATE_FREQUENT với đầu vào là lớp tương đương rỗng. Thủ tục này
sẽ tính

của các cặp
thì thêm nút

với

vào lớp tương đương



. Nếu

. Sau đó, gọi đệ


qui thủ tục ENUMERATE_FREQUENT để sinh ra các lớp tương đương con cho
đến khi không sinh được lớp tương đương nào nữa.

2.2.2.

Minh hoạ thuật toán Eclat

Xét CSDL ở Bảng 1 với

, ta có cây tìm kiếm minh họa cho quá

trình khai thác tập phổ biến như trong Hình 3.


Page |7

Hình 3. Cây tìm kiếm tập FI thỏa ngưỡng

Xét nút


, do

được thêm vào lớp tương đương

, hai nút này sẽ tạo ra nút mới là
nên AC là tập phổ biến và nút

sẽ


. Xét A với D, do

nên AD không là tập phổ biến. Tiếp tục xét các nút còn lại, ta có lớp
tương đương

với các nút

.

Thuật tốn gọi đệ qui thủ tục ENUMERATE_FREQUENT với đầu vào là lớp
tương đương

, tiếp tục xét mỗi nút trong

nên các lớp tương đương mới như

2.2.3.

với các nút đứng sau nó để hình thành
, v.v.

Nhận xét

Cây tìm kiếm IT-tree ln lệch trái do:
(1) Ứng với mỗi lớp tương đương

ta cần xét với mọi

(j > i) do đó i càng nhỏ


thì số lượng j càng lớn.
(2) Khi

thì phần giao nhau giữa

tương đương khác thường sẽ lớn hơn phần giao của
lại.

với các phần tử của các lớp
với các lớp tương đương còn


Page |8

Để cải thiện (2) ta chỉ cần sắp xếp các

trong lớp tương đương

theo độ phổ

biến tăng dần, khi đó cây IT-tree sẽ ít lệch trái hơn.
Eclat_SORT (

)

1. [ ] = {

}

2. ENUMERATE_FREQUENT_SORT ([ ])

ENUMERATE_FREQUENT_SORT ([ ])
1. SORT_SUPPORT (
2. for all

)

do

3.
4.

for all

with j > i do

5.
6.
7.

if

then

8.
9.

ENUMERATE_FREQUENT_SORT (

)


Hình 4. Thuật tốn khai thác tập phổ biến thỏa ngưỡng

có sắp xếp

Cây tìm kiếm IT-tree sử dụng phương pháp sắp xếp được thể hiện ở Hình 5 ít
lệch trái hơn so với cây tìm kiếm IT-Tree sử dụng phương pháp thơng thường thể hiện
trong Hình 3. Cây IT-Tree này có số itemset phát sinh khơng thỏa ngưỡng
ít hơn, thời gian tính tốn giảm và q trình tìm kiếm ít tốn khơng
gian bộ nhớ hơn. Các nút con sinh ra trên cùng một mức của một nút cha nào đó
thường đã thỏa điều kiện sắp tăng theo độ phổ biến nên ta chỉ cần sắp xếp ở mức 1
của cây, các mức còn lại khơng cần sắp xếp bởi vì chúng sẽ thừa hưởng kết quả từ
mức trước đó. Vì thế chúng ta chỉ cần sắp xếp ở mức 1 của cây và không cần sắp xếp
ở mỗi lần gọi đệ qui.


Page |9

Hình 5. Cây tìm kiếm tập FI thỏa ngưỡng

2.3.

có sắp xếp

Một số định nghĩa và tính chất

2.3.1.

Tốn tử đóng

Cho


và ánh xạ

với

. Ánh xạ c được gọi là

tốn tử đóng.
Ví dụ: Xét cơ sở dữ liệu được cho trong Bảng 1 ta có:

Tốn tử đóng được định nghĩa như trên ln thỏa các tính chất sau [4]:
1. Tính mở rộng
2. Tính đơn điệu: Nếu

thì

3. Tính luỹ đẳng

2.3.2.

Tập phổ biến đóng

Cho

,

được gọi là tập đóng khi và chỉ khi

. Tập


vừa phổ biến vừa

là tập đóng được gọi là tập phổ biến đóng.
Ví dụ: Xét cơ sở dữ liệu được cho trong Bảng 1 ta có:
nên

khơng phải là tập đóng. Tương tự,
nên

là tập đóng.


P a g e | 10

2.3.3.

Các tính chất của IT-Pair

Cho



là hai thành viên tuỳ ý của lớp tương đương

. Ta có

4 tính chất sau [5]:
1. Nếu

thì


2. Nếu

thì

nhưng

3. Nếu

thì

nhưng

4. Nếu



thì

Hình 6. Các tính chất của IT-pair

2.4.

Thuật tốn CHARM

2.4.1.

Giới thiệu

Thuật tốn CHARM là thuật tốn khai thác tập phổ biến đóng được cải tiến từ thuật

toán khai thác tập phổ biến Eclat và dựa vào các tính chất của IT-pair. Ý tưởng như
sau: Cho 2 tập phổ biến

, nếu

phổ biến đóng có tiền tố là

. Như vậy ta không cần xét bất cứ tập cha nào của cả

lẫn
cha của

ngồi

thì



sẽ thuộc về cùng tập

. Quá trình tiếp tục khám phá đệ qui bằng cách tiếp tục xét các tập
.


P a g e | 11

2.4.2.

Thuật toán


CHARM (

)

1.
2. CHARM_EXTEND ([ ], C = { })
3. Return C
CHARM_EXTEND ([ ], C)
1. for each

in

2.

do

And

3.

For each

in

với j > i do

4.

And


5.

CHARM_PROPERTY (

6.

SUBSUMPTION_CHECK (C,

7.

CHARM_EXTEND ([ ], C)

CHARM_PROPERTY (
1. if
2.

)
)
)

then
if

then

3.

Remove

from [P]


4.
5.

elseif

then // tính chất 2

elseif

then // tính chất 3

6.
7.
8.

Remove

from [P]

9.

add

to [ ]

10.

else // tính chất 4


11.

add

to [ ]

Hình 7. Thuật tốn khai thác tập phổ biến đóng thỏa ngưỡng

Định nghĩa thứ tự : Ánh xạ
số nguyên. Với bất kỳ 2 itemset
. Hàm

là một đơn ánh từ tập các itemset sang


, ta nói rằng

khi và chỉ khi

định nghĩa một thứ tự tổng thể trên tập tất cả các itemset. Ví dụ: nếu

chỉ thứ tự từ điển thì AC ≤ AC do

.


P a g e | 12
Thuật toán CHARM sử dụng 4 tính chất cơ bản của IT-pair để khám phá nhanh
các tập phổ biến đóng. Giả sử hiện tại chúng ta đang xử lý nút
là một lớp tiền tố, gọi

của

là một cặp IT-pair

là một itemset của

trong đó
thì mỗi thành viên

.

Thuật toán bắt đầu bằng việc khởi tạo các lớp tiền tố
l-itemset phổ biến và Tidset của chúng
được sắp xếp theo thứ tự

, các nút được xét là các
. Giả sử các phần tử trong

. Việc tính tốn chính là thực thi thủ tục

CHARM_EXTEND để trả về tập các itemset phổ biến đóng C.
CHARM_EXTEND xem xét mỗi kết hợp của IT-pair xuất hiện trong
toán sẽ kết hợp mỗi IT-pair
thứ tự . Mỗi

với mỗi IT-pair

sinh ra một tiền tố mới

khác đứng sau nó theo

thành lớp

rỗng. Dịng 7 của

thủ tục này, hai IT-pair được kết hợp để sinh ra một cặp mới


. Thuật

, trong đó

. Dịng 8 kiểm tra tính chất của IT-pair bằng các gọi thủ tục

CHARM_PROPERTY. Thủ tục này thay đổi lớp hiện hành

bằng cách xóa đi các

IT-pair đã được gọp vào cặp khác. Nó cũng thêm vào IT-pair mới trong lớp mới
và có thể thay đổi tiền tố
itemset

trong trường hợp thỏa tính chất 1 hoặc 2. Sau đó thêm

vào tập itemset phổ biến đóng C với điều kiện

tập đóng nào được tìm thấy trước đó. Khi tất cả các
khám phá đệ qui các lớp tương đương mới

không bị gộp bởi bất kỳ


đã được xử lý, thuật toán sẽ

theo chiều sâu.

Tái sắp xếp tự động các phần tử: theo thuật toán, nếu



thỏa tính chất 1

hoặc tính chất 2 thì ta sẽ khơng thêm nút mới vào cây tìm kiếm. Với tính chất 1, bao
đóng (sử dụng tốn tử đóng) của hai itemset là bằng nhau, vì vậy chúng ta có thể loại
bỏ

từ

và thay thế

. Với tính chất 2, chúng ta có thể thay thế

. Trong cả hai trường hợp trên, chúng ta khơng thêm bất cứ một lớp mới
nào. Vì vậy, càng xảy ra trường hợp 1 và 2 nhiều thì càng ít mức tìm kiếm được
thực thi. Ngược lại, trường hợp 3 và 4 phải thêm vào nút mới đòi hỏi thêm mức xử lý
trên cây IT.
Vì chúng ta muốn

(tính chất 1) hoặc

(tính chất 2) nên


chúng ta cần sắp xếp các itemset tăng dần theo độ phổ biến. Tại nút gốc chúng ta sắp
xếp các item tăng dần theo độ phổ biến của chúng. Với các mức còn lại, mỗi phần tử


P a g e | 13
được thêm vào theo thứ tự đã sắp xếp theo độ phổ biến của mỗi lớp mới

(dịng 19

và 21). Vì vậy việc tái sắp xếp được thực hiện đệ qui tại mỗi nút trên cây.

2.4.3.

Minh hoạ

Hình 8. Cây IT-tree tìm tập phổ biến đóng thỏa ngưỡng

Quá trình khai thác FCI thỏa ngưỡng phổ biến

trên IT-tree được

thể hiện ở Hình 8. Đầu tiên, lớp tương đương

được sắp xếp tăng dần

của độ phổ biến [ ] = {D, T, A, W, C}. Khi

, nó kết hợp lần lượt với các

, do




nên nó khơng được sinh ra. Do

DW là

một nút mới. Tiếp tục kết hợp D với C, do

nên thoả tính chất 2

Thay

D bởi DC. Q trình tiếp tục khai thác đệ qui theo chiều sâu để tìm các tập phổ biến
đóng. Mức tìm kiếm trong trường hợp khai thác FCI (Hình 8) giảm đáng kể so với
khai thác FI (Hình 1), điều này dẫn đến khơng gian bộ nhớ yêu cầu sẽ nhỏ hơn.
Để minh họa tính chất 1, xét nút TCA 135 với nút TCW 135: Do t(TCA) =
t(TCW) = 135 nên cả TCA lẫn TCW đều khơng là tập đóng

Xóa nút TCW 135

khỏi lớp tương đương [TC] và thay nút TCA 135 thành TCAW 135.
Bảng 3. Danh sách các FCI của CSDL Bảng 1 với

FCI
CD
CDW
CT
ACTW
ACW

CW
C

(theo thứ tự khám phá đệ qui)


4
3
4
3
4
5
6


P a g e | 14

2.4.4.

Kiểm tra gộp nhanh

Cho



là hai itemset,

Trước khi thêm tập

gộp


khi và chỉ khi



.

vào tập đóng hiện hành C, thuật toán CHARM thực hiện thủ

tục SUBSUMPTION_CHECK để kiểm tra

có bị gộp bởi tập đóng nào trong C?

Thủ tục này kiểm tra xem sau khi thêm tập đóng Y vào C, khi khám phá các nhánh
con khác, chúng ta có thể sinh ra tập X khác mà khơng thể mở rộng thêm nữa với


. Khi đó, X khơng là tập đóng được gộp bởi Y và nó khơng

được thêm vào trong C. Do C tự động mở rộng trong suốt q trình liệt kê các mẫu
đóng, vì thế cần tìm phương pháp để thực thi sự kiểm tra gộp có hiệu quả.
Rõ ràng, khơng thể so sánh
đến

với tất cả các tập trong C vì độ phức tạp có thể lên

. Để rút trích nhanh các tập đóng có liên hệ, giải pháp là lưu C trong bảng

băm. Zaki và các đồng sự [5] đề nghị sử dụng tổng các tid trong Tidset là hàm băm,
nghĩa là


. Hàm băm này tốt vì: (1) theo định nghĩa, một tập đóng

thì khơng có tập cha với cùng độ phổ biến; điều này dẫn đến phải có vài tid khơng
xuất hiện trong bất kì tập đóng nào khác. Vì vậy, khóa của các tập đóng khác nhau
thường sẽ khác nhau. (2) thậm chí nếu có nhiều tập đóng với cùng khóa, kiểm tra độ
phổ biến (nếu

) giúp chúng ta thực hiện việc loại bỏ nhiều tập đóng có

khóa giống nhau nhưng trong thực tế chúng có độ phổ biến khác nhau. (3) hàm băm
này dễ tính tốn. Năm 2010, TS. Võ Đình Bảy [6] đề xuất sử dụng

làm khóa

do độ phức tạp tính tốn hàm băm như trên q lớn trong khi số lượng các tập có cùng
độ phổ biến trong C rất nhỏ (theo thực nghiệm của TS. Võ Đình Bảy [6], với |C| =
369450 trong CSDL Chess với

thì khả năng trùng khóa tối đa

là 120).
SUBSUMPTION_CHECK (C, )
1. for each
2.

If

3.


and

do
then

return FALSE

4. C = C
5. return TRUE
Hình 8. Kiểm tra gộp nhanh


P a g e | 15

3.

Cài đặt thuật toán CHARM

3.1.

Cấu trúc tệp tin dữ liệu

(a)

(b)
Hình 9. (a) Cấu trúc tệp tin dữ liệu, (b) Chương trình minh họa thuật tốn CHARM

Cấu trúc tập tin dữ liệu được hiển thị trong Hình 9 (a). Dịng đầu tiên chứa thơng
tin số lượng Item và số lượng giao dịch. Từ dòng thứ 2 trở đi, mỗi dịng chứa các
thơng tin các item của từng giao dịch tương ứng cho từng dòng.


3.2.

Chức năng

-

Đọc tập tin Cơ sở dữ liệu.

-

Khai thác tập phổ biến đóng bằng cách xây dựng cây IT-tree của tập phổ biến
đóng theo thuật tốn CHARM.

-

3.3.

Hiển thị kết qua ra màn hình.

Hướng dẫn sử dụng

Màn hình của chương trình được thể hiện trong Hình 9 (b). Để thực thi chương
trình bao gồm các bước sau:
-

Chọn đường dẫn của tệp tin dữ liệu.

-


Nhập ngưỡng để khai thác tập phổ biến đóng.

-

Nhấp chuột vào nút “CHARM” để chạy thuật toán.

-

Nhận kết quả là cây IT-tree của các tập phổ biến đóng trên màn hình.


P a g e | 16

Kết luận
Bài toán khai thác tập phổ biến, tập phổ biến đóng và luật kết hợp là bài tốn khó, có
độ phức tạp cao. Khi ứng dụng trong thực tế với cơ sở dữ liệu lớn (như dữ liệu bán
hàng của siêu thị), giải thuật gốc áp dụng nguyên lý Apriori vẫn còn một số hạn chế
không cho ra lời giải trong một thời gian và khơng gian nhớ trong hợp lý. Do đó có
rất nhiều cơng trình khoa học được cơng bố để cải thiện độ phức tạp của bài toán khai
thác tập phổ biến, tập phổ biến đóng và luật kết hợp.
Thuật tốn CHARM [5] dùng để khai thác tập phổ biến đóng dựa trên cấu trúc ITtree là một trong số những cải tiến ấy. Trong bài thu hoạch này, tôi đã tìm hiểu thuật
tốn CHARM. Ngồi ra, tơi cũng sử dụng cách hiểu và một số cải tiến của TS. Võ
Đình Bảy trong luận án Tiến Sĩ [6] về thuật toán CHARM. Cuối cùng, tơi đã tiến
hành cài đặt thuật tốn CHARM trên môi trường Visual Studio 2005 để minh họa cho
những gì tơi tìm hiểu trong bài thu hoạch này.
Tơi xin gởi lời cảm ơn đến TS. Võ Đình Bảy đã cung cấp Cơ sở dữ liệu mẫu trong
quá trình cài đặt thuật tốn CHARM. Tơi cũng xin gởi lời cảm ơn đến PGS.TS. Đỗ
Phúc đã cho tôi những kiến thức bổ ích trong học phần Khai Phá Dữ Liệu và Nhà Kho
Dữ Liệu.



P a g e | 17

Tài liệu tham khảo
[1] Mohammed Javeed Zaki, Ching-Jui Hsiao. Efficient algorithms for mining
closed itemsets and their lattice structure. IEEE Transactions on Knowledge
and Data Engineering 17 (4), 462-478 ( 2005).
[2] Mohammed Javeed Zaki, Karam Gouda. Fast vertical mining using diffsets.
Proceedings of SIGKDD’03, Washington DC, USA, 326-335 (2003).
[3] Mohammed Javeed Zaki, Srinivasan Parthasarathy, Mitsunori Ogihara, Wei
Li. New algorithms for fast discovery of association rules. Proceedings of
SIGKDD’97, California, USA, 283–286 (1997).
[4] Mohammed Javeed Zaki. Mining non-redundant association rules. Data
Mining and Knowledge Discovery 9 (3), 223–248 (2004).
[5] M. J. Zaki, C.J. Hsiao (2005), Efficient Algorithms for Mining Closed

Itemsets and Their Lattice Structure, IEEE Transactions on Knowledge and
Data Engineering.
[6] Võ Đình Bảy. Nâng cao hiệu quả của các thuật tốn khai thác luật kết hợp dựa
trên dàn. Luận án tiến sĩ Công nghệ Thông tin, Đại học Khoa học Tự nhiên
Tp.HCM (2011).



×