47
Khai Phá DLiu Nguyn Nht Quang [email protected] Trường Đại hc Bách Khoa Hà Ni Vin Công nghThông tin và Truyn thông Năm hc 2011-2012

Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Khai Phá Dữ Liệu

Nguyễn Nhật Quang

[email protected]

Trường Đại học Bách Khoa Hà NộiViện Công nghệ Thông tin và Truyền thông

Năm học 2011-2012

Page 2: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Nội dung môn học:

Giới thiệu về Khai phá dữ liệu

ềGiới thiệu về công cụ WEKA

Tiền xử lý dữ liệu

Phát hiện các luật kết hợp

Các kỹ thuật phân lớp và dự đoánCác kỹ thuật phân lớp và dự đoán

Các kỹ thuật phân nhóm

2Khai Phá Dữ Liệu

Page 3: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện các luật kết hợp – Giới thiệuBài toán phát hiện luật kết hợp (Association rule mining)

Với một tập các giao dịch (transactions) cho trước, cần tìm các ộ ập g ị ( ) ,luật dự đoán khả năng xuất hiện trong một giao dịch của các mục (items) này dựa trên việc xuất hiện của các mục khác

TID Items

1 Bread, Milk

Các ví dụ của luật kết hợp:

{Diaper} → {Beer}2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

{Diaper} → {Beer}

{Milk, Bread} → {Eggs, Coke}

{Beer, Bread} → {Milk}4 Bread, Milk, Diaper, Beer5 Bread, Milk, Diaper, Coke

3Khai Phá Dữ Liệu

Page 4: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các định nghĩa cơ bản (1)Tập mục (Itemset)

Một tập hợp gồm một hoặc nhiều mụcVí dụ: {Milk, Bread, Diaper}

Tập mục mức k (k-itemset)Một tập mục gồm k mục

ổ ố ỗ (S )

TID Items

1 Bread, Milk

2 Bread Diaper Beer EggsTổng số hỗ trợ (Support count) σSố lần xuất hiện của một tập mụcVí dụ: σ({Milk, Bread, Diaper}) = 2

2 Bread, Diaper, Beer, Eggs3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

5 Bread Milk Diaper CokeĐộ hỗ trợ (Support) sTỷ lệ các giao dịch chứa một tập mụcVí dụ: s({Milk, Bread, Diaper}) = 2/5

5 Bread, Milk, Diaper, Coke

Tập mục thường xuyên (Frequent/large itemset)

Một tập mục mà độ hỗ trợ lớn hơn hoặc bằng một giá trị ngưỡng minsup

4Khai Phá Dữ Liệu

Page 5: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các định nghĩa cơ bản (2)Luật kết hợp (Association rule)

TID Items

1 Bread, Milk

Một biểu thức kéo theo có dạng: X → Y, trong đó X và Y là các tập mụcVí dụ: {Milk Diaper} → {Beer}

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

Ví dụ: {Milk, Diaper} → {Beer}

