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

Khai Phá Dữ Liệu-Phát hiện các luật kết hợp ppt

47 311 0
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

Định dạng
Số trang 47
Dung lượng 547,29 KB

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

Nội dung

Phát hiện các luật kết hợp – Giới thiệu„ Bà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

Trang 2

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án

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

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

Trang 3

Phát hiện các luật kết hợp – Giới thiệu

„ Bà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, Beer

5 Bread, Milk, Diaper, Coke

Trang 4

‰ Số lần xuất hiện của một tập mục

‰ Ví dụ: σ({Milk, Bread, Diaper}) = 2

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke

4 Bread, Milk, Diaper, Beer

5 Bread Milk Diaper Coke

„ Độ hỗ trợ (Support) s

‰ Tỷ lệ các giao dịch chứa một tập mục

‰ Ví dụ: s({Milk, Bread, Diaper}) = 2/5

5 Bread, Milk, Diaper, Coke

Trang 5

‰ Ví 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 { Milk Diaper } → Beer

5 Bread, Milk, Diaper, Coke

„ 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

0 5

2

| T

|

) Beer Diaper,

, Milk (

|

67

0 3

2 )

Diaper ,

Milk (

) Beer Diaper,

Trang 6

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

„ Vớ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 ật

‰ Tính toán độ hỗ trợ và độ tin cậy cho mỗi luật

‰ Loạ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ế!

Trang 7

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ậy

như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

Trang 8

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!

Trang 9

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

Với d

null

mục, thì phải xét

đến 2d

đến 2

các tập mục có thể!

thể!

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

Trang 10

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

TID Items

1 B d Milk

1 Bread, Milk

2 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, Beer

5 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ét

‰ Tính độ hỗ trợ của mỗi tập mục, bằng cách duyệt qua tất cả các

Trang 11

Các chiến lược sinh tập mục thường xuyên

„ Giả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=2 ( ) y d

‰ Sử 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)

‰ 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ịch

‰ Không cần phải so sánh mỗi tập mục với mỗi giao dịch

‰ Không cần phải so sánh mỗi tập mục với mỗi giao dịch

Trang 12

Giảm bớt số lượng các tập mục cần xét

„ Nguyê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ên

Nế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

) ( )

( )

( : , Y X Y s X s Y

của nó

Trang 13

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

Trang 14

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

hoặc Eggs)

Ite m s e t C o u n t

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

Trang 15

Giải thuật Apriori

„ Sinh 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ục

1 itemsets): các tập mục thường xuyên chỉ chứa 1 mục

„ Gán k = 1

„ Lặp lại, cho đến khi không có thêm bất kỳ tập mục p g ỳ p

thườ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 mức (k+1) cần xét

tập mục mức mức (k 1) cần xét

‰ Loạ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 k

‰ Tính độ hỗ trợ của mỗi tập mục mức (k+1) bằng cách duyệt qua

‰ Tí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ịch

‰ Loạ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)

Trang 16

Giảm bớt số lượng các so sánh

„ Các so sánh (matchings/comparisons) giữa các tập mục cần xét và các giao dịch

‰ 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 nó với các tập mục chứa trong các ô (hashed buckets)

TID Items

Trang 17

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}

„ Sinh ra cây băm (Hash tree):

‰ Hàm băm (Hash function) – Ví dụ: h(p) = p mod 3

‰ Kích thước tối đa của nút lá (Max leaf size): Số lượng tối đã các tập

mụ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

Trang 18

Phát hiện luật kết hợp bằng cây băm (1)

Trang 19

Phát hiện luật kết hợp bằng cây băm (2)

Trang 20

Phát hiện luật kết hợp bằng cây băm (3)

Trang 23

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

Trang 24

Apriori: Các yếu tố ảnh hưởng độ phức tạp

„ Lự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ục

‰ Nế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ịch

‰ Khi 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ăng

tăng, và chi phí duyệt cây băm cũng tăng

Trang 25

Biểu diễn các tập mục thường xuyên

„ Trong 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ớn

„ Có 2 cách biểu diễn như vậy

‰ 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 lớn nhất (Maximal frequent itemsets)

‰ Các tập mục thường xuyên đóng (Closed frequent itemsets)

Trang 29

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

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

Đóng và lớn nhất

Trang 31

Giải thuật FP-Growth

„ Một phương pháp khác cho việc xác định các tập mục thường xuyên

thườ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)

„ 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-tree

cấ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ên

tiếp các tập mục thường xuyên

Trang 32

Biểu diễn bằng FP-tree

„ Với mỗi giao dịch, FP-tree xây dựng một đường đi (path) trong 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) chung

củ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-tree

xá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

Trang 33

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

„ Cá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ựng FP-tree

Trang 34

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

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

D:1E:1

Trang 35

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

Trang 36

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)

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 A

kế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

Trang 37

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

(Các

đường

(Các đường

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

Trang 38

‰ Nế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ả

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

‰ Mỗ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

Trang 39

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 e

trong FP tree kết thúc bởi e

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

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

Trang 40

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ên

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

„ Trước tiên, cần chuyển các đường đi tiền tố của e thành

„ Trướ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

‰ Đượ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

Trang 41

Xây dựng FP-tree có điều kiện

„ Cậ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 e

‰ Ví dụ: Đường đi null → b:2 → c:2 → e:1 ụ g

đã tí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

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

„ 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ở 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

‰ Vd: Nút b bây giờ có giá trị hỗ trợ =1

Trang 42

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

„ 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ì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 ới

kiệ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

Trang 44

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

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

Trang 45

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

bị loại bỏ

Trang 46

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ật

có cùng tiền tố (phần bắt đầu) của phần kết luận

có cùng tiền tố (phần bắt đầu) của phần kết luận

„ Loại bỏ luật D=>ABC nếu bất kỳ một

luật con của nó (AD=>BC, BCD=>A, …) không có độ tin cậy cao (< minconf)

D=>ABC

cậy cao (< minconf)

Trang 47

Tài liệu tham khảo

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

Ngày đăng: 28/06/2014, 22:20

HÌNH ẢNH LIÊN QUAN

Bảng con trỏ - Khai Phá Dữ Liệu-Phát hiện các luật kết hợp ppt
Bảng con trỏ (Trang 35)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w