1. Trang chủ
  2. » Công Nghệ Thông Tin

Khai thác tập phổ biến và luật kết hợp

20 4,3K 19
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khai thác tập phổ biến & luật kết hợp
Tác giả Nguyễn Hoàng Tú Anh
Trường học Trường Đại Học
Chuyên ngành Khoa Học Máy Tính
Thể loại Bài tập
Định dạng
Số trang 20
Dung lượng 369,47 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khai thác tập phổ biến và luật kết hợp

Trang 1

KHAI THÁC

DỮ LIỆU &

ỨNG DỤNG

(DATA MINING)

GV : NGUYỄN HOÀNG TÚ ANH

2

BÀI 3- PHẦN 1

KHAI THÁC

TẬP PHỔ BIẾN & LUẬT KẾT HỢP

Trang 2

NỘI DUNG

4

GIỚI THIỆU

 Mẫu phổ biến : là mẫu (tập các hạng mục, chuỗi con, cấu trúc con, đồ thị con, …) xuất hiện thường xuyên trong tập DL

– Agrawal, Imielinski, Swami – 1993 – trong ngữ cảnh bài toán tập phổ biến và luật kết hợp

 Mục đích : Tìm các hiện tượng thường xuyên xảy ra trong DL

– Những sản phẩm nào thường được mua chung ? Bia và tã lót

Người ta thường mua gi tiếp theo sau khi mua máy PC ?

– Dạng DNA nào có phản ứng với công thức thuốc mới ?

Làm thế nào đề phân loại tự động văn bản Web ?

 Ứng dụng :

– Áp dụng trong phân tích CSDL bán hàng

– Mở rộng sang quảng cáo, thiết kế catalog, phân tích chiến dịch bán hàng, Web log, chuỗi DNA, …

Trang 3

GIỚI THIỆU

 Bài toán khai thác tập phổ biến là bài toán rất quan trọng lĩnh vực KTDL : vạch ra tính chất ẩn, quan trọng của tập DL

 Là nền tảng cho nhiều nhiệm vụ KTDL khác : – Phân tích luật kết hợp, mối tương quan

– Mẫu tuần tự, cấu trúc ( Vd : đồ thị con)

– Phân tích DL không gian, đa phương tiện, phụ thuộc thời gian

– Phân loại : phân loại dựa trên luật kết hợp

– Phân tích nhóm: gom nhóm dựa trên mẫu phổ biến – …

6

NỘI DUNG

Trang 4

KHÁI NIỆM CƠ BẢN

1. CSDL GIAO DỊCH

(Transaction DB)

VD giỏ mua hàng:

o Giỏ 1: {Bánh mì,

Trứng, Sữa}

o Giỏ 2: {Bánh mì,

Đường}

o Giỏ n: {Bánh qui, ngũ

cốc, sữa}

TID Produces

1 MILK, BREAD, EGGS

2 BREAD, SUGAR

3 BREAD, CEREAL

4 MILK, BREAD, SUGAR

5 MILK, CEREAL

6 BREAD, CEREAL

7 MILK, CEREAL

8 MILK, BREAD, CEREAL,

EGGS

9 MILK, BREAD, CEREAL

8

KHÁI NIỆM CƠ BẢN

TID A B C D E

1 1 1 0 0 1

2 0 1 0 1 0

3 0 1 1 0 0

4 1 1 0 1 0

5 1 0 1 0 0

6 0 1 1 0 0

7 1 0 1 0 0

8 1 1 1 0 1

9 1 1 1 0 0

TID Products

1 A, B, E

2 B, D

3 B, C

4 A, B, D

5 A, C

6 B, C

7 A, C

8 A, B, C, E

9 A, B, C

ITEMS:

A = milk

B= bread

C= cereal

D= sugar

E= eggs

Biến đổi CSDL về dạng nhị phân

Trang 5

1. CSDL GIAO DỊCH (tt)

Định nghĩa :

o Hạng mục (Item) : mặt hàng trong giỏ hay một thuộc tính

o Tập các hạng mục (itemset) I = {i1, i2, …, i m} :

VD : I = {sữa, bánh mì, ngũ cốc, sữa chua}

Tập k hạng mục (k-itemset)

o Giao dịch (Transation) : tập các hạng mục được mua trong một giỏ ( có TID – mã giao dịch) : (Tid, tập hạng mục)

o Giao dịch t : tập các hạng mục sao cho t I

