khai pha luat ket hop (phan 2)

12
BÀI TP MÔN KHAI PHÁ DLIU Chương 2: Khai phá luật kết hp Ging viên: Nguyễn Vương Thịnh Bmôn: Hthng thông tin GII THUT APRIORI Yêu cu Trong phn này, sinh viên cn phi nm vng các khái niệm sau đây: - Nguyên lý Apriori. - Bài toán khai phá lut kết hp. - Tìm các tp phbiến da trên gii thut Apriori . - Sinh lut kết hp da trên tp phbiến. 1.Tóm tt lý thuyết A. Nguyên lý Apriori Nguyên lý Apriori có thphát biểu như sau: “Nếu mt tp mc là tp phbiến thì mi tp con khác rng bt kcủa nó cũng là tập phbiến”. Chng minh nguyên lý này rất đơn giản: Xét tp mc X và mt tp con bt kX’ X. Ký hiu p là ngưỡng độ htrminsup, C(X) là sln xut hin của X và C(X’) là số ln xut hin của X’ trong cơ sở dliu giao dch D. Một điều hin nhiên là mt tp mc xut hin bao nhiêu ln thì các tp con chứa trong nó cũng xuất hin ít nht by nhiêu ln, nên ta có: C(X’) ≥ C(X) (1). Do X là tp phbiến nên: ( ) sup( ) ( ) | | (2) | | CX X p CX pD D T(1) và (2) suy ra: ( ') ( ') | | sup( ') | | CX CX pD X p D Do đó X’ là tập phbiến (đpcm). Nguyên lý Apriori được áp dng trong gii thuật Apriori để loi bnhanh nhng tp không phi là tp phbiến. Nếu mt tp mc X có mt tp con không phi là tp

Upload: hai-hung

Post on 13-Dec-2014

19 views

Category:

Documents


0 download

DESCRIPTION

Khai Pha Luat Ket Hop (Phan 2)

TRANSCRIPT

Page 1: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

GIẢI THUẬT APRIORI

Yêu cầu

Trong phần này, sinh viên cần phải nắm vững các khái niệm sau đây:

- Nguyên lý Apriori.

- Bài toán khai phá luật kết hợp.

- Tìm các tập phổ biến dựa trên giải thuật Apriori .

- Sinh luật kết hợp dựa trên tập phổ biến.

1.Tóm tắt lý thuyết

A. Nguyên lý Apriori

Nguyên lý Apriori có thể phát biểu như sau: “Nếu một tập mục là tập phổ biến thì mọi

tập con khác rỗng bất kỳ của nó cũng là tập phổ biến”.

Chứng minh nguyên lý này rất đơn giản:

Xét tập mục X và một tập con bất kỳ X’ ⊆ X. Ký hiệu p là ngưỡng độ hỗ trợ minsup,

C(X) là số lần xuất hiện của X và C(X’) là số lần xuất hiện của X’ trong cơ sở dữ liệu

giao dịch D. Một điều hiển nhiên là một tập mục xuất hiện bao nhiêu lần thì các tập con

chứa trong nó cũng xuất hiện ít nhất bấy nhiêu lần, nên ta có:

C(X’) ≥ C(X) (1).

Do X là tập phổ biến nên:

( )sup( ) ( ) | | (2)

| |

C XX p C X p D

D

Từ (1) và (2) suy ra:

( ')( ') | | sup( ')

| |

C XC X p D X p

D

Do đó X’ là tập phổ biến (đpcm).

Nguyên lý Apriori được áp dụng trong giải thuật Apriori để loại bỏ nhanh những

tập không phải là tập phổ biến. Nếu một tập mục X có một tập con không phải là tập

Page 2: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

phổ biến thì ta sẽ kết luận được ngay X không phải là tập phổ biến mà không cần phải

mất công duyệt cơ sở dữ liệu giao dịch D để đếm số lần xuất hiện của X.

B. Bài toán khai phá luật kết hợp

Input: Cơ sở dữ liệu giao dịch D.

Các giá trị ngưỡng minsup, minconf.

Output: Tất cả các luật mạnh.

Để giải quyết bài toán khai phá luật kết hợp bao giờ cũng thường trải qua hai pha:

Pha 1: Sinh tất cả các tập phổ biến có thể có. Ở pha này ta sử dụng giải thuật Apriori.

Pha 2: Ứng với mỗi tập phổ biến K tìm được ở pha 1, tách K thành hai tập X, Y không

giao nhau (K = X ∪ Y và X ∩ Y = ϕ). Tính độ tin cậy của luật X → Y, nếu độ tin cậy

trên ngưỡng minsup thì nó là luật mạnh. Chú ý là nếu tập K có k phần tử thì số tập con

thực sự của K sẽ là 2k-2

tức là từ K ta sẽ sinh được tối đa là 2k-2

luật.

Lưu ý: Trong giải thuật Apriori, để xác định một tập là phổ biến người ta không sử

dụng khái niệm độ hỗ trợ mà sử dụng khái niệm số lần xuất hiện (support count). Nếu

số lần xuất hiện của tập mục trong cơ sở dữ liệu giao dịch lớn hơn một giá trị ngưỡng

nào đấy thì nó là tập phổ biến. Giá trị ngưỡng này được xác định là:

mincount = minsup * | |D

C. Sinh tập phổ biến bằng giải thuật Apriori

Thuật toán Apriori là một thuật toán điển hình áp dụng để tìm các tập phổ biến.

Thuật toán dựa trên nguyên lý Apriori “tập con bất kỳ của một tập phổ biến cũng là một

tập phổ biến”. Mục đích của thuật toán Apriori là tìm ra được tất cả các tập phổ biến có

thể có trong cơ sở dữ liệu giao dịch D. Thuật toán hoạt động theo nguyên tắc quy hoạch

động, nghĩa là từ các tập Fi = { ci | ci là tập phổ biến, |ci| = i} gồm mọi tập mục phổ biến

có độ dài i (1 ≤ i ≤ k), đi tìm tập Fk+1 gồm mọi tập mục phổ biến có độ dài k+1. Các

mục i1, i2,…, in trong tập I được coi là sắp xếp theo một thứ tự cố định.

Thuật toán Apriori:

Page 3: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

Input: Cơ sở dữ liệu giao dịch D = {t1, t2,…, tm}.

Ngưỡng độ hỗ trợ tối thiểu minsup.

Output: Tập hợp tất cả các tập phổ biến.

mincount = minsup * | |D ;

F1 = { các tập phổ biến có độ dài 1};

for(k=1; Fk != ⍉; k++)

{

Ck+1 = Apriori_gen(Fk);

for each t ∈ D

{

Ct = { c | c ∈ Ck+1 và c ⊆ t};

for each c ∈ Ct

c.count++;

}

Fk+1 = {c ∈ Ck+1 | c.count ≥ mincount}

}

return F = kk

F ;

Thủ tục con Apriori_gen có nhiệm vụ sinh ra (generation) các tập mục có độ dài

k+1 từ các tập mục có độ dài k trong tập Fk. Thủ tục này được thi hành thông qua việc

nối (join) các tập mục có chung các tiền tố (prefix) và sau đó áp dụng nguyên lý Apriori

để loại bỏ bớt những tập không thỏa mãn:

Bước nối: Sinh các tập mục c là ứng viên của tập phổ biến có độ dài k+1 bằng cách

kết hợp hai tập phổ biến li và lj ∈ Fk có độ dài k và trùng nhau ở k-1 mục đầu tiên:

c = li + lj = {i1, i2,…, ik-1, ik, ik’}. Với li = {i1, i2,…, ik-1, ik}, lj = {i1, i2,…, ik-1, ik’}, và

i1 ≤ i2 ≤…≤ ik1 ≤ ik ≤ ik’.

Bước tỉa: Giữ lại tất cả các ứng viên c thỏa thỏa mãn nguyên lý Apriori tức là mọi

tập con có độ dài k của nó đều là tập phổ biến (∀sk ⊆ c và |sk| = k thì sk ∈ Fk).

Page 4: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

function Apriori_gen(Fk: tập các tập phổ biến độ dài k): Tập ứng viên có độ dài k+1

{

Ck+1 = ⍉;

for each li ∈ Fk

for each lj ∈ Fk

if (li[1]=lj[1]) and (li[2]=lj[2]) … and (li[k-1]=lj[k-1]) and (li[k]<lj[k]) then

{

c = {li[1], li[2], li[3],…, li[k], lj[k]};

if has_infrequent_subset(c, Fk) then

delete c;

else Ck+1 = Ck+1 ∪ {c};

}

return Ck+1;

}

Hàm has_infrequent_subset làm nhiệm vụ kiểm tra xem một ứng viên có độ dài k+1 có

chứa tập không phổ biến hay không, nếu có thì ứng viên lập tức bị loại. Đây là bước tỉa

dựa trên nguyên lý Apriori nhằm loại bỏ nhanh các ứng viên không thỏa mãn. Hàm này

được cài đặt như sau:

function has_infrequent_subset(c: Ứng viên có độ dài k+1, Fk: Tập các tập phổ biến độ

dài k): Boolean

{

for each sk ⊂ c

if sk ∉ Fk then return True;

return False;

}

Trong mỗi bước k, thuật toán Apriori đều phải duyệt cơ sở dữ liệu giao dịch D.

Khởi động thuật toán sẽ tiến hành duyệt D để có được F1 (loại bỏ những mục có độ hỗ

Page 5: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

trợ nhỏ hơn mincount). Kết quả của thuật toán là tập gồm các tập phổ biến có độ dài từ 1

đến k:

F = F1 ∪ F2 ∪ … ∪ Fk

D. Sinh luật kết hợp từ các tập phổ biến

Để sinh các luật kết hợp thì đối với mỗi tập phổ biến X ∈ F, ta xác định các tập

mục không rỗng là con của X. Với mỗi tập mục con S không rỗng của X ta sẽ thu được

một luật kết hợp là S→(X\S). Nếu độ tin cậy của luật thỏa mãn ngưỡng minconf thì luật

đó là luật mạnh: ( )

conf ( ( \ )) minconf( )

C XS X S

C S .

Thủ tục để sinh luật kết hợp mạnh từ các tập phổ biến thuộc F như sau:

function Rules_Generation(F: Tập các tập phổ biến): Tập các luật kết hợp mạnh

{

R = ⍉;

F=F \ F1; //Các tập phổ biến độ dài 1 không dùng để sinh luật

for each X ∈ F

for each S ⊂ F

if conf(S→(X\S)) ≥ minconf then R = R ∪ { S→(X\S)};

return R;

}

2. Bài tập áp dụng

Bài tập số 1: Cho I = {A, B, C, D, E, F} và cơ sở dữ liệu giao dịch D:

T1 {A, B, C, F}

T2 {A, B, E, F}

T3 {A, C}

T4 {D, E}

T5 {B, F}

Cho ngưỡng minsup = 25% và minconf = 75%. Hãy xác định các luật kết hợp mạnh.

Giải

Page 6: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

mincount = minsup * |D| 25%*5 1.25 2

Tập mục Số lần

xuất hiện

{A} 3

{B} 3

{C} 2

{D} 1

{E} 2

{F} 3

F3 chỉ có một phần tử nên không thể tiếp tục kết nối để sinh F4. Thuật toán kết thúc.

Ta có tập các tập phổ biến là:

F ={{A}, {B}, {C}, {E}, {F}, {A, B}, {A, C}, {A, F}, {B, F}, {A, B, F}}

F1 Số lần

xuất hiện

{A} 3

{B} 3

{C} 2

{E} 2

{F} 3

F2 Số lần

xuất hiện

{A, B} 2

{A, C} 2

{A, F} 2

{B, F} 3

Tập mục

{A, B}

{A, C}

{A, E}

{A, F}

{B, C}

{B, E}

{B, F}

{C, E}

{C, F}

{E, F}

C2 Số lần

xuất hiện

{A, B} 2

{A, C} 2

{A, E} 1

{A, F} 2

{B, C} 1

{B, E} 1

{B, F} 3

{C, E} 0

{C, F} 1

{E, F} 1

Tập mục

{A, B, C}

{A, B, F}

{A, C, F}

C3 Số lần

xuất hiện

{A, B, F} 2

F3 Số lần

xuất hiện

{A, B, F} 2

Sinh các tập phổ biến có độ dài 1: Loại {D}

vì xuất hiện ít hơn mincount

Sinh các tập mục

có độ dài 2 từ

tập phổ biến F1

Sinh tập ứng

viên C2 Sinh tập phổ

biến F2 từ C2:

Loại các tập

mục không

thỏa ngưỡng

mincount

Sinh các tập mục

có độ dài 3 từ

tập phổ biến F2

Bước tỉa: Loại

bỏ {A, B, C},

{A, C, F} vì

không thỏa mãn

nguyên lý

Apriori

Page 7: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

Chỉ các tập phổ biến có độ dài 2 trở lên mới dùng để sinh luật kết hợp.

{A, B} có thể sinh các luật: {A}→{B}, {B}→{A}

({ , }) 2conf ({ } { }) 66.7%

({ }) 3

C A BA B

C A

({ , }) 2conf ({ } { }) 66.7%

({ }) 3

C A BB A

C B

{A, C} có thể sinh các luật: {A}→{C}, {C}→{A}

({ , }) 2conf ({ } { }) 66.7%

({ }) 3

C A CA C

C A

({ , }) 2conf ({ } { }) 100%

({ }) 2

C A CC A

C C

{A, F} có thể sinh các luật: {A}→{F}, {F}→{A}

({ , }) 2conf ({ } { }) 66.7%

({ }) 3

C A FA F

C A

({ , }) 2conf ({ } { }) 66.7%

({ }) 3

C A FF A

C F

{B, F} có thể sinh các luật: {B}→{F}, {F}→{B}

({ , }) 3conf ({ } { }) 100%

({ }) 3

C B FB F

C B

({ , }) 3conf ({ } { }) 100%

({ }) 3

C B FF B

C F

{A, B, F} có thể sinh các luật: {A}→{B, F}, {A, B}→{F}, {B}→{A, F}, {B, F}→{A},

{F}→{A, B}, {A, F}→{B}

({ , , }) 2conf ({ } { , }) 66.7%

({ }) 3

C A B FA B F

C A

Page 8: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

({ , , }) 2conf ({ , } { }) 100%

({ , }) 2

C A B FA B F

C A B

({ , , }) 2conf ({ } { , }) 66.7%

({ }) 3

C A B FB A F

C B

({ , , }) 2conf ({ , } { }) 66.7%

({ , }) 3

C A B FB F A

C B F

({ , , }) 2conf ({ } { , }) 66.7%

({ }) 3

C A B FF A B

C F

({ , , }) 2conf ({ , } { }) 100%

({ , }) 2

C A B FA F B

C A F

Như vậy các luật kết hợp mạnh thu được gồm:

{C}→{A}, {B}→{F}, {F}→{B}, {A, B}→{F}, {A, F}→{B}

Bài tập số 2: Cho I = {A, B, C, D, E, F} và cơ sở dữ liệu giao dịch D:

T1 {D, E}

T2 {A, B, D, E}

T3 {A, B, D}

T4 {C, D, E}

T5 {F}

T6 {B, C, D}

Chọn ngưỡng minsup = 20% và minconf = 70%. Hãy xác định các luật kết hợp mạnh.

Giải

mincount = minsup * |D| 20%*6 1.2 2

Tập mục Số lần

xuất hiện

{A} 2

{B} 3

{C} 2

{D} 5

{E} 3

{F} 1

F1 Số lần

xuất hiện

{A} 2

{B} 3

{C} 2

{D} 5

{E} 3

Sinh các tập phổ biến có độ dài 1: Loại {F}

vì xuất hiện ít hơn mincount

Page 9: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

F3 chỉ có một phần tử nên không thể tiếp tục kết nối để sinh ứng viên cho F4. Thuật toán

kết thúc. Tập các tập phổ biến thu được:

F = {{A}, {B}, {C}, {D}, {E}, {A, B}, {A, D}, {B, D}, {C, D}, {D, E}, {A, B, D}}

Chỉ các tập phổ biến có độ dài 2 trở lên mới có thể sinh luật:

{A, B} sinh luật: {A}→{B}, {B}→{A}

({ , }) 2conf ({ } { }) 100%

({ }) 2

C A BA B

C A

({ , }) 2conf ({ } { }) 66.7%

({ }) 3

C A BB A

C B

{A, D} sinh luật: {A}→{D}, {D}→{A}

Tập mục

{A, B}

{A, C}

{A, D}

{A, E}

{B, C}

{B, D}

{B, E}

{C, D}

{C, E}

{D, E}

C2 Số lần

xuất hiện

{A, B} 2

{A, C} 0

{A, D} 2

{A, E} 1

{B, C} 1

{B, D} 3

{B, E} 1

{C, D} 2

{C, E} 1

{D, E} 3

F2 Số lần

xuất hiện

{A, B} 2

{A, D} 2

{B, D} 3

{C, D} 2

{D, E} 3

Tập mục

{A, B, D}

C3 Số lần

xuất hiện

{A, B, D} 2

F3 Số lần

xuất hiện

{A, B, D} 2

Sinh các tập mục

có độ dài 2 từ

tập phổ biến F1

Sinh tập ứng

viên C2

Sinh tập phổ

biến F2 từ C2:

Loại các tập

mục không

thỏa ngưỡng

mincount

Sinh các tập mục

có độ dài 3 từ

tập phổ biến F2

Page 10: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

({ , }) 2conf ({ } { }) 100%

({ }) 2

C A DA D

C A

({ , }) 2conf ({ } { }) 40%

({ }) 5

C A BD A

C D

{B, D} sinh luật: {B}→{D}, {D}→{B}

({ , }) 3conf ({ } { }) 100%

({ }) 3

C B DB D

C B

({ , }) 3conf ({ } { }) 60%

({ }) 5

C B DD B

C D

{C, D} sinh luật: {C}→{D}, {D}→{C}

({ , }) 2conf ({ } { }) 100%

({ }) 2

C C DC D

C C

({ , }) 2conf ({ } { }) 40%

({ }) 5

C C DD C

C D

{D, E} sinh luật: {D}→{E}, {E}→{D}

({ , }) 3conf ({ } { }) 60%

({ }) 5

C D ED E

C D

({ , }) 3conf ({ } { }) 100%

({ }) 3

C D EE D

C E

{A, B, D} sinh luật: {A}→{B, D}, {A, B}→{D}, {B}→{A, D}, {B, D}→{A},

{D}→{A, B}, {A, D}→B

({ , , }) 2conf ({ } { , }) 100%

({ }) 2

C A B DA B D

C A

({ , , }) 2conf ({ , } { }) 100%

({ , }) 2

C A B DA B D

C A B

Page 11: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

({ , , }) 2conf ({ } { , }) 66.7%

({ }) 3

C A B DB A D

C B

({ , , }) 2conf ({ , } { }) 66.7%

({ , }) 3

C A B DB D A

C B D

({ , , }) 2conf ({ } { , }) 40%

({ }) 5

C A B DD A B

C D

({ , , }) 2conf ({ , } { }) 100%

({ , }) 2

C A B DA D B

C A D

Các luật kết hợp mạnh là:

{A}→{B}, {A}→{D}, {B}→{D}, {C}→{D}, {E}→{D}, {A}→{B, D}, {A,B}→{D},

{A, D}→B

Bài tập số 3: Cho I = {I1, I2, I3, I4, I5} và cơ sở dữ liệu giao dịch D:

Chọn ngưỡng minsup = 22%. Hãy xác định các tập phổ biến.

Giải

mincount = minsup * |D| 22%*9 1.98 2

T1 I1, I2, I5

T2 I2, I4

T3 I2, I3

T4 I1, I2, I4

T5 I1, I3

T6 I2, I3

T7 I1, I3

T8 I1, I2, I3, I5

T9 I1, I2, I3

F1 Số lần xuất hiện

{I1} 6

{I2} 7

{I3} 6

{I4} 2

{I5} 2

Tập mục Số lần xuất hiện

{I1} 6

{I2} 7

{I3} 6

{I4} 2

{I5} 2

Sinh tập phổ

biến độ dài 1

Page 12: Khai Pha Luat Ket Hop (Phan 2)

BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp

Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin

Tập các tập phổ biến thu được là:

F = {{I1}, {I2}, {I3}, {I4}, {I5}, {I1, I2}, {I1, I3}, {I1, I5}, {I2, I3}, {I2, I4}, {I2, I5}, {I1, I2,

I3}, {I1, I2, I5}}

---------*&*----------

F2 Số lần

xuất hiện

{I1, I2} 4

{I1, I3} 4

{I1, I5} 2

{I2, I3} 4

{I2, I4} 2

{I2, I5} 2

C2 Số lần

xuất hiện

{I1, I2} 4

{I1, I3} 4

{I1, I4} 1

{I1, I5} 2

{I2, I3} 4

{I2, I4} 2

{I2, I5} 2

{I3, I4} 0

{I3, I5} 1

{I4, I5} 0

Tập mục

{I1, I2}

{I1, I3}

{I1, I4}

{I1, I5}

{I2, I3}

{I2, I4}

{I2, I5}

{I3, I4}

{I3, I5}

{I4, I5}

Tập mục

{I1, I2, I3}

{I1, I2, I5}

{I1, I3, I5}

{I2, I3, I4}

{I2, I3, I5}

{I2, I4, I5}

C3 Số lần

xuất hiện

{I1, I2, I3} 2

{I1, I2, I5} 2

F3 Số lần

xuất hiện

{I1, I2, I3} 2

{I1, I2, I5} 2

Tập mục

{I1, I2, I3, I5} F4 = ⍉

(Thuật toán

kết thúc)

Sinh tập mục

có độ dài 2

bằng cách kết

nối các tập

mục độ dài 1

Tạo tập ứng

viên có độ dài 2

Sinh tập mục có độ

dài 3 bằng cách kết

nối các tập mục có

độ dài 2

Loại bớt (tỉa) các tập mục không

thỏa mãn nguyên lý Apriori

Sinh tập mục có độ

dài 4 bằng cách kết

nối các tập mục có

độ dài 3

Loại bớt

(tỉa) các tập

mục không

thỏa mãn

nguyên lý

Apriori