Các độ đo đánh giá luậtĐộ hỗ trợ (Support) s Beer}DiaperMilk{ →

5 Bread, Milk, Diaper, Coke

ộ ợ ( pp )Tỷ lệ các giao dịch chứa cả X và Y đối với tất cả các giao dịch

Beer}Diaper,Milk{ →

4.052

|T|)BeerDiaper,,Milk(

===σs

Độ tin cậy (Confidence) cTỷ lệ các giao dịch chứa cả X và Y đối với các giao dịch chứa X

5|T|

67.032

)Diaper,Milk()BeerDiaper,Milk,(

===σ

σcchứa X

5Khai Phá Dữ Liệu

Page 6: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện các luật kết hợpVới một tập các giao dịch T, mục đích của bài toán phát hiện luật kết hợp là tìm ra tất cả các luật có:hiện luật kết hợp là tìm ra tất cả các luật có:

độ hỗ trợ ≥ giá trị ngưỡng minsup, vàđộ tin cậy ≥ giá trị ngưỡng minconf

Cách tiếp cận vét cạn (Brute-force)Liệt kê tất cả các luật kết hợp có thểTí h t á độ hỗ t à độ ti ậ h ỗi l ậtTính toán độ hỗ trợ và độ tin cậy cho mỗi luậtLoại bỏ đi các luật có độ hỗ trợ nhỏ hơn minsup hoặc có độ tin cậy nhỏ hơn minconf

⇒ Phương pháp vét cạn này có chi phí tính toán quá lớn, không áp dụng được trong thực tế!

6Khai Phá Dữ Liệu

Page 7: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện luật kết hợpCác luật kết hợp:

{Milk, Diaper} → {Beer} (s=0.4, c=0.67)

TID Items

1 Bread, Milk

2 B d Di B E {Milk, Beer} → {Diaper} (s=0.4, c=1.0){Diaper, Beer} → {Milk} (s=0.4, c=0.67){Beer} → {Milk, Diaper} (s=0.4, c=0.67) {Diaper} → {Milk Beer} (s=0 4 c=0 5)

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

Tất cả các luật trên đều là sự phân tách (thành 2 tập con) của

{Diaper} → {Milk, Beer} (s 0.4, c 0.5) {Milk} → {Diaper, Beer} (s=0.4, c=0.5)5 Bread, Milk, Diaper, Coke

cùng tập mục : {Milk, Diaper, Beer}

Các luật sinh ra từ cùng một tập mục sẽ có cùng độ hỗ trợ, nhưng có thể khác về độ tin cậynhưng có thể khác về độ tin cậy

Do đó, trong quá trình phát hiện luật kết hợp, chúng ta có thể tách riêng 2 yêu cầu về độ hỗ trợ và độ tin cậy

7Khai Phá Dữ Liệu

Page 8: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện luật kết hợpQuá trình phát hiện luật kết hợp sẽ gồm 2 bước (2 giai đoạn) quan trọng:đoạn) quan trọng:

Sinh ra các tập mục thường xuyên (frequent/large itemsets)Sinh ra tất cả các tập mục có độ hỗ trợ ≥ minsup

Sinh ra các luật kết hợpTừ mỗi tập mục thường xuyên (thu được ở bước trên), sinh ra tất cả các luật có độ tin cậy cao (≥ minconf)tất cả các luật có độ tin cậy cao (≥ minconf)Mỗi luật là một phân tách nhị phân (phân tách thành 2 phần) của một tập mục thường xuyên

Bước sinh ra các tập mục thường xuyên (bước thứ 1) vẫn có chi phí tính toán quá cao!

8Khai Phá Dữ Liệu

Page 9: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Lattice biểu diễn các tập mục cần xét

Với dnull

mục, thì phải xét đến 2d

A B C D E

đến 2các tập mục có thể!

AB AC AD AE BC BD BE CD CE DE

thể!ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

9Khai Phá Dữ Liệu

ABCDE

Page 10: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Sinh ra các tập mục thường xuyên

TID Items 1 B d Milk1 Bread, Milk2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

Phương pháp vét cạn (Brute force)

4 Bread, Milk, Diaper, Beer5 Bread, Milk, Diaper, Coke

Phương pháp vét cạn (Brute-force)Mỗi tập mục trong lattice đều được xétTính độ hỗ trợ của mỗi tập mục, bằng cách duyệt qua tất cả các i dị hgiao dịch

Với mỗi giao dịch, so sánh nó với mỗi tập mục được xétĐộ phức tạp ~ O(N.M.w)

Với M = 2d, thì độ phức tạp này là quá lớn!

10Khai Phá Dữ Liệu

Page 11: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các chiến lược sinh tập mục thường xuyênGiảm bớt số lượng các tập mục cần xét (M)

Tìm kiếm (xét) đầy đủ: M=2d( ) ySử dụng các kỹ thuật cắt tỉa (pruning) để giảm giá trị M

Giảm bớt số lượng các giao dịch cần xét (N)ợ g g ị ( )Giảm giá trị N, khi kích thước (số lượng các mục) của tập mục tăng lên

ốGiảm bớt số lượng các so sánh (matchings/comparisons) giữa các tập mục và các giao dịch (N.M)g ( )

Sử dụng các cấu trúc dữ liệu phù hợp (hiệu quả) để lưu các tập mục cần xét hoặc các giao dịchKhông cần phải so sánh mỗi tập mục với mỗi giao dịchKhông cần phải so sánh mỗi tập mục với mỗi giao dịch

11Khai Phá Dữ Liệu

Page 12: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Giảm bớt số lượng các tập mục cần xétNguyên tắc của giải thuật Apriori – Loại bỏ (prunning) dựa trên độ hỗ trợdựa trên độ hỗ trợ

Nếu một tập mục là thường xuyên, thì tất cả các tập con (subsets) của nó đều là các tập mục thường xuyênNếu một tập mục là không thường xuyên (not frequent) thì tất cảNếu một tập mục là không thường xuyên (not frequent), thì tất cả các tập cha (supersets) của nó đều là các tập mục không thường xuyên

Nguyên tắc của giải thuật Apriori dựa trên đặc tính không đơn điệu (anti-monotone) của độ hỗ trợ

Độ hỗ trợ của một tập mục nhỏ hơn độ hỗ trợ của các tập con

)()()(:, YsXsYXYX ≥⇒⊆∀

của nó

12Khai Phá Dữ Liệu

Page 13: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Apriori: Loại bỏ dựa trên độ hỗ trợ

Tập mục khôngkhông thường xuyên

Các tập cha của tập m c đó (AB) bị loại bỏ

13Khai Phá Dữ Liệu

mục đó (AB) bị loại bỏ

Page 14: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Apriori: Loại bỏ dựa trên độ hỗ trợItem CountBread 4C k 2

Các tập mục mức 1 (1-itemsets)

Coke 2Milk 4Beer 3Diaper 4Eggs 1

Itemset Count{Bread,Milk} 3{Bread,Beer} 2

Các tập mục mức 2 (2-itemsets)

(Không cần xét các tậpEggs 1 {Bread,Diaper} 3{Milk,Beer} 2{Milk,Diaper} 3{Beer,Diaper} 3

(Không cần xét các tập mục có chứa mục Cokehoặc Eggs)

I te m s e t C o u n t

Các tập mục mức 3 (3-itemsets)

minsup = 3

•Nếu xét tất cả các tập mục có thể:6 6 6 I te m s e t C o u n t

{B re a d ,M ilk ,D ia p e r} 3

6C1 + 6C2 + 6C3 = 41•Với cơ chế loại bỏ dựa trên độ hỗ trợ:

6 + 6 + 1 = 13

14Khai Phá Dữ Liệu

Page 15: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Giải thuật AprioriSinh ra tất cả các tập mục thường xuyên mức 1 (frequent 1-itemsets): các tập mục thường xuyên chỉ chứa 1 mục1 itemsets): các tập mục thường xuyên chỉ chứa 1 mụcGán k = 1Lặp lại, cho đến khi không có thêm bất kỳ tập mục p g ỳ pthường xuyên nào mới

Từ các tập mục thường xuyên mức k (chứa k mục), sinh ra các tập mục mức (k+1) cần xéttập mục mức (k 1) cần xétLoại bỏ các tập mục mức (k+1) chứa các tập con là các tập mục không thường xuyên mức kTính độ hỗ trợ của mỗi tập mục mức (k+1) bằng cách duyệt quaTính độ hỗ trợ của mỗi tập mục mức (k+1), bằng cách duyệt qua tất cả các giao dịchLoại bỏ các tập mục không thường xuyên mức (k+1)Thu được các tập mục thường xuyên mức (k+1)Thu được các tập mục thường xuyên mức (k+1)

15Khai Phá Dữ Liệu

Page 16: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Giảm bớt số lượng các so sánhCác so sánh (matchings/comparisons) giữa các tập mục cần xét và các giao dịch

ầ ấ ể ỗ ỗCần phải duyệt qua tất cả các giao dịch, để tính độ hỗ trợ của mỗi tập mục cần xét

Để giảm bớt số lượng các so sánh, cần sử dụng cấu trúc băm (hash structure) để lưu các tập mục cần xét

Thay vì phải so sánh mỗi giao dịch với mỗi tập mục cần xét, thì chỉ cần so sánh giao dịch đó với các tập mục chứa trong các ô (hashed buckets)

TID Items 1 Bread, Milk,2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke

16Khai Phá Dữ Liệu

Page 17: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Sinh ra cây băm (hash tree)Giả sử chúng ta có 15 tập mục mức 3 cần xét:

{1 4 5}, {1 2 4}, {4 5 7}, {1 2 5}, {4 5 8}, {1 5 9}, {1 3 6}, {2 3 4}, {5 6 7}, {3 4 5} {3 5 6} {3 5 7} {6 8 9} {3 6 7} {3 6 8}4 5}, {3 5 6}, {3 5 7}, {6 8 9}, {3 6 7}, {3 6 8}

