1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

2 KHAI PHÁ LUẬT KẾT HỢP BOOLEAN ĐƠN CHĩỀU TỪ CSDLTÁC VỤ

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:



Xem Thêm
Tải bản đầy đủ (.pdf) (109 trang)

×