Bài giảng Cơ sở dữ liệu: Phát hiện các luật kết hợp trong cơ sở dữ liệu - Nguyễn Hồng Phương
lượt xem 2
download
Bài giảng "Cơ sở dữ liệu: Phát hiện các luật kết hợp trong cơ sở dữ liệu" trình bày các nội dung: Tổng quan, phát hiện luật kết hợp trong cơ sở dữ liệu giao dịch, phát hiện luật kết hợp trong cơ sở dữ liệu quan hệ, một số vấn đề khác. Mời các bạn tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu: Phát hiện các luật kết hợp trong cơ sở dữ liệu - Nguyễn Hồng Phương
- Nội dung trình bày Phát hiện các luật kết hợp 1. Tổng quan trong cơ sở dữ liệu 2. Phát hiện luật kết hợp trong cơ sở dữ liệu giao dịch Nguyễn Hồng Phương Bộ ộ môn Hệ ệ thống g thông g tin 3. Phát hiện luật kết hợp trong cơ sở Viện CNTT&TT – trường ĐHBK Hà Nội dữ liệu liệ quan hệ phuongnh@soict.hut.edu.vn 4. Một số vấn đề khác http://is.hut.edu.vn/~phuongnh 1 Phát hiện luật kết hợp trong cơ sở dữ liệu 2 1. Tổng quan Khai phá dữ liệu và phát hiện tri thức Khai phá dữ liệu và phát hiện tri thức Khai Luật kết hợp: Bài toán “Cái giỏ hàng” Chọn Tiền xử lý Biến đổi phá dữ Thông dịch liệu / Đánh giá Một số ứng dụng khác Các khái niệm cơ bản Dữ liệu Dữ liệu Dữ liệu Dữ liệu Mẫu Tri thức mục tiêu tiền xử lý biến đổi Phát hiện luật kết hợp trong cơ sở dữ liệu 3 Phát hiện luật kết hợp trong cơ sở dữ liệu 4 Luật kết hợp: Bài toán “Cái giỏ hàng” Phân tích bài toán “Cái giỏ hàng” Phân tích thói quen mua hàng của Cho cơ sở dữ liệu gồm các giao dịch khách hàng: tìm sự kết hợp và tương của khách hàng, mỗi giao dịch là một quan giữa các mặt hàng khác nhau tập các mặt hàng mà khách hàng đặt vào trong “giỏ Tìm các nhóm mặt hàng thường được hàng” của họ hàng mua cùng nhau Sữa, trứng, đường, Sữa, trứng, ngũ cốc, bánh mỳ Trứng, đường bánh mỳ Khách hàng 1 Khách hàng 2 Khách hàng 3 Phát hiện luật kết hợp trong cơ sở dữ liệu 5 Phát hiện luật kết hợp trong cơ sở dữ liệu 6 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Một số ứng dụng khác Các khái niệm cơ bản Viễn thông Giao dịch: Mỗi khách hàng là một giao dịch gồm Dạng quan hệ Dạng thu gọn một tập các cuộc gọi của khách hàng đó Hiện tượng khí quyển Mỗi khoảng thời gian quan sát là một giao dịch chứa một tập các sự kiện quan Mục (Item): phần tử đơn, sát được (mưa, gió, mây,…) Tập mục (Itemset): Tập các mục Độ hỗ trợ của 1 tập mục X - sup(X): Số giao dịch chứa X Độ hỗ trợ tối thiểu minsup : ngưỡng của độ hỗ trợ Tập mục thường xuyên : độ hỗ trợ minsup. Phát hiện luật kết hợp trong cơ sở dữ liệu 7 Phát hiện luật kết hợp trong cơ sở dữ liệu 8 Tập mục thường xuyên Luật kết hợp ID giao dịch Các mặt hàng đã mua A, B là tập các mục trong tập mục I 1 Sữa, trứng, đường, bánh mỳ Luật r = A B 2 Sữa, trứng, ngũ cốc, bánh mỳ 3 Trứng, đường Độ hỗ trợ của r: sup(r)=sup(AB) Độ tin cậy của r: Sup({Sữa, trứng, bánh mỳ})= 2 (66.6%) conf(r) = sup(AB)/sup(A) Sup({Trứng, đường})= 2 (66.6%) Sup({Ngũ cốc, bánh mỳ})= 1 (33.3%) r được gọi là luật kết hợp nếu Nếu minsup = 50% thì {Sữa, trứng, bánh mỳ} và sup(r)minsup và conf(r)minconf {Trứng, đường} là các tập mục thường xuyên còn {Ngũ cốc, bánh mỳ} thì không phải. Độ hỗ trợ Độ tin cậy tối thiểu tối thiểu Phát hiện luật kết hợp trong cơ sở dữ liệu 9 Phát hiện luật kết hợp trong cơ sở dữ liệu 10 Hai tính chất cơ bản 2. Phát hiện luật kết hợp trong CSDL giao dịch Tính chất 1: Phát hiện 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 thì các Kiểu Apriori siêu tập của nó cũng không thường xuyên Sử dụng FP-tree Tính chất 2: Nếu một tập mục là thường xuyên thì các tập Phát hiện các luật kết hợp con của ủ nó ó cũng ũ thườ thường xuyên ê Khai pháá luật ậ kết ế hợp đa mứcứ {1,2,3,4,5} B {1,2,3,5} {1,2,4,5} {1,3,4,5} {2,3,4,5} {1,2,5} {1,3,5} {1,4,5} {2,3,5} {2,4,5} {3,4,5} {1,5} {2,5} {3,5} {4,5} {5} A Phát hiện luật kết hợp trong cơ sở dữ liệu 11 Phát hiện luật kết hợp trong cơ sở dữ liệu 12 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phát hiện các tập mục thường xuyên Giải thuật Apriori Giải thuật Apriori Đầu vào: Cơ sở dữ liệu các giao dịch D và smin Đầu ra: Tập Answer chứa tất cả các tập mục thường xuyên của D Sử dụng FP-tree Giải thuật: 1) L1 = {large 1-itemsets}; 2) for(k=2; Lk-1; k++) do begin 3) Ck = AprioriGen(Lk-1); // New candidate 4) f forall ll transactions t ti ttD D do d b begin i 5) Ct = Subset(Ck, t); // Candidates contained in t 6) forall candidates cCt do 7) c.count++ 8) end 9) Lk = {cCk c.count ≥ smin} 10) end 11) Answer = k Lk; Phát hiện luật kết hợp trong cơ sở dữ liệu 13 Phát hiện luật kết hợp trong cơ sở dữ liệu 14 Hàm AprioriGen Vấn đề của giải thuật kiểu Apriori Đầu vào: Một tập Lk-1 chứa tất cả các (k-1)-tập mục thường xuyên Đầu ra: Tập Ck ứng cử là một siêu tập chứa tất cả các k-tập mục thường xuyên Chi phí cho việc kiểm soát một số Giải thuật: 1) Function AprioriGen(Lk-1: tập (k-1)-tập mục thường xuyên):tập k-tập mục lượng lớn các tập mục ứng cử thường xuyên 104 1-tập mục thường xuyên sẽ sinh 107 2) // Pha kết nối tập ứng cử kích thước 2 3) insert into Ck 4) select p.item p item1, p.item p item2,...,p.item p itemk-1k , q.item q itemk-1 k Lặp nhiều lần việc duyệt CSDL để kiểm 5) from Lk-1 p, Lk-1 q tra các tập ứng cử 6) where p.item1 = q.item1,..., p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1 7) // Pha cắt tỉa Tránh việc sinh quá nhiều tập ứng cử 8) forall itemsets cCk do 9) forall (k-1)-subsets s of c do 10) if(sLk-1) then delete c from Ck; Sử dụng cấu trúc cây mẫu thường xuyên 11) return Ck; 12) end; Phát hiện luật kết hợp trong cơ sở dữ liệu 15 Phát hiện luật kết hợp trong cơ sở dữ liệu 16 Xây dựng cây mẫu thường xuyên Xây dựng cây mẫu thường xuyên FP-tree (Frequent Pattern tree) Duyệt DB lần 2, sắp xếp lại các giao dịch theo danh sách L Các bước xây dựng: Duyệt DB lần 1 để sinh ra danh sách L TID Items Các mục đã sắp xếp 100 f, a, c, d, g, i, m, p f, c, a, m, p TID I Items Item frequency 200 a, b, b c, f, f l, l m, o f c, a, b, f, b m 100 f, a, c, d, g, i, m, p f 4 300 b, f, h, j, o f, b 200 c 4 a, b, c, f, l, m, o a 3 400 b, c, k, s, p c, b, p 300 b, f, h, j, o b 3 m 3 500 a, f, c, e, l, p, m, n f, c, a, m, p 400 b, c, k, s, p p 3 500 a, f, c, e, l, p, m, n Phát hiện luật kết hợp trong cơ sở dữ liệu 17 Phát hiện luật kết hợp trong cơ sở dữ liệu 18 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Xây dựng cây mẫu thường xuyên Xây dựng cây mẫu thường xuyên Tiến hành xây dựng cây {} {} {} {} {} f:3 f:3 c:1 f:4 c:1 {f, b} {c, b, p} {f, c, a, m, p} f:1 f:2 {f c, {f, c a, a b, b m} c:2 b:1 c:2 b:1 b:1 c:3 b:1 b:1 {f, c, a, m, p} {} c:1 c:2 a:2 a:2 p:1 a:3 p:1 a:1 a:2 m:1 b:1 m:1 b:1 m:2 b:1 m:1 m:1 b:1 p:1 m:1 p:1 m:1 p:2 m:1 p:1 p:1 m:1 Phát hiện luật kết hợp trong cơ sở dữ liệu 19 Phát hiện luật kết hợp trong cơ sở dữ liệu 20 Xây dựng cây mẫu thường xuyên Phát hiện các luật kết hợp Cây kết quả Giải thuật đơn giản để sinh các luật {} Header Table Đầu vào: Tập tất cả các tập mục thường xuyên có nhiều hơn một mục f:4 c:1 Item head F k 2 Fk F \ F1 f c c:3 b:1 b:1 Đầu ra: Tất cả các luật kết hợp a Phương pháp: b a:3 p:1 m 1) forall f k F do p m:2 b:1 2) GenRules(fk, fk); p:2 m:1 Khai phá mẫu thường xuyên? Phát hiện luật kết hợp trong cơ sở dữ liệu 21 Phát hiện luật kết hợp trong cơ sở dữ liệu 22 Phát hiện các luật kết hợp Vấn đề khai phá luật kết hợp đa mức Thủ tục GenRules Phân cấp khái niệm trên các mục của CSDL Đầu vào: Hai tập mục thường xuyên fk và lm, và một ngưỡng độ tin cậy cmin Đầu ra: Các luật kết hợp với nhiều nhất m-1 mục ở phần đầu luật (m>2) Phương pháp: 1) procedure GenRules(fk: k-tập mục thường xuyên, lm: m-tập mục Đồ uống thường xuyên) 2)) L{ {các (m-1)-tập ( ) ập mục ụ lm 1| m-1|lm 1 lm} m-1 3) forall lm-1L do begin 4) c s(fk)/s(lm-1); // Độ chắc chắn của luật Cà phê Chè Nước hoa quả Bia 5) if c ≥ cmin then begin 6) output luật lm-1(fk\lm-1); 7) if m-1 ≥ 1 then 8) GenRules(fk, lm-1); 9) end; Cà phê đen Cà phê sữa Nước cam Nước táo Nước nho 10) end; 11) end; Phát hiện luật kết hợp trong cơ sở dữ liệu 23 Phát hiện luật kết hợp trong cơ sở dữ liệu 24 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thuật toán cơ bản khai phá luật kết hợp đa mức 3. Phát hiện luật kết hợp trong CSDL quan hệ L1:={các 1-tập mục thường xuyên}; CSDL quan hệ: các quan hệ thường k:=2; while (Lk-1 ) do chứa các thuộc tính định lượng, phạm begin Ck:=các ứng cử viên mới kích thước k được sinh ra từ Lk-1 trù. forall giao dịch tD do Xử lý những thuộc tính định lượng: begin Thê tất cả Thêm ả các á tổ tiê tiên của ủ từng từ mục trong t t vào à t, t loại l i Phân vùng rõ bỏ sự trùng lặp Tăng bộ đếm của tất cả các ứng viên trong Ck mà có Khai phá luật kết hợp định lượng mặt trong t end Phân vùng mờ Lk:=Tất cả ứng viên trong Ck đạt độ hỗ trợ tối thiểu k:=k+1; end Khai phá luật kết hợp mờ Câu trả lời := k Lk Phát hiện luật kết hợp trong cơ sở dữ liệu 25 Phát hiện luật kết hợp trong cơ sở dữ liệu 26 Khai phá luật kết hợp định lượng Khai phá luật kết hợp định lượng Phân vùng Equi-Depth: Các vùng có Phân vùng dựa trên khoảng cách: có xem kích thước như nhau xét tính chất định lượng và ngữ nghĩa của dữ liệu. Khoảng cách giữa các điểm dữ liệu Phân vùng dựa trên các giá trị có thể có càng nhỏ thì chúng càng nên thuộc về 1 của thuộc tính. Ví dụ: nếu kiểu thuộc nhóm tính có g giá trịị từ 1 đến 15 và depth p d=3 thì sinh ra các khoảng [1,3], [4,6], [7,9], Lương equi-depth distance-based 18 [18, 18] [10,12], [13,15] 30 [18, 30] [30, 31] Phân vùng dựa trên các giá trị có thực 31 [31, 80] trong CSDL: d giá trị đầu được đặt vào 80 [80, 82] khoảng thứ nhất, d giá trị tiếp theo được 81 82 [81, 82] đặt vào khoảng thứ hai,… Phát hiện luật kết hợp trong cơ sở dữ liệu 27 Phát hiện luật kết hợp trong cơ sở dữ liệu 28 Khai phá luật kết hợp định lượng Khai phá luật kết hợp định lượng Các bước: recorId recordId age married numCars Interval 100 1 0 0 1 0 1 0 age Integer 100 23 no 1 200 1 0 1 0 0 1 0 [20, 24] [20, 24] 1 200 25 yes 1 300 1 0 0 1 1 0 0 [25, 29] 2 300 29 no 0 [25, 29] 400 0 1 1 0 0 0 1 [30, 34] 3 [30, 34] 500 0 1 1 0 0 0 1 400 34 yes 2 [35 39] [35, 4 [35, 39] 500 38 yes 2 Itemset Support {} 3 Rule Support Confidence recordId age married numCars {} 2 {, 0.40 1.00 married Integer 100 1 2 1 } {} 3 200 2 1 1 {} yes 1 {} 2 no 2 300 2 2 0 {} 0.60 0.67 400 3 1 2 {} 3 {} 500 4 1 2 {,} 2 Phát hiện luật kết hợp trong cơ sở dữ liệu 29 Phát hiện luật kết hợp trong cơ sở dữ liệu 30 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Khai phá luật kết hợp định lượng Khai phá luật kết hợp mờ Cách tiếp cận khối dày đặc Khái niệm luật kết hợp mờ Nếu X = {x1, x2, ..., xp} là A = {a1, a2, ..., ap} thì Y = {y1, y2, ..., yq} là B = {b1, b2, ..., bq} X, Y là tập các thuộc tính x1, x2,...,y1,y2,... là các thuộc tính A, A B là tập các tập mờ a1,a2,...,b1,b2,...là các tập mờ Công thức tính độ hỗ trợ mờ ti D x j X d x j ( a j , t i .x j ) FS X , A D Phát hiện luật kết hợp trong cơ sở dữ liệu 31 Phát hiện luật kết hợp trong cơ sở dữ liệu 32 Khai phá luật kết hợp mờ Khai phá luật kết hợp mờ Công thức tính độ tin cậy mờ Các bước FS Z ,C t D z Z d z j (c j , ti .z j ) Age Hour FC X , A ,Y , B i j FS X , A t D x X d x j (a j , ti .x j ) i j t1 60 20:15 t2 80 23:45 Ví dụ: Có X = {Balance {Balance, Income}, Income} A = t3 22 15:30 {medium, high}, Y = {Credit}, B = {high} t4 55 01:00 Balance, medium Credit, high Income, high t5 3 19:30 0.5 0.6 0.4 0.8 0.9 0.4 FS=0.364 t6 18 06:51 0.7 0.8 0.7 FC=0.766 0.9 0.8 0.3 0.9 0.7 0.6 Phát hiện luật kết hợp trong cơ sở dữ liệu 33 Phát hiện luật kết hợp trong cơ sở dữ liệu 34 Khai phá luật kết hợp mờ Khai phá luật kết hợp mờ Phân vùng mờ miền thuộc tính? Attila Gyenesei giới thiệu kỹ thuật phân vùng mờ dựa trên chỉ số độ tốt (Goodness Index) t1 0 0 0 0 0 1 0 0 0 0 0.75 0.25 t2 0 0 0 0 0 0 67 0.67 0 33 0.33 0 0 0 0 1 Tìm tâm,, các cận ậ các nhóm t3 0 0 0.6 0.4 0 0 0 0 0 0.5 0.5 0 t4 0 0 0 0 0.5 0.5 0 1 0 0 0 0 t5 0.5 0.5 0 0 0 0 0 0 0 0 1 0 t6 0 0 1 0 0 0 0 0.85 0.15 0 0 0 Tính hàm độ thuộc Phát hiện luật kết hợp trong cơ sở dữ liệu 35 Phát hiện luật kết hợp trong cơ sở dữ liệu 36 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 4. Một số vấn đề khác Phát hiện luật có yếu tố thời gian Phát hiện luật trên nhiều quan hệ Phân loại luật kết hợp Phát hiện luật kết hợp trong cơ sở dữ liệu 37 Phát hiện luật kết hợp trong cơ sở dữ liệu 38 Lời hay ý đẹp Thành công, đó là cách khuyến khích ta cố gắng làm những việc lớn lao hơn nữa. Thất bại, đó là cách cổ vũ ta làm lại việc đã làm với nhiều hi vọng hơn. Gabriel Palau Phát hiện luật kết hợp trong cơ sở dữ liệu 39 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 638 | 80
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 182 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 608 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 40 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 82 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 49 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 171 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 63 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 104 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 2 - Trần Thị Dung
39 p | 7 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn