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 (38.55 MB, 109 trang )
36
Các thuật toán phát hiện các lập mục phổ biến Ihực hiệu nhiều lần duyệl ciữ
liệu. Trong lần duyệt Ihứ nhất, chúng ta tính độ hỗ trợ của các mục riêng biệi và xác
định các mục phố biến trong chúng, tức là thoả mãn cỉộ hổ trợ cực liêu. Trong mồi
lẩn duyệt sau, chúng ta bắt (hiu với tập hạt giống là các tập mục phổ biên dã lìm
dược trong lẩn duyệl trước. Ciiúiig la sử dụng tàp hạt giống này để sinh ra tập mục
phổ biến tiềm nâng, gọi íà tập mục ứng cử và tính độ hỗ trợ thực sự của các tập nụic
ứng cử này khi duyệt qua dữ liệu, ử cuối mỗi ỉần duyệt, chúng ta xác định được tập
mục nỉio trong các lập ứng cử là lập phổ biến líiực sự và chúng trớ thành hạt giống
cho lần íluyệi tiếp theo. Quá trinh này ỉ hực hiện cho đến khi klìỏng có một lập mục
phổ hííiii mới nào nữa dược IÌIĨI ihấy.
Các ihuậi toán Apriori sinh ra các tập ứng cử để lính trong mội lẩn iluyộl
bằng việc sử dụng chí các lập mục dã dược thấy là phổ biến (rong lán duyệt trước
mà khống cần quan ỉAm đến các Lác vụ trong cơ sở dữ liệu.
kỳ tập von
nào cùa tập mục p h ổ biến ph ả i
Cơ sở của điều đó là bất
là p h ổ biển. Vì vậy, các tập ứng cử có k-
mục có the được sinh ra bằng cách kết nối các tập mục phổ biến có (k - 1)- mục, và
X ÌÍ các tập ứng cử viên tiếu I1Ó có chứa bất kỳ
O
mội tập con nào
mà không phải là
phổ biến. Thủ lục này nói chung dẫn đến một số nhỏ hon nhiều các tạp ứng cử viện,
nói cách khác nó khá hiệu quà trong việc "tỉa gọn" không gian tìm kiếm.
Kí hiệu: Chúng ta gìả sử các mục (rong mỗi tác vụ được lưu giữ Iheo
nậỉ tự
từ liiểth Gọi sô' các m ục trong mội lập mực là kích lliưổc của nó và gọi tập mục có
kích ihước k ỉà tập k-mục ( hay tập k mục). Các mục trong mỗi tập mục cũng dược
giữ ở trật tự lừ điển. Chúng ta sử dụng các kí hiệu sau:
Tập k-mục
Tập mục có k mục
Tập các lập k-mục phổ biến( với độ hỗ trợ cực tiểu minsup nào đó).
Mỗi phẩn tử cúa tập này có 2 trường: í) 'rạp mục và ii) Độ hỗ Ircr
của nó
Tập các tập k-mục ứng cử ( các [ộp mục phổ hiến liổm niing).
Mồi phần lử của lập này có 2 trường: i) Tập mục và ii) Độ hồ trợ
của nó.
u
ck
Bảng 2.5:
Bâng ã hiệu cho thuật toán Aprìori
Thuật toán Apriori (hực liiện theo cách lặp lại, ở đó tập (k-I)- mục (
itemscis) được
sử dụng cho việc tìm lập k- mục (
k- ịtemsets). ở
{k'ỉ)-
lần duyệt dầu ticn.
37
người la lính độ hỗ Irự của các mục rícng lẻ (iiay lộp chỉ gổm 1 mục) và xác (lịnh
xem trong chúng mục nào là phổ biến, tức tỉm dược tập các 1 mục phổ biến. Đó là
lập L|, L| dược dùng để tìm L2 ỉằ các tập 2 mục phổ biến, nó lại được dùng để tìm
Li,...cứ như vậy cho ũến khi không tìm được tập phổ biến lớn hưn lập k mục phổ
bien đẫ tìm thấy. Tìm mỗi Lk đòi hỏi một lẩn quét toàn bộ CSDL,
Đổ tăng tính hiệu quả trong việc sinh 1‘a tập mục phổ biến, các tính chất của
ỉập mục phổ biến đã nêu ỏ' tiên được sử dụng như sau: một lính chất quan crọng , gọi
là tính châì Apriori được sử dụng để nít gọn không gian tìm kiếm ,đó là:
tập con khác rỗng của tập mục phổ biến phải là tập mục phổ biến.
tài cả
các
Nếu lập mục I
không thoẳ mãn ngưỡng hỗ trợ cực tiểu thì I không phải tập mục phổ biến, tức !à
P(ỉ)< minsup, Nếu mục A được thêm vào tập mục ĩ thì nhận dược một tập mục ( đó
là lu A ) không thể phổ biến lìơti I, do đó Iu A cũng không phải tập mục phổ biến,
tức ià P(IuA)
nếu một tập mục
khống là phổ biến thỉ mọi tập mục chứa nó cũng không phải phổ biến.
"Tính châì Apríori được sử đụng trong thuật toán như thế nào?" , để hiểu điều
này ta xem thuật toán sử dụng Lk để tìm Lk như thế nào?
.ị
Quá trình gồm 2 bước , đó là : bước kết nòi và bước tỉa.
1. Bước kết nổi',
để tìm L* , tập k m ục ứng cử được .sinh ra bởi việc kết nối
Lk.j với chính nó. Kếl quả lằ tập các ứng cử c k , Giả sử lj và t2 là các tập mục trong
Lk.,. Kí hiệu l,[j] Jà mục thứ j trong 1¡. Bằng qui ước, Apriori giả sử các mục trong tác
vụ hoộc tập mục có tiật tự lừ điển. Nối Lk.j với Lk được thực hiện như sau : các
.|
lìiànii phần của Lk là được kết nối nếu (k-2) mục đầu tiên là chung. Tức là, thành
.|
phần 1| và ỉ2 của Lk dược nối nếu :
„|
( I .U N ííl] ) A (1,[2J=12[2]) a ...( l,[k -2 H 2[k-2]) A (l,[k -l]< l2[k-I])
Điều kiện lị[k-1]
dơn
giản là để đảm bảo rằng không sinh thừa {
không bị ỉập). Dạng của tập mục nhân được bởi nối lị và i2 ià :
l1[ l l l 1[ 2 l . J , l l t - 2 l l 1[ k - i ] l 2[k -i].
2. Bước tỉa: C là tập chứa Lk, tức là các thành phần của nó có thể là
ị.
phố biến
hoặc không, nhưng tất cả tập k iriục phổ biến được chứa trongc k. Quét CSDL đe
lính độ hô trợ cho mỗi ứng cử trong Ck sẽ nhận được Lk ( tức là, tất cả các úng cữ
38
dược lính độ hổ trự không nhỏ hơn ngưỡng hỗ trợ cực tiểu mínsupp tà tập phổ biến
thrợc xác định, dó chính ià Lịi) . Tuy nhiên, Cj. có thể ỉà rất lớn, và do đó dẫn đến
lính toán rất lớn. Để rút gọn kích thước cùa c t , tính chấ» Apriori được sử dụng như
sau: Bá'í kỳ tập (k*I )
mục
nào không p h ổ biển không th ể là tập
con của íập k mục
p h ổ biến. Do đó, nếu bất kỳ tập con (k-i) mục của ứng cử k mục mà không
trung
có mặt
Lk,Ị thì ứng cử đó không thể là phổ biến và do vậy loại bò nó khỏi c k. Kiểm
tra
cây băm của tất cả các
tập
tập con (k-1) mục này có thể làm nhanh bởi duy trì một
mục phổ biến đã tìm thấy.
Ví dụ : chúng ta xem thuật toán thực hiện trên CSDL D sau
Tên các mục
TID
TI 00
11,12,15
T200
12,14
T30Ö
12,13
T400
11,12,14
T500
11,13
TỐOO
12,13
T700
11,13
T800
11,12,13,15
T900
11,12,13
Bảng 2.6 : Cơ sở dữ liệu D minh hơạ cho thuật toán Apriori.
ờ đây có 9 tác vụ, tức là /D Ị-9 . Quá trình thuật toán Apriori lìm tập mục phổ
biên trang D tfiể hiện ở các báng sau:
Tập mục
Độ hỗ trợ
(11)
6
7
{12}
7
113}
6
{13}
6
(14)
2
(14}
2
ỉ 15)
2
{15}
2
Tập mục
Q uét D để
tính siipp
Độ hỗ trợ
{11}
6
Ú 2Ị
So sá n h với m insup
39
Sinh các ứ » g
c ,:
Tập mạc
cừ
Q u ét D đ ế tính th o
m ỏ i ứng c ử
Q lừ L,
11, 1 4 )
1,13}
12, 1 3 )
12,141
112,151
113,151
So sánh độ hỗ trự c ủ a các ứng cử vói
m insupp
Sinh các ứng cử Cj
lir ụ
-------------------->
Tâp muc
{11,12,13}
{11,12,151
Tâp muc
(11.12}
111,131
i l l , 151
{12,131
{12,14}
m ils ỉ
Đò hồ Irơ
4
4
1
2
4
2
2
0
1
ò
Đô hỗ trơ
4
4
2
4
2
2
Tâp muc
Quét D để tính
cho mỗi ứng cừ
{11,12,13}
----------------------- ► {i 1,!2,Ỉ5)
Đồ hỗ trơ
2
2
L.V .........
T&p muc
111,12,13)
111,12,151
Đô hỗ trơ
2
2
So sánh độ hổ trạ cíia các ứng cừ vói
minsupp
-------------------------------------------------------------------------- p.
Bảng 2.7:
c 2:
Tâp muc
{11,12}
{ l í , 13}
i l l , 14}
{11,15}
{12,13}
{12,14}
112,151
{13,14}
113,15]
{14,15}
Diên biển thuật toán Apriorì vởỉ độ hồ trợ là 2i9 ( xuất hiển 2 lần)
]. Trong iẩn lặp đổu tiên của thuật toán, mỗi mục là phần tử của tập ứng cử 1
mục, C|. Thuật toán đơn giản quét lất cả các tác vụ theo ỉhứ tự để tính số lần xuất
hiện cùa mỗi mục.
40
2. Giả sử rằng độ hỗ trợ cực tiểu yêu cầu đếm lác vụ là 2 { tức ià
minsup=2/9-22%). Tập 1 mục phổ biến Lị được xác định. N ó bao gổm các ứng cừ 1
mục thoả mãn độ hỗ trợ cực tiểu.
3. Để khám phá tập phổ bíế» 2 mục. L2 Thuật toán sử dụng nối Lj với Lị dể
>
sinh ra ứng cử là lập của 2 mục, C2. C2 bao gổm
C /II, = C 5 =
2
= 10 tâp 2-m u c.
2!.3!
4.Tiếp theo, các tác vụ trong D được quét và tính độ hỗ trợ cho mỗi tập mục
ứng cử trong
5.
c 2là được tích
luỹ.
Tập các 2 mục phổ biến L2 được xác định, bao gồm các ứng cử 2 mục
Ìrong Çj ihoả mãn độ hổ trợ cực tiểu.
6. Sinh ra tập ứng cử 3 mục, c 3 . Đầu tiên, nối L2 với
c 3 111 , 12 , 1 3 }, { 11 , 12 , 1 5 }, { i l , 13 , 1 5 }, { 12 , 13 , 14 },
=(
Lj nhận được c 3:
112 , 13 , 1 5 »
,
{ 12 , 14 , 1 5 }}
Dựa Irên lính chất Apriori rằng íấi cả ỉập con của tạp mục phổ biến phải là phổ biến,
có thể xác định được 4 ứtìg cử cuối không thể là phổ biến ( chẳng hạn ,cụ thể; Các
lập con 2 mục cùa {11,13,15} là {11,13} , {11,15} và {13,15}. Trong đó {13,151
khổng phải là thành phần của L2 và do vậy nó không phải phổ biến, do đó ioạị
{11,13,15) khỏi Cj)
Do vậy loại các ứng cử này khỏi C j . Cách đó tiết kiệm sự cố gắng không cần
ílìiết tính độ hỗ trợ cho chúng trong các íần quél sau của D dể xác dinh Lv Chú ý
rằng, với một ứng cử k mục , ta chỉ cần kiểm tra độ hỗ trợ nểu mọi tập con (k-l)
mục của nó là phổ biến( tức là có ỉiỉặt irong Lk
_j).
c , H U 1 , 1 2 , 1 3 1 , (ỉ 1 , 1 2 , 1 5 }} sau khi tỉa.
7. Các lác vụ trong D được quét để xác định Lí( bao gồm các ứng cừ 3 mục
trong c , thoả mãn độ hỗ trợ Cực liổu.
B.Thuậl loán sứ dụng nối L.J với L3 dể sinh ra ứng cử là tập các 4 mục là C4.
Mặc dù kết quả nối là {{11,12,13,15}}, nhưng tập mục này bị tỉa vì tạp 3 mục con
của nó là {{12,13,15 Ị Ị lằ không phổ biến. Như vậy c 4= 0 và thuật toán kết thúc, tất
cả các tập mục phổ biến dã được tìm.
41
Sau đây mô tả thuật toán Aprìori và các (hủ tục liên quan. Bước I của thuật
toấn lìm các tạp 1 mục phổ biến là Lị . Trong các bước lừ 2 đến 10, Lk.| !à được .sứ
dụng tie sinh ra các ứng cừ c \ nhảm lìm Lk .Thủ tục apriori_gen sinh ra các ứng cứ
và sau dó sử dụng tính chất A priori để loại trừ những ứng cử có tập con không phài
phổ biến ( bước 3). Thủ tục này có thể miêu tả như sau: Tất cả các ứng cử được sinh
iroug mội lần, CSDL là được quét (bước 4),Với mỗi tác vụ, hàm supsel( tìm tập con)
dược sử đụng để lìm lất các các tập con của tác vụ là ứng cử ( bước 5), và tính cho
mồi ứng cử này là được tích luỹ lụi ( bước 6 và bước 7). Cuối cùng, tất cả các ứng cử
nào thoả m ãn độ hỗ 11'Ợ cực tiểu íạo Ihành tập mục phổ biến L .
Thủ lực apriori_gen lhực hiện 2 công việc là nối và tía. Trong bước nối, Lk.¡
được nối với Lk dể sinh ra các ứng cử tiềm năng ( bước 1-4). Bướctỉa ( bước 5-7)
.ị
sử dụng tính chất A priori để loại các ứng cử có tập con không phải tập mục phố
biến. Kiểm tra tập con khôĩìg là phổ biến được thực hiện trong thủ tục
lias _infrequent_subset.
T h u ậ t to á n A priori: Tìm các tập mục phổ biến dựa trên cơ sở sinh các ứng cử.
f)íht vào: cơ sở tlữ liệu D, ngưỡng độ hỗ trợ cực tiểu của các tác vụ minsupp.
Dầu ra: L, lập mục phổ biến trong D.
Phương pháp:
(1 ) Tim các lập 1 mục phổ biến, nhận được L|
(2) For (k=2 ; Lk., * 0 ; k++) ị
(3)
Ck
=apnon_gen(Lk minsupp);// Sinh tập ứng cử từ Lk
.|,
.|
(4)
For (mỗi tác vụ t tfüng D) ( //Quét D để đếm
(5)
C,=subset(Cklt);
(6)
for ( mỗi ứng cử ceC¡)
(7)
C.COU1H++;
//lấy tập con của t mà íà các ứng cử trong c k
//T áng đếm cho c một đơn vị
(8)
)
(9)
Lfc j c e c k / c.counnt> minsupp}
=
(10)
}
(11)
Return L =uk Lk
42
Thả tục sinh các ứng cử c y
Procedure apriori „gerKL*.,: tập phổ biến (k-1) mục ; minsupp: hỗ trợ cực tiểu)
(í)
For mỗi mục l , € Lk„,
(2)
For mỗi mục l2e Lk
.|{
(3)
ĩf d ,[l]= !z[I])
(4)
then c= 11 X IỈ2 ; //bước nối 11 và 12; sinh ra các ứng cử c
(5)
if h&s_infrequent_subset(c, Lk4) then
(6)
A
Xoá c ;
(1,Í2H 2[2])
a
...( lifk-2]=lj[k-2])
A
(l,[k -l]< l2lk-l])
// Bước tỉa
(7)
else Thêm c vào c k;
(8)
}
(9)
Return Q ;
Hàm kiểm tra tập con (k“ mục cửa ứng cử k mục không phải là tập p hổ biến:
I)
Procedure hasjnfrequent_subset( c: ứng cử k mục ; Lk. | : Tập phổ biến (k-1) mục)
// sử dụng tập phổ biến có trước
(1)
(2 )
(3)
(4)
For mỗi tập con (k-1) mục s của c
If SỂ L k.| then
return TRUE;
Return FALSE;
2.2.2 Nâng cao hiệu quả cua Thuật toán Apriori
Phần này nêu một số phương pháp cải tiến, biến đổi thuật toán Apriori nhằm
nâng cao hiệu quả của thuật toán. Người ta có nhiêu cải tiến, biến đổi thuật toán
Apriori, các cải tiến này đều nhằm cải thiện tính hiệu quả cùa thuật toán Aprìorỉ
gốc. Sau đây ỉà một vài cải tiến [11):
• Dựa trên kĩ thuật băm:
Bước tỉa đòi hôí kiểm tra tất cả các tập con (k-1) mục của tập k mục ứng cử
có phải là tập phổ biến khồng, tức là có mặt trong tập phổ biến đã tìm được
ở bước
trước là Lk không. Để có thể kiểm tra nhanh chóng, người ta lưu các tập phổ biến
.j
trong các
bảng băm (hash table) ( Lk_i lưu (rong bảng bãm).
43
Cho lập các ứng cử c t và một tác vụ T, chúng ta cần tìm tất cả các ứng cử
được chứa trong T. Bây giờ ta miêu tả một cấu trúc dữ liệu cho phép thực hiện điều
đó môl cách hiệu quả :
Các tập mục ứng cử c k được lưu trong một cây
cây bãm hoặc là chứa
núi ương
m ột danh
băm( hcish ỉree).
sách các tập mục ( nút lá) hoặc là
) . Trong nút trong, mỗi cụm
( bucket)
m ột
Một nút của
bảng bãm (
của bảng băm chỉ tới một nút
khác. Gốc của cây băm đươc xác định có đô sâu 1. Mồt nút trong ở đô sâu d chỉ tới
các nút ở độ sâu d + l. Các tập mực được lưu trong các nút lá. Khi chúng ta thêm một
tập mục c, chúng ta bắt đầu lừ gốc và đi xuống trên cây đến khi gặp mộl nút lá. Tại
ở độ sâu d, chúng la quyết định theo nhánh tiếp theo bằng cách đùng
băm tới m ục thứ d. của tập m ục . Tất cả các nút được tạo ra ban đầu là các
một núi trong
một hàm
nút lá. Khi số các tập mục trong núi lá vượt quá ngưỡng nào đó , nút lá chuyển thành
nút trong.
Bắt dầu từ nút gốc, [làm tập con tìm tất cả các ứng cử được chứa trong tác vụ
T như sau : Nếu chúng ta ở nút lá, chúng ta xem các tập mục trong nút lá có dược
chứa trong T không để trả lời. Nếu chúng ta ờ nút trong và chúng ta đi đến I1Ú (ió
I
bới băm mục thứ i, chúng ta băm trên mỗi mục ở sau ì trong T và áp dụng đệ qui thủ
lục này cho nút ở trong cụm { buckel) tương ứng. Với nút gốc, chúng ta băm trên
mỗi mục trong T.
H ìn h 2.1: Cây băm
H ìn h 2.1 trên là ví dụ về cày băm , ở đó hàm băm là "m od 5", kích thước của
bảng băm là 5 v à ngưỡ ng đ ể chuyển m ộ t đanh sách th àn h n ú t tro n g là 3 iập m ục.
44
Với tấc vụ 11 4 ), các cụm l và 4 sẽ được kiểm tra ở mức thứ nhất. Do đó chỉ có
các ứng cử {1 2) và { ỉ 4 Ị sẽ được kiểm tra cho tác vụ này.
Để xem tại sao hàm tập con trả về tập mong muốn, ta xem các gì xảy ra tại
nút gốc. Với mọi tập mục c chứa trong tác vụ T, mục thứ nhất của c phải ở trong T.
Tại nút gốc, bằng việc bám trên mỗi mục irong T , chúng ta bảo đảm rằng chúng ta
chi bò qua các tập mục mà bắt đầu với một mục khồng ở trong T. Thực hiện tương
tự cho độ sâu thấp hơn. Thêm vào đó , vì cổc mục trong một tập mục bái kỳ lằ có
trật tự ( trật tự từ điến), nếu chúng ta đi đến nút hiên thời bởi băm mục i , chúng ta
chỉ eổn xem xét các mục trong T mà nó xuất hiện sau i.
Nếu k là kích thước của tập mực ứng cử trong cây băm, chúng ta có (hể tim
trong thời gian 0 (k ) một tập mục có chứa trong tác vụ khồng bằng cách dùng dãy
bít để miêu rà tác vụ. Mỗi bít của dãy bít ĩương ứng với một mục và trạng thái cùa
bít cho biết tác vụ có chứa mục này hay không. Do đổ chúng ta kiểm tra một cách
đễ dàng bít tương ứng với mỗi mục trong ứng cử viên ctể kiểm tra ứng cử đó có chứa
trong tác vụ không. Dãy bíl ctó được tạo cùng với cây bàm, khởi tạo và iập lại trạng
thái cho mỗi tác vụ. Khỏi rạo này cẩn thời gian 0(kích thước của tác vụ) cho mồì (ác
• Rút
gọn
lác vụ ( fût gọn số các tác vụ cần quét trong các lần lặp sau): M ột
tác vụ không chứa bâĩ kỳ tập k mục phổ biến nào thì cũng không thể chứa bất kỳ
tập (k+ ! ) mục phổ biến. Do đó, lác vụ đó có thể đánh dấu hoặc loại bỏ khỏi lẩn xét
sau vì lần quét tiếp sau của CSDL cho tập j -mục với j>k sẽ không cán đến nó.
• PhAn hoạch- Partitioning{ phân chia dữ liệu để tìm tập mục ứng cử): Kĩ
Ihuằt phân hoạch có thể sử dụng, nó chỉ đòi hòi quét CSDL 2 lần để khai phá tập
mục phổ biến.
45
Giai íloạn 1
Giai đoạn 2
Khai phá bằng phân hoạch dữ liệu gồm 2 giai đoạn. Trong giai đoạn 1 thuật
loán chia các lác vụ trong D thành n vùng. Nếu ngưỡng hỗ tiợ cực tiểu cùa D là
minsup ìhì ngưông hỗ írợ cực tiểu cần tính cho một vùng ià:
m insup X (số các tác vụ trong vùng ctó)
Với mỗi vùng, tập mục phổ biến cho vùng đó được tìm, có thể gọi đó lằ tập
mục phổ biến địa phương ( hay cục bộ - ữequent itemset local). Mội thủ tục dùng
mội cấu trúc dữ liệu đặc biệỉ, với mỗi tập mục , ghi lại các đình danh TĨD cùa các
tác vụ chứa các mục ỉrong tập mục. Điều đó cho phép nó có thể tìm tất cả các tập k
mục phố biến { với k=l,2,...) chì trong một lẩn duyệt CSDL.
Các tập mục phổ biến địa phương có thể hoặc khống là lập mục phổ biến cỏa
toàn bộ cơ sở dữ liệu D. Nhưng bốt kỳ tập mục nào là phổ biến tiêm năng của Đ
cũng phải là tập mục phổ biến của ít nhất một vòng. Do đó, tất cả các tập mục phổ
biến địa phương là các tập mục ứng cừ cho D. Tập hợp các tập mục phổ biến từ tất
cả các vùng sẽ là tập mục ứng cử cho D. Trong giai đoạn 2, cơ sở đữ liệu được duyệt
lẩn (hứ hai để tính độ hỗ trợ cho mỗi ứng cử nhẳm xác định tập mục phổ biến đích
cẩn tìm. Kích thước của một vùng ( Purtiiion) có thể vừa khít với bộ nhớ chính và
ngưỡng để chỉ đọc mộí lần trong mỗi giai đoạn,
*
Lấy mẫu ( khai phá trên tập con của dữ ỉiệu): ý tưởng cư bản của cách tiếp
cận iấy mẫu này là iấy mẫu ngẫu nhiên s trên dữ liệu đã cho D và sau đó tìm tập
mục phổ biến trong s thay cho D, Trong cách nằy, độ phức tạp được cải thiện. Kích
thước của mẫu )à đảm bảo tìm các tập mục phổ biến trong s có thể thực hiện dược
trong bộ nhớ chính và chí cần mộl lần duyệt các tác vụ trong s . Ví tìm tập phổ biến
46
iron g S (lẽ lum trong D và s nhỏ hơn D nên có thể bị mất một sô' tạp phổ biến dich (
mà Lìm irimg D sc Um thấy). Đế loại trừ khá năng này, người la sứ dụng ngưỡng clộ
hỏ trợ ỉhiYp hơn độ hỗ trợ cực tiổu lĩìinsup cỉổ tun tập mục phổ biết) địa phương cho
s
( kí hiệu Ls) . CSDL sau đó được đùng để tính độ hỗ trợ cho mỗi tập mục phổ biến
trong Ls , Nếu Ls chứa tất cả các tập niục phổ biến trong D thì chì Citn mội lán
duyệt D , ngược ỉại, có thể cluyội D ỉần ihứ hai để tìm các lập mục phổ biến mà
chúng không được tìm Ilìấy ưong lẩn duyệt thứ nhấi, Cách tiếp cân lấy mẫu này là
clậc biệt có ích khi líty tính hiệu quả iằ quan trọng nhất, như ià trong các ứng dụng
tính toán chuyên sâu phải ihực hiện trên cơ sở rất phổ biến.
2.2.3 Sính các luật kết hợp từ tập m ục pliổ biến;
Sau khi các tập mục phổ biến từ các tác vụ trong CSDL đã được tìm ihấy, nó
có thể sinh ra các ỉuật kết hợp mạnh , ở đó luật kết hợp mạnh - (strong association
rule ) ỉà luật thoả mãn cả hai độ hỗ trợ cực tiếu và độ tin cậy cực tiểu. Điều đó có Ihể
ihực hiện bằng việc sử dụng tính độ tin cậy của luật, ta nhắc lại: độ tin cây của luật
X ->Y là:
C o n f(X -* Y )= P(Y/X) = S u p p (X u Y )/ Sưpp( X)
ở dó Supp( X u Y ) là độ Ỉ1Ỗ Irợ cùa XÚY và Supp( X) là độ hỗ Irợ của XCó thể coi tỉ số trên là tỉ sô' giữa: số các tác vụ chứa X uY và sô' các tác vụ
chứa X. Dựa trên biểu thức tính toán đó , các luật kết hợp có thể được sinh như sau:
•4 Với mõi tập mục phổ biến !, sinh ra tất cả các tập con không rồng cùa i.
+Với mỗi tộp con không rỗng a của I, ta có luâl il -> (Ja ) nếu
supỊ3ort(l)
■ ■ — >= minconf
...■
supporl(a)
ở đó minconf ỉà ngưỡng độ tin cậy cực tiểu.
Vì các luật được sinh ra từ các tập mục phổ biến nèn độ hỗ trợ của nó dă Ilioà
màn, tức là độ hỗ nợ của luật chính là supp(l).
Ta xem CSDL bang 2. í ờ ưên, giả sử dữ liệu chứa lập phổ biên 1= Ị 11, ỉ 2,151.
Những luật kết hợp nào là có thể sinh ra từ í ? Các tập con không rỗng cùa 1 là:
{11,12}, {11,15}, ( 12,15}, n u , {1 2 } và {15}.
Các luật két hợp tim được cùng với độ tin cậy như sau: