ĐẠ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 đó
là
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
và
đượ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
và
. 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
và
, 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ó:
và
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
và
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
và
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ì
và
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
và
, 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
và
. 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
và
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
và
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
và
là hai itemset,
Trước khi thêm tập
gộp
khi và chỉ khi
và
.
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
và
. 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).