o VD : t = { bánh mì, sữa chua, ngũ cốc}

o CSDL giao dịch : tập các giao dịch

o CSDL D = {t 1 ,t 2 , …, t n } , ti={ii1,ii2, …, iik} với i ijI : CSDL

giao dịch

KHÁI NIỆM CƠ BẢN

10

2. ĐỘ PHỔ BIẾN VÀ TẬP PHỔ BIẾN

Giao dịch t chứa X nếu X là tập các hạng mục

trong I và X ⊆ t

VD : X = { bánh mì, sữa chua}

Độ phổ biến (supp) của tập các hạng mục X

trong CSDL D là tỷ lệ giữa số các giao dịch

chứa X trên tổng số các giao dịch trong D

Supp(X) = count(X) / | D |

Tập các hạng mục phổ biến S hay tập phổ biến (frequent itemsets) là tập các hạng mục

có độ phổ biến thỏa mãn độ phổ biến tối thiểu

minsupp (do người dùng xác định)

Nếu supp(S) ≥≥≥≥ minsupp thì S - tập phổ biến

KHÁI NIỆM CƠ BẢN

Trang 6

Tất cả các tập con của tập phổ biến đều là tập phổ biến

Thảo luận :

Tại sao ?

Nu tp con không ph bin thì tp bao nó (tp cha) có ph bin hay không ?

KHÁI NIỆM CƠ BẢN

12

I = { Beer, Bread, Jelly, Milk, PeanutButter}

X= {Bread,PeanutButter} ; Count(X) = 3 và |D| = 5

supp(X) = 60%→X- tập phổ biến

X 2 = {Bread} →supp(X 2 ) = ?

X 3 = { PeanutButter } →supp(X 3 ) = ?; X 2 và X 3 có phổ biến ?

X 4 = {Milk}, X 5 ={Milk, Bread} →X 4 và X 5 có phổ biến ?

VÍ DỤ 1

Minsupp = 60%

Trang 7

minsupp=30%

TẬP PHỔ BIẾN của VD 1

14

KHÁI NIỆM CƠ BẢN

4 TẬP PHỔ BIẾN TỐI

ĐẠ I (Max-Pattern)

T  p ph bin & không

tn t i tp nào bao nó

là ph bin (Bayardo –

SIGMOD’98)

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

D}-tập phổ biến tối đại

{B, C, D}- không phải tập

phổ biến tối đại

Tid Items

10 A,B,C,D,E

20 B,C,D,E,

30 A,C,D,F Minsupp=2

Trang 8

KHÁI NIỆM CƠ BẢN

5. TẬP PHỔ BIẾN ĐÓNG

(Closed Pattern)

Tp ph bin & không tn t i

tp nào bao nó có cùng đ

ph bin nh nó (Pasquier,

ICDT’99)

Tp ph bin ĐÓNG là tr ng hp

nén các tp ph bin (có mt

thông tin)

{A, B}, {A, B, D}, {A,B, C} - tập

phổ biến đóng

{A, B} - không phải tập phổ

biến tối đại

Minsupp=2

TID Items

10 a, b, c

20 a, b, c

30 a, b, d

40 a, b, d,

50 c, e, f

16

6 LUẬT KẾT HỢP( Association rule)

LKH có d ng :

X ⇒Y, với X, Y ⊂I, và X ∩Y ={}

Ý nghĩa : khi X có mặt thì Y cũng có mặt ( với xác suất nào đó)

LKH th ng được đánh giá dựa trên 2 độ đo:

Độphổ biến (support) : supp (X ⇒Y ) =P (X ∪Y)

supp (X ⇒Y ) = supp(XY)

Độtin cậy (confidence) : conf (X ⇒Y ) = P(Y | X)

conf (X ⇒Y ) = supp(XY) / supp(X)

KHÁI NIỆM CƠ BẢN

Trang 9

VÍ DỤ LUẬT KẾT HỢP (VD1)

Ký hiệu : s – supp, α - conf

18

7 MÔ TẢ BÀI TOÁN KHAI THÁC LKH

Cho độ phổ biến tối thiểu (minsupp) và độ tin cậy tối thiểu (minconf) do người dùng xác định

Cho tập các hạng mục I={i1,i2,…,im} và CSDL giao dịch D={t1,t2, …, tn}, với ti={ii1,ii2, …, iik} và iij

∈ I

Bài toán khai thác LKH là bài toán tìm tt c

