Tìm hiểu giải thuật Apriori (Khai phá luật kết hợp) Luật kết hợp trong khai phá dữ liệuThuật toán AprioriCho I={I1, I2, .., Im} là tập hợp của m tính chất riêng biệt. Giả sử D là CSDL, với các bản ghi chứa một tập con T các tính chất (có thể coi như T ⊆ I ), các bản ghi đều có chỉ số riêng. Một luật kết hợp là một mệnh đề kéo theo có dạng X → Y, trong đó X, Y⊆ I, thỏa mãn điều kiện X ∩Y =Ø. Các tập hợp X và Y được gọi là các tập hợp tính chất (itemset). Tập X gọi là nguyên nhân, tập Y gọi là hệ quả.
ĐẠI HỌC GIAO THÔNG VẬN TẢI HÀ NỘI MÔN: KHAI PHÁ DỮ LIỆU Tìm hiểu giải thuật Apriori (Khai phá luật kết hợp) Nhóm 07 Bùi Thị Vân Đặng T.Thanh Loan Đỗ Hoàng Trung Đỗ Thị Thùy Lê T.Lan Phương Nhóm 13 Nguyễn Quang Trung Phạm Nguyễn Hồng Long Lê Văn Mạnh Nguyễn Đức Tâm Phạm Văn Phương Nội dung Luật kết hợp khai phá liệu Thuật toán Apriori Luật kết hợp Luật kết hợp Mục đích Nội dung ● Chỉ mối quan hệ tương quan đối tượng khối liệu lớn ● D = {t1, t2, …, tn} (D sở liệu giao dịch) ● Mỗi ti bao gồm đối tượng I = {i1, i2, …, im} Luật kết hợp mối tương quan hay kết hợp item có định dạng: X → Y, với X, Y ⊆ I X ∩ Y = ∅ ● X (hoặc Y) nhóm item gọi itemset ● Mỗi itemset gồm k item gọi k - itemset Luật kết hợp Luật kết hợp X → Y hiểu người mua mặt hàng tập X thường mua mặt hàng tập Y Ví dụ: Một giao dịch như: {sữa, trứng, đường} Luật kết hợp là: sữa, trứng → đường, X = {sữa, trứng} Y = {đường} → Chúng ta nói người mua sữa trứng thường mua đường Theo quan điểm thống kê, X xem biến độc lập Y xem biến phụ thuộc Luật kết hợp Để đo lường luật kết hợp, ta sử dụng độ hỗ trợ (Support) độ tin cậy (Confidence) Luật kết hợp support ≥ minsup Thu luật kết hợp confidence ≥ minconf Các giá trị minsup minconf giá trị ngưỡng cần phải xác định trước sinh luật kết hợp Một itemsets mà tần suất xuất ≥ minsup gọi frequent itemsets Luật kết hợp Ứng dụng Thuật toán Apriori Tính chất thuật tốn: Mọi tập khác rỗng itemset phổ biến phải itemset phở biến Mơ tả thuật tốn: ● Bước 1: Duyệt (Scan) tồn transaction database để có support S 1-itemset, so sánh S với min_sup, để có 1-itemset (L 1) ● Bước 2: Sử dụng Lk-1 nối (join) Lk-1 để sinh candidate k-itemset Loại bỏ itemsets frequent itemsets thu k-itemset ● Bước 3: Scan transaction database để có support candidate kitemset, so sánh S với min_sup để thu frequent k –itemset (L k) ● Bước 4: Lặp lại từ bước Candidate set (C) trống (khơng tìm thấy frequent itemsets) Thuật tốn Apriori Thuật tốn 10 Thuật tốn Apriori Thuật tốn 11 Ví dụ: Cho Dataset D: minsup = 20%,minconf=70% min_sup = 20% → min_sup_count = 20% * = I = {I1, I2, I3, I4, I5} C1 = I L1 ⩾2 12 Ví dụ: Cho Dataset D: minsup = 20%,minconf=70% Tìm tập ứng viên: L1 ⨝ L1 C2 L2 ⩾2 13 Ví dụ: Cho Dataset D: minsup = 20%,minconf=70% Tìm tập ứng viên: L2 ⨝ L2 L2 C3 L3 ⩾2 14 Ví dụ: Cho Dataset D: minsup = 20%,minconf=70% {I1, I2} → I3 {I1, I3} → I2 {I2, I3} → I1 I1 → {I2, I3} I2 → {I1, I3} I3 → {I1, I2} conf = 2/4 = 50% conf = 2/4 = 50% conf = 2/4 = 50% conf = 2/6 = 33% conf = 2/7 = 29% conf = 2/6 = 33% I1 → I2 I2 → I1 I1 → I3 I3 → I1 I1 → I5 I5 → I1 conf = 4/6 = 67% conf = 4/7 = 57% conf = 4/6 = 67% conf = 4/6 = 67% conf = 2/6 = 33% conf = 2/2 = 100% {I1, I2} → I5 {I1, I5} → I2 {I2, I5} → I1 I1 → {I2, I5} I2 → {I1, I5} I5 → {I1, I2} conf = 2/4 = 50% conf = 2/2 = 100% conf = 2/2 = 100% conf = 2/6 = 33% conf = 2/7 = 29% conf = 2/2 = 100% I2 → I3 I3 → I2 I2 → I4 I4 → I2 I2 → I5 I5 → I2 conf = 4/7 = 57% conf = 4/6 = 67% conf = 2/7 = 29% conf = 2/2 = 100% conf = 2/7 = 29% conf = 2/2 = 100% 15 15 Ví dụ: Cho Dataset D: minsup = 20%,minconf=70% Ta có luật kết hợp: {I1, I5} → I2 {I2, I5} → I1 I5 → {I1, I2} I5 → I1 I4 → I2 I5 → I2 16 Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80% min_sup = 60% → min_sup_count = 60% * = I = {A, C, D, E, I, K, M, N, O, U, Y} C1 = I L1 ⩾3 17 Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80% Tìm tập ứng viên: L1 ⨝ L1 C2 L2 ⩾3 18 Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80% Tìm tập ứng viên: L2 ⨝ L2 L2 C3 L3 ⩾3 19 Bài 6.6: Cho Dataset D: minsup = 60%, minconf = 80% {E, K} → O {E, O}→ K {K, O} → E E → {K, O} K → {E, O} O → {E, K} E→K K→E E→O O→E K→M M→K K→O O→K K→Y Y→K conf = 3/4 = 75% conf = 3/3 = 100% conf = 3/3 = 100% conf = 3/4 = 75% conf = 3/5 = 60% conf = 3/3 = 100% conf = 4/4 = 100% conf = 4/5 = 80% conf = 3/4 = 75% conf = 3/3 = 100% conf = 3/5 = 60% conf = 3/3 = 100% conf = 3/5 = 60% conf = 3/3 = 100% conf = 3/5 = 60% conf = 3/3 = 100% Ta có luật kết hợp: {E, O}→ K {K, O} → E O → {E, K} E→K K→E O→E M→K O→K Y→K 20 Ưu điểm thuật toán ● Đây thuật toán đơn giản dễ hiểu số thuật toán học quy tắc kết hợp ● Các quy tắc kết trực quan dễ dàng để giao tiếp với người dùng cuối ● Nó khơng u cầu liệu dán nhãn thuật tốn khơng giám sát, bạn sử dụng nhiều tình khác liệu không gắn nhãn thường dễ truy cập ● Nhiều tiện ích mở rộng đề xuất cho trường hợp sử dụng khác dựa triển khai này, ví dụ, có thuật tốn học liên kết có tính đến việc đặt hàng mặt hàng, số lượng chúng khoảng thời gian liên quan 21 Nhược điểm thuật toán ● Phải duyệt CSDL nhiều lần ● Số lượng tập ứng viên lớn ● Thực việc tính độ phở biến nhiều, đơn điệu 22 23 ...Nội dung Luật kết hợp khai phá liệu Thuật toán Apriori Luật kết hợp Luật kết hợp Mục đích Nội dung ● Chỉ mối quan hệ tương quan đối tượng... độc lập Y xem biến phụ thuộc Luật kết hợp Để đo lường luật kết hợp, ta sử dụng độ hỗ trợ (Support) độ tin cậy (Confidence) Luật kết hợp support ≥ minsup Thu luật kết hợp confidence ≥ minconf... 100% Ta có luật kết hợp: {E, O}→ K {K, O} → E O → {E, K} E→K K→E O→E M→K O→K Y→K 20 Ưu điểm thuật toán ● Đây thuật toán đơn giản dễ hiểu số thuật toán học quy tắc kết hợp ● Các quy tắc kết trực