Sinh ra cây băm (Hash tree):Hàm băm (Hash function) – Ví dụ: h(p) = p mod 3Kích thước tối đa của nút lá (Max leaf size): Số lượng tối đã các tậpmục được lưu ở một nút lá (Nếu số lượng các tập mục vượt quá giá trịnày, nút đó sẽ tiếp tục bị phân chia) – Ví dụ: Max leaf size = 3

2 3 45 6 7

1 4 5 3 4 5 3 5 6 3 6 71 4 7 3,6,9(Hàm băm)

1 4 5 1 3 6

1 2 44 5 7 1 2 5 1 5 9

3 4 5 3 5 63 5 76 8 9

3 6 73 6 8

1,4,72,5,8

17Khai Phá Dữ Liệu

4 5 7 1 2 54 5 8

1 5 9

Page 18: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện luật kết hợp bằng cây băm (1)(Hàm băm) Cây băm lưu các tập mục cần xét

1,4,7

2 5 8

3,6,9

2 3 45 6 7

2,5,8

1 4 5 1 3 63 4 5 3 6 7

3 6 83 5 63 5 7

Băm (hash) đối với

1 5 9

3 6 83 5 76 8 91 2 4

4 5 71 2 54 5 8

đối với 1, 4,

hoặc 7

18Khai Phá Dữ Liệu

Page 19: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện luật kết hợp bằng cây băm (2)(Hàm băm) Cây băm lưu các tập mục cần xét

1,4,7

2 5 8

3,6,9

2 3 45 6 7

2,5,8

1 4 5 1 3 63 4 5 3 6 7

3 6 83 5 63 5 7

Băm (h h)

1 5 9

3 6 83 5 76 8 91 2 4

4 5 71 2 54 5 8

(hash) đối với 2, 5,

hoặc 8

19Khai Phá Dữ Liệu

hoặc 8

Page 20: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Phát hiện luật kết hợp bằng cây băm (3)(Hàm băm) Cây băm lưu các tập mục cần xét

1,4,7

2 5 8

3,6,9

2 3 45 6 7

2,5,8

1 4 5 1 3 63 4 5 3 6 7

3 6 83 5 63 5 7

Băm (hash)

1 5 9

3 6 83 5 76 8 91 2 4

4 5 71 2 54 5 8

(hash) đối với 3, 6,

hoặc 9

20Khai Phá Dữ Liệu

Page 21: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các tập mục mức k trong một giao dịch

Đối với giao dịch t, hãy xácdịch t, hãy xác định các tập mục mức 3?

Giả sử trong G ả sử o gmỗi tập mục, các mục được liệt kê theo thứ tựtheo thứ tự từ điển

21Khai Phá Dữ Liệu

Page 22: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xác định các tập mục bằng cây băm (1)

1 2 3 5 6 (Hàm băm)Giao dịch t

1 + 2 3 5 6 3 5 62 +

5 63 +

1,4,7

2,5,8

3,6,9

2 3 4

5 63 +

1 4 5 1 3 63 4 5 3 6 73 5 6

5 6 7

1 5 9

3 6 83 5 76 8 91 2 4

4 5 71 2 54 5 8

22Khai Phá Dữ Liệu

4 5 7 4 5 8

Page 23: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xác định các tập mục bằng cây băm (2)(Hàm băm)

1 2 3 5 6 Giao dịch t

1,4,7

2,5,8

3,6,9

3 5 61 2 +3 5 62 +

5 63 +

1 + 2 3 5 6

2 3 45 6 7

5 61 3 +

61 5 +

5 63 +

1 4 5 1 3 63 4 5 3 6 73 5 6

5 6 7

1 5 9

3 6 83 5 76 8 91 2 4

4 5 71 2 54 5 8 Chỉ cần so sánh giao dịch t với 11

23Khai Phá Dữ Liệu

4 5 8 g(trong tổng số 15) tập mục cần xét!

Page 24: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Apriori: Các yếu tố ảnh hưởng độ phức tạpLựa chọn giá trị ngưỡng minsup

Giá trị minsup quá thấp sẽ sinh ra nhiều tập mục thường xuyênểĐiều này có thể làm tăng số lượng các tập mục phải xét và độ

dài (kích thước) tối đa của các tập mục thường xuyên

Số lượng các mục trong cơ sở dữ liệu (các giao dịch)Cần thêm bộ nhớ để lưu giá trị độ hỗ trợ đối với mỗi mụcNếu số lượng các mục (tập mục mức 1) thường xuyên tăng lên, thì chi phí tính toán và chi phí I/O (duyệt các giao dịch) cũng tăng