các luật dạng X ⇒ ⇒ Y (X, Y ⊂ I và X ∩Y = {})

thỏa mãn độ phổ biến và độ tin cậy tối thiểu

supp (X ⇒Y ) ≥≥≥≥ minsupp

conf (X ⇒Y ) ≥≥≥≥ minconf

KHÁI NIỆM CƠ BẢN

Trang 10

 Thời gian : 8’

 Trình bày ý tưởng gii

quyt vn đ tr c lp

trong vòng 3’

 Tình huống :

– Cho CSDL bên với các

giá trị minsupp =50 % và

minconf = 60%

– Tìm tt c các lut kt

hp tha mãn minsupp

và minconf

– Nhận xét ?

Minsupp = 50%

Minconf = 60%

Trs-id Items bought

Bài tập theo nhóm

20

KHÁI NIỆM CƠ BẢN

8 QUI TRÌNH KHAI THÁC LKH

B1 : Tìm tất cả các tập phổ biến ( theo ngưỡng minsupp)

B2 : Tạo ra các luật từ các tập phổ biến

Đối với mỗi tập phổ biến S, tạo ra tất cả các tập con khác rỗng của S

Đối với mỗi tập con khác rỗng A của S,

o Luật A ⇒(S - A) là LKH cần tìm nếu :

 conf (A ⇒(S - A)) = supp(S) / supp(A) ≥≥≥≥ minconf

 T bài toán khai thác LKH chuyn thành bài toán khai thác tp ph bin : độ phức

tạp tính toán cao.

Trang 11

Luật A ⇒ C :

supp (A ⇒ C) = supp({A}∪{C}) = 50%

conf (A ⇒ C) = supp({A}∪{C})/supp({A}) = 66.6% (loại)

Luật C ⇒ A :

supp (C ⇒ A) = supp({C}∪{A}) = 50%

conf (C ⇒ A) = supp({C}∪{A})/supp({C}) = 100% (chọn)

Minsupp = 50%

Minconf = 80%

Transaction-id Items bought

10 A, B, C

40 B, E, F

Frequent Itemsets Support

{A, C} 50%

VÍ DỤ

22

NỘI DUNG

bin

 Thut toán Apriori

Trang 12

GIỚI THIỆU Bài toán khai thác tập phổ biến là bài toán rất quan trọng lĩnh vực KTDL

Bài toán khai thác tp ph bin là bài toán tìm tt c các tp các h ng mc S (hay tp ph bin S)

có đ ph bin tha mãn đ ph bin ti thiu minsupp

supp(S) minsupp

Cách giải quyết : dựa trên tính chất của tập phổ biến

Tìm kiếm theo chiều rộng : Thuật toán Apriori (1994)

Phát triển mẫu : Thuật toán FP-Growth (2000)

Tìm kiếm trên CSDL dạng dọc : Thuật toán Charm (2002)

24

TÌM KIẾM THEO CHIỀU RỘNG

Nguyên tắc loại bỏ Apriori : Nếu không phải là tập phổ biến thì tập bao nó cũng không phổ biến

Ph ơng pháp :

Tìm tất cả các tập phổ biến 1- hạng mục

Tạo các tập ứng viên kích thước khạng mục (k -candidate itemset) từ các tập phổ biến có kích thước (k-1)-hạng mục

Kiểm tra độ phổ biến của các ứng viên trên CSDL và loại các ứng viên không phổ biến

Dừng khi không tạo được tập phổ biến hay tập ứng viên

Trang 13

CSDL D

1stscan

L 2

2

2ndscan

10 A, C, D

20 B, C, E

30 A, B, C, E

40 B, E

Itemset sup

{A} 2 {B} 3 {C} 3 {D} 1 {E} 3

Itemset sup

{A} 2 {B} 3 {C} 3 {E} 3

Itemset

{A, B} {A, C} {A, E} {B, C} {B, E} {C, E}

Itemset sup

{A, B} 1 {A, C} 2 {A, E} 1 {B, C} 2 {B, E} 3 {C, E} 2

Itemset sup

{A, C} 2

{B, C} 2

{B, E} 3

{C, E} 2

Itemset

{B, C, E} {B, C, E}Itemset sup2

26

THUẬT TOÁN APRIORI

2 Pseudo-Code

Input : CSDL D, minsupp

Output : L : các tập phổ biến trong D

C k : Tập ứng viên kích thước k

L k: Tập phổ biến kích thước k

