GIẢI THUẬT APRIORITrong thời buổi hiện đại ngày nay, công nghệ thông tin cũng như những ứng dụng của nó không ngừng phát triển, lượng thông tin và cơ sở dữ liệu được thu thập và lưu trữ cũng tích lũy ngày một nhiều lên. Con người cũng vì thế mà cần có thông tin với tốc độ nhanh nhất để đưa ra quyết định dựa trên lượng dữ liệu khổng lồ đã có. Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế, vì thế, một khuynh hướng kỹ thuật mới là Kỹ thuật phát hiện tri thức và khai phá dữ liệu nhanhchóng được phát triển.Khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới. Ở Việt Nam, kỹ thuật này đang được nghiên cứu và dần đưa vào ứng dụng. Khai phá dữ liệu là một bước trong quy trình phát hiện tri thức. Hiện nay, mọi người không ngừng tìm tòi các kỹ thuật để thực hiện khai phá dữ liệu một cách nhanh nhất và có được kết quả tốt nhất.Trong bài tập lớn này, chúng em tìm hiểu và trình bày về một thuật toán khai phá luật kết hợp cũng như tổng quan về luật kết hợp, với đề tài “Tìm hiểu giải thuật Apriori”.Trong quá trình làm bài tập lớn này, chúng em xin gửi lời cảm ơn đến thầy giáo Nguyễn Quốc Tuấn. Thầy đã rất tận tình hướng dẫn chi tiết cho chúng em, những kiến thức thầy cung cấp rất hữu ích. Chúng em rất mong nhận được những góp ý từ thầy.
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BÀI TẬP LỚN MÔN KHAI PHÁ DỮ LIỆU ĐỀ TÀI: TÌM HIỂU GIẢI THUẬT APRIORI Giảng viên hướng dẫn: Nguyễn Quốc Tuấn Sinh viên thực hiện: Nhóm 07 Họ tên Bùi Thị Vân Đặng Thị Thanh Loan Đỗ Hoàng Trung Đỗ Thị Thùy Lê Thị Lan Phương Mã sinh viên 181201178 181213060 181202261 181201887 181200836 Lớp: Công nghệ thơng tin Khóa 59 Hà Nội, 2021 MỤC LỤC LỜI NÓI ĐẦU I Tìm hiểu tổng quan Luật kết hợp Giới thiệu luật kết hợp Các thuật toán áp dụng Lĩnh vực ứng dụng II Tìm hiểu thuật tốn Apriori 10 Mơ tả thuật tốn 10 Apriori Algorithm 10 Ví dụ 10 III Ứng dụng thuật toán 17 Tên ứng dụng 17 Nguồn liệu 17 Cách thức thực 17 Kết 21 Tài liệu tham khảo: 22 LỜI NĨI ĐẦU Trong thời buổi đại ngày nay, cơng nghệ thơng tin ứng dụng không ngừng phát triển, lượng thông tin sở liệu thu thập lưu trữ tích lũy ngày nhiều lên Con người mà cần có thơng tin với tốc độ nhanh để đưa định dựa lượng liệu khổng lồ có Các phương pháp quản trị khai thác sở liệu truyền thống ngày khơng đáp ứng thực tế, thế, khuynh hướng kỹ thuật Kỹ thuật phát tri thức khai phá liệu nhanh chóng phát triển Khai phá liệu nghiên cứu, ứng dụng nhiều lĩnh vực khác nước giới Ở Việt Nam, kỹ thuật nghiên cứu dần đưa vào ứng dụng Khai phá liệu bước quy trình phát tri thức Hiện nay, người khơng ngừng tìm tịi kỹ thuật để thực khai phá liệu cách nhanh có kết tốt Trong tập lớn này, chúng em tìm hiểu trình bày thuật tốn khai phá luật kết hợp tổng quan luật kết hợp, với đề tài “Tìm hiểu giải thuật Apriori” Trong trình làm tập lớn này, chúng em xin gửi lời cảm ơn đến thầy giáo Nguyễn Quốc Tuấn Thầy tận tình hướng dẫn chi tiết cho chúng em, kiến thức thầy cung cấp hữu ích Chúng em mong nhận góp ý từ thầy Chúng em xin chân thành cảm ơn! Sinh viên nhóm 07 I Tìm hiểu tổng quan Luật kết hợp Giới thiệu luật kết hợp Bài toán kinh điển dẫn đến việc khai phá luật kết hợp a Bài toán giỏ mua hàng siêu thị Giả định có nhiều mặt hàng, ví dụ “bánh mì”, “sữa”,…(coi tính chất trường) Khách hàng siêu thị bỏ vào giỏ mua hàng họ số mặt hàng đó, muốn tìm hiểu khách hàng thường mua mặt hàng đồng thời, không cần biết khách hàng cụ thể Nhà quản lý dùng thông tin để điều chỉnh việc nhập hàng siêu thị, hay đơn giản để bố trí xếp mặt hàng gần nhau, bán mặt hàng theo gói hàng, giúp cho khách đỡ cơng tìm kiếm Khai phá luật kết hợp mô tả tương quan kiện, kiện xuất thường xuyên cách đồng thời Nhiệm vụ khai phá luật kết hợp phát tập xuất khối lượng giao dịch lớn sở liệu cho trước b Các khái niệm định nghĩa • Tập mục(Itemset) Gọi I = {x , x , , x } tập n mục (item) Một tập X ⊆ I gọi tập mục (itemset).Nếu X có k mục (tức |X| = k) X gọi k–itemset • n Giao dịch sở liệu giao dịch(Transaction & Transactional Database) Transaction thành phần sở liệu mà bao gồm tập hợp item Transaction ký hiệu T T⊆I Một transaction chứa tập hợp item T={I1,I2,…,Im} Ký hiệu D = {T ,T , , T } sở liệu gồm m giao dịch (transaction) Mỗi giao dịch T ∈ D tập mục, tức T ⊆ I i • m i Tập/mẫu phổ biến (frequent itemset/pattern) Cho tập mục X (⊆ I) • Độ hỗ trợ X, kí hiệu supp(X, D), số lượng giao dịch D chứa tập X: supp(X, D) = |{T|T ⊆ D X ⊆ T}| • Độ hỗ trợ tương đối X, kí hiệu rsupp(X, D) số phần trăm giao dịch D chứa X: rsupp(X, D) = supp(X, D)/|D| • • Tập mục X gọi tập phổ biến sở giao dịch D sup(X, D) >= minsup, với minsup ngưỡng độ hỗ trợ tối thiểu (minimum support threshold) người dùng định nghĩa F kí hiệu tất tập phổ biến F ký hiệu tập tập phổ biến có độ dài k (k) Luật kết hợp c Cho I={I1, I2, , Im} tập hợp m tính chất riêng biệt Giả sử D CSDL, với ghi chứa tập T tính chất (có thể coi T ⊆ I ), ghi có số riêng Một luật kết hợp mệnh đề kéo theo có dạng X → Y, X, Y⊆ I, thỏa mãn điều kiện X ∩Y =Ø Các tập hợp X Y gọi tập hợp tính chất (itemset) Tập X gọi nguyên nhân, tập Y gọi hệ Có độ đo quan trọng luật kết hợp: Độ hỗ trợ (support) độ tin cậy (confidence), định nghĩa phần • Độ hỗ trợ(support) • Độ hỗ trợ luật kết hợp X⟶ Y tỷ lệ số lượng giao dịch chứa tập hợp X ⟶ Y, so với tổng số giao dịch D - Ký hiệu supp(X ⟶ Y) supp(X ⟶ Y) = (X • ∪Y).countn Độ hỗ trợ tương đối luật X⟶Y sở liệu D kí hiệu rsupp(X⟶Y, D) số phần trăm giao dịch D chứa X Y rsupp(X⟶Y, D) = supp(X∪Y, D)|D| Nếu độ hỗ trợ kết kết hợp X ⟶ Y 30% có nghĩa 30% tổng số ghi chứa X hợp Y Như độ hỗ trợ mang ý nghĩa thống kê luật • Độ tin cậy Độ tin cậy (confidence) luật X → Y D, ký hiệu conf (X → Y , D), tỉ lệ số giao dịch chứa X Y số giao dịch chứa X conf(X⟶Y, D) = (X∪Y).countX.count Ký hiệu độ tin cậy luật r conf(r) Ta có = minconf Tính chất • Tính chất 1: Giả sử A,B ⊆ I hai tập hợp với A⊆B sup(A) >= sup(B) Như vậy, ghi chứa tập hợp B chứa tập hợp A • Tính chất 2: Giả sử A, B hai tập hợp, A,B ⊆ I, B tập phổ biến A⊆B A tập phổ biến Vì B tập phổ biến sup(B) >= minsup, tập hợp A tập hợp B tập phổ biến sở liệu D sup(A) >= sup(B) (Tính chất 1) • Tính chất 3: Giả sử A, B hai tập hợp, A ⊆ B A tập hợp khơng thường xun B tập hợp khơng thường xun (Tính chất 1) (Tức A tập hợp khơng phổ biến tập cha khơng biến) Các thuật toán áp dụng - Thuật toán Apriori - Thuật toán FP-Growth Thuật toán Brute-Force Lĩnh vực ứng dụng a, Phân lớp, phân loại (classification/decision rules) b, Phân tích liệu bán lẻ (market basket analysis) c, Tư vấn trực tuyến (online recommendation) d, Hiểu người dùng trực tuyến (user understanding) e, Phân tích tìm ngoại lệ (outlier detection) f, Ứng dụng tốn viễn thơng (vd:churn prediction) g Phân tích liệu di truyền h Phân tích cấu trúc mạng II Tìm hiểu thuật tốn Apriori Mơ tả thuật tốn - Tư tưởng thuật tốn Apriori là: + Tìm tất frequent itemsets: k-itemset (itemsets gồm k items) dùng để tìm (k+1)- itemset Đầu tiên tìm 1-itemset (ký hiệu L1) L1 dùng để tìm L2 (2-itemsets) L2 dùng để tìm L3 (3-itemset) tiếp tục khơng có k-itemset tìm thấy + Từ frequent itemsets sinh luật kết hợp mạnh (các luật kết hợp thỏa mãn tham số min_sup min_conf) - Tính chất: tập khác rỗng itemset phổ biến phải itemset phổ biến Apriori Algorithm 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 ) Bước 2: Sử dụng L nối (join) L để sinh candidate k-itemset Loại bỏ itemsets frequent itemsets thu k-itemset Bước 3: Scan transaction database để có support candidate k-itemset, so sánh S với min_sup để thu frequent k –itemset (L ) Bước 4: Lặp lại từ bước Candidate set (C) trống (khơng tìm thấy frequent itemsets) Bước 5: Với frequent itemset I, sinh tất tập s không rỗng I Bước 6: Với tập s không rỗng I, sinh luật s => (I-s) độ tin cậy (Confidence) > =min_conf Ví dụ k-1 k-1 k Bảng biểu diễn giao dịch sở liệu có giao dịch TID nhận dạng cho giao dịch TABLE_1 TID Support T100 A,C, D T200 B, C, E T300 A, B, C, E T400 B, E • Thực bước chức duyệt sở liệu để xác định số lượng xuất cho item cụ thể Sau bước có C1 thể Table TABLE_2 C1 Itemset Support {A} {B} {C} {D} {E} • Bước bước cắt tỉa, support tập phổ biến so sánh với minimum support Các tập phổ biến thỏa mãn minimum support xử lý tiếp tục Giả sử minimum support Chúng ta có L1 từ bước TABLE cho thấy kết cắt tỉa TABLE_3 L1 Itemset Support {A} {B} {C} {E} • Bây bước phát sinh ứng viên thực tất ứng viên có tập phổ biến ứng viên tạo Bảng ký hiệu C2 TABLE cho thấy tất khả kết hợp mà tạo từ TABLE tập phổ biến TABLE_4 C2 Itemset Support {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} • Bây cắt tỉa phải thực sở điều kiện minimum support Từ TABLE hai tập phổ biến loại bỏ Sau cắt tỉa nhận kết sau: TABLE_5 L2 Itemset Support {A, C} {B, C} {B, E} {C, E} • Các q trình tương tự tiếp tục khơng có tập phổ biến ứng viên tạo Tiến trình mơ tả TABLE TABLE TABLE_6 C3 Itemset Support {A, C} {B, C} {B, E} TABLE_7 (Kết cuối cùng) Itemset Support {B, C, E} Ví dụ 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} C = I →L: Tìm tập ứng viên L ⨝ L : →C: →L: Tìm tập ứng viên L ⨝ L : 2 →C: →L: L=L ∪L ∪L → L = (E, K, M, O, Y, {E, K}, {E, O}, {K, M}, {K, O}, {K, Y}, {E, K, O} Tìm luật kết hợp mạnh: {E, K} → O conf = 3/4 = 75% {E, O}→ K conf = 3/3 = 100% {K, O} → E conf = 3/3 = 100% E → {K, O} conf = 3/4 = 75% K → {E, O} conf = 3/5 = 60% O → {E, K} conf = 3/3 = 100% E→K conf = 4/4 = 100% K→E conf = 4/5 = 80% E→O conf = 3/4 = 75% O→E conf = 3/3 = 100% K→M conf = 3/5 = 60% M→K conf = 3/3 = 100% K→O conf = 3/5 = 60% O→K conf = 3/3 = 100% K→Y conf = 3/5 = 60% Y→K conf = 3/3 = 100% min_conf = 80% nên suy luật kết hợp mạnh là: {E, O}→ K {K, O} → E O → {E, K} E→K K→E O→E M→K O→K Y→K III Ứng dụng thuật toán Tên ứng dụng: Market basket analysis Nguồn liệu: - UCI Machine Learning Repository: (https://archivebeta.ics.uci.edu/ml/datasets/online+retail+ii) - Đây tập liệu Bán lẻ Trực tuyến II Daqing Chen tạo lên chứa tất giao dịch xảy cho cửa hàng bán lẻ trực tuyến cửa hàng có trụ sở Vương quốc Anh khoảng thời gian từ ngày 01/12/2009 đến ngày 09/12/2011 Cách thức thực a Xử lý liệu Dữ liệu dùng liệu giao dịch khách hàng, qua tìm mối tương quan sản phẩm bán cửa hàng - Một số liệu gốc: - Sau xử lý liệu giao dịch tháng 10/2010 gồm 960 thuộc tính 137 giao dịch: Hình Dữ liệu số giao dịch Bảng liệu có cột : Transaction ItemSet Mỗi dòng liệt kê itemset mã sản phẩm, mã sản phẩm thể sản phẩm Mẫu liệu gơm 960 mã sản phẩm: Hình Một số sản phẩm tương ứng mã sản phẩm Cài đặt thuật tốn Lựa chọn ngơn ngữ lập trình: HTML,CSS,Javascript Cơng cụ lập trình: Visual studio code Cài đặt: Đưa liệu dạng định tính: sản phẩm mua 1, sản phẩm khơng mua + Tìm tập ứng viên b + + Tính support + Tìm tập phổ biến Kết + + + + + + Với Support Threshold = 8% tìm tập phổ biến gồm phần tử: {85123A} support: 10,95% {84029E} support: 8,76% {22632} support: 11,68% {22961} support: 8,76% {22866} support: 8,76% {22865} support: 8,03% Tài liệu tham khảo: • • http://www.jaist.ac.jp/~bao/VNAlectures/AssociationAnalysisHieu.pdf?fbclid=IwAR3XwOL9hPzxk3znFK9PnP0hfa_Jlyyr2We5e4CRAM5qHP 2sEZC1Y5a2t2Y https://viblo.asia/p/khai-pha-mau-pho-bien-va-luat-ket-hop-gGJ59QAa5X2 ... mạng II Tìm hiểu thuật tốn Apriori Mơ tả thuật tốn - Tư tưởng thuật tốn Apriori là: + Tìm tất frequent itemsets: k-itemset (itemsets gồm k items) dùng để tìm (k+1)- itemset Đầu tiên tìm 1-itemset... ngừng tìm tịi kỹ thuật để thực khai phá liệu cách nhanh có kết tốt Trong tập lớn này, chúng em tìm hiểu trình bày thuật toán khai phá luật kết hợp tổng quan luật kết hợp, với đề tài ? ?Tìm hiểu giải. .. I Tìm hiểu tổng quan Luật kết hợp Giới thiệu luật kết hợp Các thuật toán áp dụng Lĩnh vực ứng dụng II Tìm hiểu thuật toán Apriori