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

10 2K 22
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 336,9 KB

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

3

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 2

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

1 Giới thiệu

7

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 3

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

11

3 TÍNH CHẤT TẬP PHỔ BIẾN

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 3 = {Milk}, X 4 ={Milk, Bread} →X 3 và X 4 có phổ biến ?

VÍ DỤ 1

Minsupp = 60%

Trang 4

minsupp=30%

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

14

KHÁI NIỆM CƠ BẢN

ĐẠ 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

A,C,D,F 30

B,C,D,E, 20

A,B,C,D,E 10

Items Tid

Minsupp=2

15

KHÁI NIỆM CƠ BẢN

5. TẬP BAO PHỔ BIẾN

(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 bao ph bin 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

bao phổ biến

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

biến tối đại

Minsupp=2

c, e, f 50

a, b, d, 40

a, b, d 30

a, b, c 20

a, b, c 10

Items TID

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 5

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

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

19

 Thời gian : 7’

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

quyt vn đ tr c lp

trong vòng 3’/nhóm

 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%

A, E 40

D, B, F 30

A, B, C 20

B, C 10

Items bought Trs-id

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

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

tạp tính toán cao.

Trang 6

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%

B, E, F

40

A, D

30

A, C

20

A, B, C

10

Items bought

Transaction-id

50%

{A, C}

50%

{C}

50%

{B}

75%

{A}

Support Frequent Itemsets

VÍ DỤ

22

NỘI DUNG

1 Giới thiệu

bin

 Thut toán Apriori

23

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

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

1 BẢN CHẤT

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 7

CSDL D

1stscan

2

2ndscan

B, E

40

A, B, C, E

30

B, C, E

20

A, C, D

10

Items

Tid

1 {D}

3 {E}

3 {C}

3 {B}

2 {A}

sup Itemset

3 {E}

3 {C}

3 {B}

2 {A}

sup Itemset

{C, E}

{B, E}

{B, C}

{A, E}

{A, C}

{A, B}

Itemset

1 {A, B}

2 {A, C}

1 {A, E}

2 {B, C}

3 {B, E}

2 {C, E}

sup Itemset

2

{A, C}

2

{B, C}

3

{B, E}

2

{C, E}

sup

Itemset

{B, C, E}

Itemset

2 {B, C, E}

sup Itemset

26

THUẬT TOÁN APRIORI

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

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;

27

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

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;

}

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 8

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}}

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

vì {1, 4, 5} ∉ L3nê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

31

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

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 9

BÀI TẬP THEO NHÓM

 Thời gian : 30’

 Trình bày kt qu câu 2 và 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 bao phổ biến

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

a Minconf = 50 %

Nhóm :

b Minconf = 70%

Nhóm :

M1, M2, M3 900

M1, M2, M3, M5 800

M1, M3 700

M2, M3 600

M1, M3 500

M1, M2, M4 400

M2, M3 300

M2, M4 200

M1, M2, M5 100

Items Tid

34

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

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

Ngày nộp :

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

– Thành viên 1:

– Thành viên 2:

– ….

– Thành viên 12:

Nội dung :

35

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ả )

3. Áp dụng một trong các phương pháp cải

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 bao phổ biến

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ó

Items_bought

K, A, D, B, C, I

D, A, C, E, B

C, A, B, E, D

B, A, D, I

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

TID 100 200 300 400

Trang 10

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

Q & A A

... 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 bao phổ biến

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

a... itemset) 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 viên...

B2 : Tạo luật từ tập phổ biến< /i>

Đối với tập phổ biến S, tạo tất tập

con khác rỗng S

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

o Luật A ⇒(S

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w