L 1 = Tìm_tập_phổ_biến_1_hạng mục(D);

for(k = 1; L k≠∅; k++) {

C k+1 = apriori_gen(L k ); // Tạo tập ứng viên (k+1) hạng mục

for mỗi giao tác t ∈ D { // Duyệt CSDL để tính support

C t = subset(C k+1 , t); // Lấy ra tập con của t là ứng viên

for mỗi ứng viên c ∈ C t

c.count ++

}

L k+1 = { c ∈ C k+1 | c.count ≥ minsupp }

}

returnL = ∪ k L k;

Trang 14

THUẬT TOÁN APRIORI

3 Tạo tập ứng viên (k+1)- hạng mục

Hàm apriori_gen nhận L k và trả về tập ứng viên kích thước (k+1).Gm 2 b c : kt và lo i b

Gi s các h ng mc trong L k sp xp theo th t

Procedure apriori_gen (L k : Tập phổ biến kích thước k)

formỗi itemset l 1L k

formỗi itemset l 2L k

if (l 1 [1] = l 2 [1]) ∧ (l 1 [2] = l 2 [2]) ∧ …∧ (l 1 [k-1] = l 2 [k-1]) ∧

(l 1 [k] < l 2 [k]) then

{ c = l 1 l 2; // Bước 1 :kết L k với chính nó

if has_infrequent_subset (c, L k ) then

Xóa c ; // B2 : Loại bỏ các ứng viên không có lợi

else Thêm c vào C k+1;

} returnCk+1 ;

28

THUẬT TOÁN APRIORI

Tạo tập ứng viên (k+1)- hạng mục (tt)

B c 2 : lo i b đ gim C k+1

ứng viên kích thước k+1, Lk : Tập phổ biến kích thước k )

for mỗi k-subset s ∈ c

if s ∉Lk then

return True ;

Trang 15

VÍ DỤ TẠO TẬP ỨNG VIÊN

 Giả sử L3 = {{1, 2, 3}, {1, 2, 4}, {1, 3, 4},

{1, 3, 5}, {2, 3, 4}}

– C4= {{1, 2, 3, 4}, {1, 3, 4, 5}}

 Sau bước loại bỏ, còn :

– C4= {{1, 2, 3, 4}}

vì {1, 4, 5} ∉ L3 nên {1, 3, 4, 5} bị loại

30

CÁC THÁCH THỨC CỦA TT APRIORI

Thách thức :

Phải duyệt CSDL nhiều lần

Số lượng tập ứng viên rất lớn

Thực hiện việc tính độ phổ biến nhiều, đơn điệu

Cải tiến Apriori : ý tưởng chung

Giảm số lần duyệt CSDL

Giảm số lượng tập ứng viên

Qui trình tính độ phổ biến thuận tiện hơn

Trang 16

CÁC KỸ THUẬT CẢI TIẾN

THUẬT TOÁN APRIORI

T tìm hiu trong tài liu tham kho

Chia để trị : A Savasere, E Omiecinski, and S Navathe An efficient algorithm for mining association in large databases

VLDB’95

Chia CSDL thành các phân hoạch D 1 ,D 2 ,…,D p

Tìm tập phố biến cục bộ trong từng phân hoạch và tổ hợp

Hàm băm (Hashing) : J Park, M Chen, and P Yu An effective hash-based algorithm for mining association rules SIGMOD’95

Băm các tập ứng viên k-hạng mục vào các giỏ

Tập ứng viên k-hạng mục tương ứng giỏ có độ phổ biến <minsupp sẽ

bị loại

Lấy mẫu : H Toivonen Sampling large databases for association rules VLDB’96

CSDL lớn

Chọn mẫu từ CSDL và tìm tập phổ biến trên mẫu, kiểm tra bao đóng của các hạng mục phổ biến

Giảm số lượng giao dịch : R Agrawal and R Srikant Fast algorithms for mining association rules VLDB'94

Loại bỏ các giao dịch không chứa bất kỳ tập phổ biến nào

32

THUẬT TOÁN APRIORI -TID

BẢN CHẤT

Tương tự như thuật toán Apriori, sử dùng hàm apriori_gen để tạo ứng viên.

Cải tiến theo hướng giảm số lượng giao dịch

TT Apriori_Tid không tính độ phổ biến của các tập hạng mục từ các mẫu tin của CSDL mà xây dựng cấu trúc lưu trữ mới Ck cho CSDL ban đầu

Mỗi mẫu tin trong Ck có dạng <Tid, {Xk}> với Xk là tập phổ biến k- hạng mục xuất hiện trong giao dịch có mã Tid.

Nếu một giao dịch không chứa bất kỳ một tập phổ biến k hạng mục thì giao dịch này không được đưa vào C k .

Trang 17

BÀI TẬP THEO NHÓM

 Thời gian : 25’

 Ch trình bày kt qu câu

1(không cn chi tit các b c

c!a câu 1) và câu 2, câu 3 vào

giy n p theo nhóm cho GV.

Cho CSDL giao dịch bên

1 Sử dụng thut toán Apriori để tìm

các tập phổ biến với minsupp = 22

%

2 Liệt kê các tập phổ biến tối đại và

tập phổ biến đóng

3 Tìm tất cả các luật kết hợp thỏa mãn

Nhóm :

b Minconf = 70%

Nhóm :

100 M1, M2, M5

400 M1, M2, M4

800 M1, M2, M3,

M5

900 M1, M2, M3

34

Qui định trình bày bài nộp

Bài tập nộp theo nhóm

 Tên nhóm : (chỉ ghi tên các thành viên có tham gia)

– Thành viên 1:

– Thành viên 2:

– Thành viên 3:

– …

– Thành viên 7:

 Nội dung :

Trang 18

BÀI TẬP PHẦN 1

1 Hãy tìm hiểu trong tài liệu tham khảo [2][3] và trình bày chi tiết một phương pháp cải tiến quá trình tìm luật kết hợp từ tập phổ biến (Bước 2 trong qui trình khai thác luật kết hợp)? Giải thích vì sao nó hiệu quả hơn

2. Tìm hiểu các phương pháp cải tiến thuật toán Apriori Trình bày chi tiết MỘT cải tiến ( ý tưởng, mã giả )

tiến đó vào bài tập 4.a Nêu rõ đã cải tiến ở phần nào

36

BÀI TẬP PHẦN 1

4 Cho CSDL sau và minsupp=50%, minconf=80%

a) Sử dụng thuật toán Apriori để tìm tất cả các tập phổ biến, tập phổ biến tối đại, tập phổ biến đóng

b) Tìm tất cả LKH thỏa mãn ngưỡng minconf đã cho

c) "ng dng ci tin c!a câu 1 vào vic tìm các LKH tha mãn ng #ng minconf So sánh hiu qu v thi gian thc hin vi kt qu $ câu b).

d) Liệt kê LKH thỏa mãn ngưỡng đã cho và có dạng (item1 ∧ item2) ⇒ item3 kèm theo supp, conf của nó

TID 100 200 300 400

Date 15/1/03 15/1/03 19/1/03 25/1/03

Items_bought

K, A, D, B, C, I

D, A, C, E, B

C, A, B, E, D

B, A, D, I, K

Trang 19

TÀI LIỆU THAM KHẢO

1 R Agrawal and R Srikant Fast algorithms for mining association rules VLDB'94

487-499, Santiago, Chile.

2 J.Han, M.Kamber, Chương 6 – Data mining : Concepts and Techniques

http://www.cs.sfu.ca/~han/dmbook

http://www-faculty.cs.uiuc.edu/~hanj/bk2/slidesindex.html : 2 nd

3 P.-N Tan, M Steinbach, V Kumar, Chương

6 - Introduction to Data Mining

http://www-users.cs.umn.edu/~kumar/dmbook/ch6.pdf

38

CÁC CÔNG VIỆC CẦN LÀM

2 – 25/8/2008

kết hợp

Phần 2.

Trang 20

39

... Apriori để tìm

các tập phổ biến với minsupp = 22

%

2 Liệt kê tập phổ biến tối đại

tập phổ biến đóng

3 Tìm tất luật kết hợp thỏa mãn

Nhóm... data-page="18">

BÀI TẬP PHẦN

1 Hãy tìm hiểu tài liệu tham khảo [2][3] trình bày chi tiết phương pháp cải tiến trình tìm luật kết hợp từ tập phổ biến (Bước qui trình khai thác luật kết hợp) ?... từ tập phổ biến có kích thước (k-1)-hạng mục

Kiểm tra độ phổ biến ứng viên CSDL loại ứng viên không phổ biến< /b>

Dừng không tạo tập phổ biến hay tập

Ngày đăng: 31/08/2012, 16:12

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w