Kích thước của cơ sở dữ liệu (các giao dịch)Giải thuật Apriori duyệt cơ sở dữ liệu nhiều lần. Do đó, chi phí tính toán của Apriori tăng lên khi số lượng các giao dịch tăng lên

Kích thước trung bình của các giao dịchKhi kích thước (số lượng các mục) trung bình của các giao dịch tăng lên, thì độ dài tối đa của các tập mục thường xuyên cũng tăng và chi phí duyệt cây băm cũng tăngtăng, và chi phí duyệt cây băm cũng tăng

24Khai Phá Dữ Liệu

Page 25: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Biểu diễn các tập mục thường xuyênTrong thực tế, số lượng các tập mục thường xuyên được sinh ra từ một csdl giao dịch có thể rất lớnsinh ra từ một csdl giao dịch có thể rất lớn

Cần một cách biểu diễn ngắn gọn (compact representation)representation)

Bằng một tập (nhỏ) các tập mục thường xuyên đại diện – mà có thể dùng để suy ra (sinh ra) tất cả các tập mục thường xuyên kháckhác

Có 2 cách biểu diễn như vậyCác tập mục thường xuyên lớn nhất (Maximal frequent itemsets)Các tập mục thường xuyên lớn nhất (Maximal frequent itemsets)Các tập mục thường xuyên đóng (Closed frequent itemsets)

25Khai Phá Dữ Liệu

Page 26: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các tập mục thường xuyên lớn nhấtMột tập mục thường xuyên là lớn nhất (Maximal frequent itemset), nếu mọi tập cha (superset) của nó đều là tập mục không thường xuyên

Các tập mục thường xuyên lớn nhất

Các tập mục không

26Khai Phá Dữ Liệu

Ranh giớikhông thường xuyên

Page 27: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các tập mục thường xuyên đóngMột tập mục thường xuyên là đóng (Closed frequent itemset), nếu không có tập cha nào của nó có cùng độ hỗ trợ với nóg ập g ộ ợ

Itemset Support{A} 4TID Items

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

{A} 4{B} 5{C} 3{D} 4

Itemset Support{A,B,C} 2{A,B,D} 3

3 {A,B,C,D}4 {A,B,D}5 {A,B,C,D}

{ }{A,B} 4{A,C} 2{A,D} 3

{A,C,D} 2{B,C,D} 3

{A,B,C,D} 2

{B,C} 3{B,D} 4{C,D} 3

27Khai Phá Dữ Liệu

Page 28: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Tập mục thường xuyên: lớn nhất vs. đóng (1)

TID Items

null

A B C D E124 123 1234 245 345

TIDs

1 ABC

2 ABCD

3 BCE

A B C D E

12 124 24 4 123 2 3 24 34 454 ACDE

5 DE

AB AC AD AE BC BD BE CD CE DE3 24 34 45

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE12 2 24 4 4 2 3 4

ABCD ABCE ABDE ACDE BCDE2 4

Không được hỗ trợ bởi

28Khai Phá Dữ Liệu

ABCDE

gbất kỳ giao dịch nào

Page 29: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Tập mục thường xuyên: lớn nhất vs. đóng (2)Minsup = 2 null

124 123 1234 245 345

Đóng, nhưng không phải là lớn nhất

A B C D E

12 124 24 4 123 2 3 24 34 45

Đóng và lớn nhất

AB AC AD AE BC BD BE CD CE DE3 24 34 45

12 2 24 4 4 2ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

12 2 24 4 4 2 3 4

ABCD ABCE ABDE ACDE BCDE2 4 # Đóng = 9

# Lớn nhất = 4

29Khai Phá Dữ Liệu

ABCDE

Page 30: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Tập mục thường xuyên: lớn nhất vs. đóng (3)

Bất kỳ tập mục thường xuyên lớn nhất nào cũng là tập mục thường xuyên đóng

Cách biểu diễn sử dụng tập mục thường xuyên lớn g ynhất không giữ thông tin về độ hỗ trợ của các tập

ỗcon (của mỗi tập mục thường xuyên lớn nhất)

30Khai Phá Dữ Liệu

Page 31: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Giải thuật FP-GrowthMột phương pháp khác cho việc xác định các tập mục thường xuyênthường xuyên

