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

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

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

Thông tin tài liệu

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

11KHAI THÁC DỮ LIỆU & ỨNG DỤNG(DATA MINING)GV : NGUYỄN HOÀNG TÚ ANH2BÀI 3- PHẦN 1KHAI THÁC TẬP PHỔ BIẾN & LUẬT KẾT HỢP3NỘI DUNG1. Gii thiu2. Các khái niệm cơ bản3. Bài toán khai thác tập phổ biến4GIỚ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 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 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, … 25GIỚ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 – ….6NỘI DUNG1. Giới thiệu2. Các khái nim cơ bn3. Bài toán khai thác tập phổ biến7KHÁI NIỆM CƠ BẢN1. 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 8KHÁI NIỆM CƠ BẢNTID 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 = milkB= breadC= cerealD= sugarE= eggsBiến đổi CSDL vềdạng nhị phân 391. 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ínho Tập các hạng mục (itemset) I = {i1, i2, …, im} : 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 ⊆Io VD : t = { bánh mì, sữa chua, ngũ cốc}o CSDL giao dịch : tập các giao dịcho CSDL D = {t1,t2, …, tn} , ti={ii1,ii2, …, iik} với iij∈ I : CSDL giao dịchKHÁI NIỆM CƠ BẢN102. ĐỘ PHỔ BIẾN 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 X ⊆ tVD : 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ẢN113. 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 ?Nu tp con không ph bin thì tp bao nó (tp cha) có ph bin hay không ?KHÁI NIỆM CƠ BẢN12I = { Beer, Bread, Jelly, Milk, PeanutButter}X= {Bread,PeanutButter} ; Count(X) = 3 |D| = 5→→→→ supp(X) = 60%→→→→ X- tập phổ biếnX2= {Bread} →→→→ supp(X2) = ? X3 = {PeanutButter} →→→→ supp(X3) = ?; X2và X3có phổ biến ?X3= {Milk}, X4={Milk, Bread} →→→→ X3 X4có phổ biến ?VÍ DỤ 1Minsupp = 60% 413minsupp=30%TẬP PHỔ BIẾN của VD 114KHÁI NIỆM CƠ BẢN4. TẬP PHỔ BIẾN TỐI ĐẠI (Max-Pattern)Tp ph bin & không tn ti tp nào bao nólà ph bin (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 đạiA,C,D,F30B,C,D,E,20A,B,C,D,E10ItemsTidMinsupp=215KHÁI NIỆM CƠ BẢN5. TẬP BAO PHỔ BIẾN (Closed Pattern)Tp ph bin & không tn ti tp nào bao nó có cùng đph bin nh nó. (Pasquier, ICDT’99)Tp bao ph bin là trng hp nén các tp ph bin (có mt 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 đạiMinsupp=2c, e, f50a, b, d, 40a, b, d30a, b, c20a, b, c 10ItemsTID166. LUẬT KẾT HỢP( Association rule)LKH có dng : X ⇒⇒⇒⇒ Y, với X, Y ⊂⊂⊂⊂ I, 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(X∪∪∪∪Y)Độ tin cậy (confidence) : conf (X ⇒⇒⇒⇒ Y ) = P(Y | X)conf (X ⇒⇒⇒⇒ Y ) = supp(X∪∪∪∪Y) / supp(X)KHÁI NIỆM CƠ BẢN 517VÍ DỤ LUẬT KẾT HỢP (VD1)Ký hiệu : s – supp, α - conf187. MÔ TẢ BÀI TOÁN KHAI THÁC LKHCho độ phổ biến tối thiểu (minsupp) độ 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} CSDL giao dịch D={t1,t2, …, tn}, với ti={ii1,ii2, …, iik} iij∈ I. Bài toán khai thác LKH là bài toán tìm tt ccác luật dạng X ⇒⇒⇒⇒ Y (X, Y ⊂ I X ∩Y = {})thỏa mãn độ phổ biến độ tin cậy tối thiểu supp (X ⇒⇒⇒⇒ Y ) ≥≥≥≥ minsuppconf (X ⇒⇒⇒⇒ Y ) ≥≥≥≥ minconfKHÁI NIỆM CƠ BẢN19 Thời gian : 7’ Trình bày ý tưởng gii quyt vn đ trc lp 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 tt c các lut kt hp tha mãn minsupp minconf– Nhận xét ?Minsupp = 50%Minconf = 60%A, E40D, B, F30A, B, C20B, C10Items boughtTrs-idBài tập theo nhóm20KHÁI NIỆM CƠ BẢN8. QUI TRÌNH KHAI THÁC LKHB1 : 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 chuyn thành bài toán khai thác tp ph bin : độ phức tạp tính toán cao. 621Luậ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, F40A, D30A, C20A, B, C10Items boughtTransaction-id50%{A, C}50%{C}50%{B}75%{A}SupportFrequent ItemsetsVÍ DỤ22NỘI DUNG1. Giới thiệu2. Các khái niệm cơ bản3. Bài toán khai thác tp phbin Thut toán Apriori23GIỚI THIỆUBà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 KTDLBài toán khai thác tp ph bin là bài toán tìm tt c các tp các hng mc S (hay tp ph bin S) có đ ph bin tha mãn đ ph bin ti thiu minsupp supp(S) ≥≥≥≥minsuppCách giải quyết : dựa trên tính chất của tập phổ biếnTì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)24TÌM KIẾM THEO CHIỀU RỘNG1. BẢN CHẤTNguyê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ếnPhơ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 k-hạng mục (k -candidate itemset) từ các tập phổ biến có kích thước (k-1)-hạng mụcKiểm tra độ phổ biến của các ứng viên trên CSDL loại các ứng viên không phổ biếnDừng khi không tạo được tập phổ biến hay tập ứng viên 725VÍ DỤ TT APRIORI minsupp= 50%CSDL D1stscanC1L1L2C2C22ndscanC3L33rdscanB, E40A, B, C, E30B, C, E20A, C, D10ItemsTid1{D}3{E}3{C}3{B}2{A}supItemset3{E}3{C}3{B}2{A}supItemset{C, E}{B, E}{B, C}{A, E}{A, C}{A, B}Itemset1{A, B}2{A, C}1{A, E}2{B, C}3{B, E}2{C, E}supItemset2{A, C}2{B, C}3{B, E}2{C, E}supItemset{B, C, E}Itemset2{B, C, E}supItemset26THUẬT TOÁN APRIORI2. Pseudo-CodeInput : CSDL D, minsuppOutput : L : các tập phổ biến trong DCk : Tập ứng viên kích thước kLk: Tập phổ biến kích thước kL1= Tìm_tập_phổ_biến_1_hạng mục(D);for (k = 1; Lk≠∅; k++) {Ck+1= apriori_gen(Lk); // Tạo tập ứng viên (k+1) hạng mụcfor mỗi giao tác t ∈ D { // Duyệt CSDL để tính supportCt= subset(Ck+1, t); // Lấy ra tập con của t là ứng viênfor mỗi ứng viên c ∈ Ctc.count ++}Lk+1= { c ∈ Ck+1| c.count ≥ minsupp }}return L = ∪kLk;27THUẬT TOÁN APRIORI3. Tạo tập ứng viên (k+1)- hạng mụcHàm apriori_gen nhận Lkvà trả về tập ứng viên kích thước (k+1). Gm 2 bc : kt loi bGi s các hng mc trong Lksp xp theo th tProcedure apriori_gen (Lk : Tập phổ biến kích thước k)for mỗi itemset l1∈ Lkfor mỗi itemset l2∈ Lkif (l1 [1] = l2 [1]) ∧ (l1 [2] = l2 [2]) ∧ …∧ (l1 [k-1] = l2[k-1]) ∧(l1 [k] < l2[k]) then{ c = l1  l2; // Bước 1 :kết Lk với chính nóif has_infrequent_subset (c, Lk ) thenXóa c ; // B2 : Loại bỏ các ứng viên không có lợielse Thêm c vào Ck+1;}return Ck+1 ;28THUẬT TOÁN APRIORITạo tập ứng viên (k+1)- hạng mục (tt)Bc 2 : loi b đ gim Ck+1Procedure has_infrequent_subset (c: Tập ứ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 ∈ cif s ∉Lk thenreturn True ;return False ; 829VÍ 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}} Sau bước kết :– 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} ∉ L3nên {1, 3, 4, 5} bị loại30CÁC THÁCH THỨC CỦA TT APRIORIThách thức :Phải duyệt CSDL nhiều lần Số lượng tập ứng viên rất lớnThực hiện việc tính độ phổ biến nhiều, đơn điệuCải tiến Apriori : ý tưởng chungGiảm số lần duyệt CSDL Giảm số lượng tập ứng viênQui trình tính độ phổ biến thuận tiện hơn31CÁC KỸ THUẬT CẢI TIẾN THUẬT TOÁN APRIORIT tìm hiu trong tài liu tham khoChia để trị : A. Savasere, E. Omiecinski, and S. Navathe. An efficient algorithm for mining association in large databases. VLDB’95Chia CSDL thành các phân hoạch D1,D2,…,DpTìm tập phố biến cục bộ trong từng phân hoạch 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’95Bă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ạiLấy mẫu : H. Toivonen. Sampling large databases for association rules. VLDB’96CSDL lớnChọn mẫu từ CSDL 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ếnGiảm số lượng giao dịch : R. Agrawal and R. Srikant. Fast algorithms for mining association rules. VLDB'94Loại bỏ các giao dịch không chứa bất kỳ tập phổ biến nào 32THUẬT TOÁN APRIORI -TIDBẢN CHẤTTươ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ịchTT 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 Ck. 933BÀI TẬP THEO NHÓM Thời gian : 30’ Trình bày kt qu câu 2 câu 3 vào giy np theo nhóm cho GV.Cho CSDL giao dịch bên1. Sử dụng thut 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ãna. Minconf = 50 %Nhóm :b. Minconf = 70%Nhóm :M1, M2, M3900M1, M2, M3, M5800M1, M3700M2, M3600M1, M3500M1, M2, M4400M2, M3300M2, M4200M1, M2, M5100ItemsTid34Qui định trình bày bài nộpBà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 :35BÀ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 .36BÀI TẬP PHẦN 1 4. Cho CSDL sau 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 dng ci tin ca câu 1 vào vic tìm các LKH tha mãn ngng minconf. So sánh hiu qu vthi gian thc hin vi kt qu  câu b).d) Liệt kê LKH thỏa mãn ngưỡng đã cho có dạng (item1 ∧ item2) ⇒ item3 kèm theo supp, conf của nó.Items_boughtK, A, D, B, C, ID, A, C, E, BC, A, B, E, DB, A, D, IDate15/1/0315/1/0319/1/0325/1/03TID100200300400 1037TÀ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/dmbookhttp://www-faculty.cs.uiuc.edu/~hanj/bk2/slidesindex.html : 2nd3. P.-N. Tan, M. Steinbach, V. Kumar, Chương 6 - Introduction to Data Mininghttp://www-users.cs.umn.edu/~kumar/dmbook/ch6.pdf38Q Q Q Q & AAAA [...]... 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. .. 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 2. Các khái nim cơ bn 3. Bài toán khai thác tập phổ biến 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,... 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 . ≥≥≥≥ minsupp thì S - tập phổ biến .KHÁI NIỆM CƠ BẢN113. 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. 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ãna.

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