Nhớ lại: Apriori sử dụng cơ chế sinh-kiểm tra (sinh ra các tập mục cần xét, và kiểm tra xem mỗi tập mục có phải là thường xuyên)xuyên)

FP-Growth biểu diễn dữ liệu của các giao dịch bằng một cấu trúc dữ liệu gọi là FP-treecấu trúc dữ liệu gọi là FP tree

FP-Growth sử dụng cấu trúc FP-tree để xác định trực tiếp các tập mục thường xuyêntiếp các tập mục thường xuyên

31Khai Phá Dữ Liệu

Page 32: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Biểu diễn bằng FP-treeVới mỗi giao dịch, FP-tree xây dựng một đường đi (path) trong câytrong cây

Hai giao dịch có chứa cùng một số các mục, thì đường đi của chúng sẽ có phần (đoạn) chungcủa chúng sẽ có phần (đoạn) chung

Càng nhiều các đường đi có các phần chung, thì việc biểu diễn bằng FP-tree sẽ càng gọn (compressed/compacted)

Nếu kích thước của FP-tree đủ nhỏ để có thể lưu trữ trong bộ nhớ làm việc, thì giải thuật FP-Growth có thể xác định các tập mục thường xuyên trực tiếp từ FP-treexác định các tập mục thường xuyên trực tiếp từ FP tree lưu trong bộ nhớ

Không cần phải lặp lại việc duyệt dữ liệu lưu trên ổ cứng

32Khai Phá Dữ Liệu

Page 33: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xây dựng FP-tree (1)Ban đầu, FP-tree chỉ chứa duy nhất nút gốc (được biểu diễn bởi ký hiệu null)ý ệ )

Cơ sở dữ liệu các giao dịch được duyệt lần thứ 1, để xác định (tính) độ hỗ trợ của mỗi mục( )

Các mục không thường xuyên (infrequent items) bị loại bỏ

Các m c th ờng ên (freq ent items) đ ợc sắp ếpCác mục thường xuyên (frequent items) được sắp xếp theo thứ tự giảm dần về độ hỗ trợ

Trong ví dụ (ở các slides tiếp theo), thứ tự giảm dần về độ hỗ trợ: A, B, C, D, E

Cơ sở dữ liệu các giao dịch được duyệt lần thứ 2, để xây d FP tdựng FP-tree

33Khai Phá Dữ Liệu

Page 34: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xây dựng FP-tree (2)

A 1

null

B 1

(Sau khi xét giao dịch thứ 1)

(Sau khi xét giao dịch thứ 2)

null

TID Items1 {A,B}

A:1

B:1

A:1

B:1

B:1

C:1{ , }2 {B,C,D}3 {A,C,D,E}4 {A,D,E}

B:1 B:1 C:1

D:1null5 {A,B,C}6 {A,B,C,D}7 {A}8 {A B C}

A:2 B:1

C 18 {A,B,C}9 {A,B,D}10 {B,C,E}

B:1 C:1

D 1

C:1

D:1

(Sau khi xét giao dịch thứ 3)

34Khai Phá Dữ Liệu

D:1E:1

Page 35: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xây dựng FP-tree (3)

null

TID Items1 {A,B}2 {B,C,D}

Cơ sở dữ liệu các giao dịch

(Sau khi xét giao dịch thứ 10)null

A:8 B:2

3 {A,C,D,E}4 {A,D,E}5 {A,B,C}6 {A,B,C,D}

dịch

B:5 C:2C:1 D:1

7 {A}8 {A,B,C}9 {A,B,D}10 {B,C,E}

D:1D:1C:3 E:1

{ , , }

D:1Item Pointer

A

Bảng con trỏE:1

D:1 Các con trỏ được sử dụng trong quá trình sinh các tập mục

D:1E:1

ABCD

35Khai Phá Dữ Liệu

q ập ụthường xuyên của FP-GrowthE

Page 36: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

FP-Growth: Sinh các tập mục thường xuyên

FP-Growth sinh các tập mục thường xuyên trực tiếp từ FP-tree từ mức lá đến mức gốc (bottom-up)từ FP tree, từ mức lá đến mức gốc (bottom up)

Trong ví dụ trên, FP-Growth trước hết tìm các tập mục thường xuyên kết thúc bởi E… sau đó mới tìm các tập mục thường xuyên kết thúc bởi D bởi C bởi B và bởi Akết thúc bởi D… bởi C… bởi B… và bởi A

Vì mỗi giao dịch được biểu diễn bằng một đường đi trong FP-tree, chúng ta có thể xác định các tập mụctrong FP tree, chúng ta có thể xác định các tập mục thường xuyên kết thúc bởi một mục (vd: E), bằng cách duyệt các đường đi chứa mục đó (E)

Nhữ đ ờ đi à đ á đị h dễ dà bằ á t ỏNhững đường đi này được xác định dễ dàng bằng các con trỏ gắn với nút đó (vd: E)

36Khai Phá Dữ Liệu

Page 37: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Các đường đi kết thúc bởi một mục(Các

đường (Các

đườnggđi kết thúc

bởi e)

gđi kếtthúc

bởi d)

(Các đường đi (Các đường đi (Các đường đi

37Khai Phá Dữ Liệu

( gkết thúc bởi c)

( gkết thúc bởi b)

( gkết thúc bởi a)

Page 38: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xác định các tập mục thường xuyênFP-Growth tìm tất cả các tập mục thường xuyên kết thúc bởi một mục – dựa theo chiến lược chia để trị (divide-bởi một mục dựa theo chiến lược chia để trị (divideand-conquer)

Ví dụ, cần tìm tất cả các tập mục thường xuyên kết thúc bởi eT ớ hết kiể t tậ ứ 1 ({ }) ó hải là tậTrước hết, kiểm tra tập mục mức 1 ({e}) có phải là tập mục thường xuyênNếu nó là tập mục thường xuyên, xét các bài toán con: tìm tất cả á tậ th ờ ê kết thú bởi d bởi bởi b àcác tập mục thường xuyên kết thúc bởi de… bởi ce…bởi be…và

bởi aeMỗi bài toán con nêu trên lại được phân tách thành các bài toán

hỏ hcon nhỏ hơn…Kết hợp các lời giải của các bài toán con, chúng ta sẽ thu được các tập mục thường xuyên kết thúc bởi e

38Khai Phá Dữ Liệu

Page 39: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Vd: Các tập mục thường xuyên kết thúc bởi e

Xác định tất cả các đường đi trong FP-tree kết thúc bởi etrong FP tree kết thúc bởi e

Các đường đi tiền tố (prefix paths) đối với e

Dựa vào các đường đi tiền tố đối với e, xác định độ hỗ trợ của e, bằng cách cộng các giá trị hỗ trợbằng cách cộng các giá trị hỗ trợ gắn với nút e

Giả sử minsup=2 thì tập mục {e}

Các đường đi tiền tố đối với e

Giả sử minsup=2, thì tập mục {e} là tập mục thường xuyên (vì nó có độ hỗ trợ =3 > minsup)

39Khai Phá Dữ Liệu

Page 40: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Vd: Các tập mục thường xuyên kết thúc bởi e

Vì {e} là tập mục thường xuyên, nên FP-Growth phải giải quyết các bài toán con: tìm các tập mục thường xuyênquyết các bài toán con: tìm các tập mục thường xuyên kết thúc bởi de…bởi ce…bởi be…và bởi ae

Trước tiên, cần chuyển các đường đi tiền tố của e thànhTrước tiên, cần chuyển các đường đi tiền tố của e thành biểu diễn FP-tree có điều kiện (conditional FP-tree)

Có cấu trúc tương tự như FP-treeĐ dù để tì á tậ th ờ ê kết thú bởi ộtĐược dùng để tìm các tập mục thường xuyên kết thúc bởi một mục

40Khai Phá Dữ Liệu

Page 41: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Xây dựng FP-tree có điều kiệnCập nhật các giá trị hỗ trợ đối với các đường đi tiền tố

Vì một số giá trị hỗ trợ đã tính đến cả các giao dịch không chứa mục eVí dụ: Đường đi null → b:2 → c:2 → e:1 đã ụ gtính đến cả giao dịch {b,c} không chứa mục e. Do đó, giá trị hỗ trợ phải gán bằng 1, để thể hiện số lượng các giao dịch chứa {b,c,e}

Loại bỏ nút e khỏi các đường đi tiền tốSau khi cập nhật các giá trị hỗ trợ đối với các đường đi tiền tố một số mục có thể trở

FP-tree có điều kiện đối với e

các đường đi tiền tố, một số mục có thể trở nên không thường xuyên → Bị loại bỏ

Vd: Nút b bây giờ có giá trị hỗ trợ =1 Nút b bị l i bỏ→ Nút b bị loại bỏ

41Khai Phá Dữ Liệu

Page 42: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Vd: Các tập mục thường xuyên kết thúc bởi e

FP-Growth sử dụng cấu trúc biểu diễn FP-tree có điều kiện đối với e, để giải quyết các bài toán con: tìm các tập mục thường xuyên kết thúc bởi de…bởi ce…bởi be…và bởi ae

Vd Để tì á tậ th ờ ê kếtVd: Để tìm các tập mục thường xuyên kết thúc bởi de, các đường đi tiền tố đối với dđược xây dựng từ biểu diễn FP-tree có điều kiệ đối ớikiện đối với e

Bằng cách cộng với giá trị hỗ trợ gắn với nút d chúng ta xác định được độ hỗ trợ cho tập

Các đường đi tiền tố đối với de

d, chúng ta xác định được độ hỗ trợ cho tập {d,e}

Độ hỗ trợ của {d,e}=2: nó là một tập mục th ờ êthường xuyên

42Khai Phá Dữ Liệu

Page 43: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Sinh ra các luật kết hợp (1)Với mỗi tập mục thường xuyên L, cần tìm tất cả các tập con khác rỗng f ⊂ L sao cho: f → {L \ f} thỏa mãn điềucon khác rỗng f ⊂ L sao cho: f → {L \ f} thỏa mãn điều kiện về độ tin cậy tối thiểu

Vd: Với tập mục thường xuyên {A,B,C,D}, các luật ầ ồcần xét gồm có:

ABC → D, ABD → C, ACD → B, BCD → A, A → BCD B → ACD C → ABD D → ABCA → BCD, B → ACD, C → ABD, D → ABCAB → CD, AC → BD, AD → BC, BC → AD, BD → AC, CD → AB,

Nếu |L| = k, thì sẽ phải xét (2k – 2) các luật kết hợp có thể (bỏ qua 2 luật: L → ∅ và ∅ → L)thể (bỏ qua 2 luật: L → ∅ và ∅ → L)

43Khai Phá Dữ Liệu

Page 44: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Sinh ra các luật kết hợp (2)Làm thế nào để sinh ra các luật từ các tập mục thường xuyên, một cách có hiệu quả?y , ộ ệ q

Xét tổng quát, độ tin cậy không có đặc tính không đơn điệu (anti-monotone)

c(ABC → D) có thể lớn hơn hoặc nhỏ hơn c(AB → D)

Nhưng, độ tin cậy của các luật được sinh ra từ cùng ộ ậ h ờ ê hì l i ó đặ í h khômột tập mục thường xuyên thì lại có đặc tính không

đơn điệuVí dụ: Với L = {A,B,C,D}:Ví dụ: Với L {A,B,C,D}:

c(ABC → D) ≥ c(AB → CD) ≥ c(A → BCD)

Độ tin cậy có đặc tính không đơn điệu đối với số lượng các mục ở vế phải của luậtở ế p ả của uật

44Khai Phá Dữ Liệu

Page 45: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Apriori: Sinh ra các luật (1)Lattice của các luật

Luật có độ ấtin cậy thấp

Các luật

45Khai Phá Dữ Liệu

bị loại bỏ

Page 46: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Apriori: Sinh ra các luật (2)Các luật cần xét được sinh ra bằng cách kết hợp 2 luậtcó cùng tiền tố (phần bắt đầu) của phần kết luậncó cùng tiền tố (phần bắt đầu) của phần kết luận(rule consequent)

Ví dụ: Kết hợp 2 luật(CD → AB, BD → AC)sẽ sinh ra luật cần xétsẽ sinh ra luật cần xétD → ABC

Loại bỏ luật D → ABC nếu bất kỳ mộtluật con của nó (AD → BC, BCD → A, …) không có độtin cậy cao (< minconf)tin cậy cao (< minconf)

46Khai Phá Dữ Liệu

Page 47: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf · Các định nghĩa cơbản (2) ... Beer} Các luật sinh ra từ

Tài liệu tham khảo

• P.-N. Tan, M. Steinbach, and V. Kumar. Introduction to Data Mining (chapter 6). Addison-Wesley, 2005.(chapter 6). Addison Wesley, 2005.

47Khai Phá Dữ Liệu