Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
645,58 KB
Nội dung
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢ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: Giải thuật FP-Growth (Khai phá luật kết hợp) Giảng viên hướng dẫn : Nguyễn Quốc Tuấn Sinh viên thực hiện : Nguyễn Minh Quân- 171200130 Lê Trọng Khoa- 171200458 Trần Hùng Tới-171201330 Trần Tuấn Vũ- 171202729 Hồng Vĩnh Tiến- 171210074 Lớp - Khóa : CNTT4 – K58 Mục lục 1.Bài tốn phân tích giỏ hàng: 2.Định nghĩa luật kết hợp: 2.1 Khái niệm 2.2 Định nghĩa .3 2.3 Ví dụ 3.Tìm hiểu thuật toán fp-growth 4.ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP 5.Triển khai phần mềm weka 10 1.Bài tốn phân tích giỏ hàng: Bài toán khai thác tập phổ biến (frequent itemset) lớp toán quan trọng lĩnh vực khai phá liệu Mục tiêu tìm tất tập mẫu, liên kết, tương quan cấu trúc nhân có độ phổ biến cao tập hợp tất hạng mục đối tượng sở liệu giao dịch, sở liệu quan hệ kho thơng tin liệu khác Có bạn tự hỏi mặt hàng sản phẩm siêu thị lại xếp cạnh nhau? Tại mặt hàng A lại xếp dưới, mặt hàng B lại xếp cao? Tại đồ ta cần thường xếp cạnh siêu thị?. Đây phần ứng dụng việc khai phá liệu mà cụ thể khai phá tập phổ biến! Bài toán khai thác tập phổ biến ứng dụng nhiều vấn đè, tiếng Basket data analysis (dự đoán, gợi ý hàng thường cho vào giỏ hàng với đồ A chọn mua trước đó) Nhưng trước vào khai thác tập phổ biến , ta cần tìm hiểu trước luật kết hợp Luật kết hợp đóng vai trị giúp ta tìm kiếm tập liệu mà có mối liên hệ với , sau dựa vào để tìm tập phổ biến 2.Định nghĩa luật kết hợp: 2.1 Khái niệm: Luật kết hợp mối quan hệ kết hợp tập thuộc tính sở liệu 2.2 Định nghĩa: 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 ), ghi có số riêng Một luật kết hợp mệnh đề kéo theo có dạng XY, X, Y I, thỏa mãn điều kiện XY= 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ệ 2.3 Ví dụ : Bài toán 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ắc đỡ cơng tìm kiếm TID Items Bread, milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke Luật kết hợp : {Diaper} {Beer} {Milk,Bread} {Eggs ,Coke} {Beer , Bread} {Milk} Để sâu vào luật kết hợp , cần tìm hiểu định nghĩa liên quan tới luật kết hợp 2.3.1 Tập mục ( item set) : Là tập gồm nhiều mục Ví dụ: {Milk, Bread, Diaper} Tập mục mức K ( k-itemset) : Là tập gồm K mục Có độ đo quan trọng luật kết hợp : Độ hỗ trợ ( support) độ tin cậy (confidence) 2.3.2 Độ hỗ trợ (support) : Tổng số hỗ trợ (Support count) σ: Số lần xuất tập mục Ví dụ : σ({Milk,Bread,Diaper}) = Độ hỗ trợ (support) s: Độ hỗ trợ luật kết hợp XY tỷ lệ số lượng ghi chứa tập hợp X Y, so với tổng số ghi D - Ký hiệu s(XY) Ví dụ:s(XY) = s({Milk,Diaper}Beer)= = 2/5 = 0.4 Độ tin cậy ( Confidence) c : Độ tin cậy luật kết hợp XY tỷ lệ số lượng ghi D chứa X Y với số ghi D có chứa tập hợp X Ký hiệu độ tin cậy luật c(r) Ví dụ : c(r) = = 2/3 =0.67 2.3.3 Độ tương quan ( Lift) : Độ tương quan hỗ trợ kiểm soát hệ tính tốn xác suất xuất có điều kiện XY Cơng thức : Lift(r) = Trong trường hợp mà X thực kết hợp với Y , giá trị lift >=1 ngược lại Ví dụ : s ({Milk,Diaper}Beer)= 2/5 = 0.4 s({Beer}) = = = 3/5 = 0.6 s({Milk,Diaper }) = = 3/5 = 0.6 Lift (r) = = 0.4 / 0.6 * 0.6 = 1.11 >1 2.3.4 Tần suất sinh luật dự đoán khơng xác ( Conviction) : Conviction luật kết hợp XY cho biết tần suất mong muốn X xảy mà không cần Y Công thức : Conv(r) = ) Giá trị conviction cao tỉ lệ luật sinh dự đốn khơng xác cao Ví dụ : c ({Milk,Diaper}Beer) = = 2/3 = 0.67 s({Beer}) = = = 3/5 = 0.6 Conv({Milk,Diaper}Beer) = = = 1.21 2.3.5 Độ ảnh hưởng ( Leverage) : Leverage luật kết hợp XY dùng để đo lường khác biệt xác suất trường hợp đồng xuất X so với X Y độc lập với Nói cách khác , Leverage dùng để đo lường trường hợp bổ sung bao gồm X Y cao so với dự kiến X Y độc lập với Công thức : Lev(r) = s(XY) – s(X)*s(Y) Giá trị leverage thấp tỷ lệ XY cao , ngược lại Ví dụ s ({Milk,Diaper}Beer)= 2/5 = 0.4 s({Beer}) = = = 3/5 = 0.6 s({Milk,Diaper }) = = 3/5 = 0.6 Lev({Milk,Diaper}Beer) = s({Milk,Diaper}Beer) – s({Milk,Diaper}) * s({Beer}) = 0.4 - 0.6 * 0.6 = 0.04 2.3.6 Tập thường xuyên : Tập hợp X gọi tập hợp thường xuyên (Frenquent itemset) có s(X) minsup, với minsup ngưỡng độ hỗ trợ cho trước Kí hiệu tập FI Ví dụ : Xét tập {Bread} , {Bread , Diaper} minsup = 0.2 S({Bread,Diaper}) = > 0.2 ) =3/5=0.6 =>{Bread,Diaper} tập thường xuyên , mà {Bread} lại tập {Bread,Diaper} => {Bread} tập thường xun 3.Tìm hiểu thuật tốn fp-growth Vì thuật tốn fp-growth dựa fp-tree nên ta tìm hiểu qua thuật toán fp-tree: - Frequent Pattern Tree (FP-tree) cấu trúc tạo tập phổ biến ban đầu sở liệu Mục đích FP khai thác mẫu thường xuyên Mỗi node FP đại diện cho mục tập phổ biến - Root đại diện cho giá trị rỗng cá node đại diện cho tập phổ biến - Sự liên kết node với node thấp tập phổ biến với tập phổ biến khác tạo Fp-tree Nén sở liệu lớn thành cấu trúc Frequent-Pattern tree (FP-tree) -cơ đọng cao, hồn chỉnh để khai thác mẫu phổ biến - tránh quét sở liệu tốn • Phát triển phương pháp khai thác mẫu phổ biến dựa FP-tree hiệu - Phương pháp luận chia để trị: phân rã nhiệm vụ khai thác thành nhiệm vụ nhỏ - Tránh tạo ứng viên: kiểm tra sở liệu • Ý tưởng: - Thuật tốn FP-growth nén toàn CSDL lên cấu trúc liệu nhỏ FP-tree nên tránh việc duyệt nhiều lần CSDL (thuật toán duyệt sở liệu lần) Tiếp theo thuật toán khai phá cách phát triển dần mẫu mà khơng sinh tập mục ứng viên, tránh khối lượng tính tốn lớn Phương pháp FP- growth chứng tỏ tính hiệu thực khai phá cho mẫu ngắn dài, nhanh thuật tốn Apriori, ln cần duyệt CSDL lần Thuật toán FP- growth thực sau: Đầu tiên, thuật toán duyệt CSDL lần thứ để tính độ hỗ trợ mục (đếm số lần xuất mục) Tiếp đến, mục không đủ độ hỗ trợ bị loại Các mục lại theo thứ tự giảm dần độ hỗ trợ (cũng tức giảm dần theo số lần xuất CSDL), ta nhận danh sách L mục Duyệt CSDL lần thứ hai, với giao tác t, loại mục không đủ độ hỗ trợ, mục lại theo thứ tự giống xuất L (tức thứ tự giảm dần theo độ hỗ trợ) cất vào FP-tree Phần thuật tốn khai phá tìm mẫu thường xuyên FP-tree xây dựng mà khơng cần duyệt lại CSDL Lợi ích việc sử dụng cấu trúc fp-growth Ưu điểm - Thuật toán FP - Growth cần quét sở liệu hai lần sử dụng thuật toán Apriori phải quét sở liệu cho lần lặp - Thuật tốn khơng thực việc ghép nối thành phần với nên làm cho thực nhanh - Cơ sở liệu lưu trữ với phiên nhỏ nhớ - Nó hiệu mở rộng để khai thác frequent pattern dài ngắn Nhược điểm - FP Tree cồng kềnh khó để xây dựng Apriori - Tốn nhiều chi phí - Và liệu sở liệu lớn thuật tốn khơng cịn phù hợp với nhớ dùng chung 4.ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP TID Items Bread, milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke Quay trở lại với toán giỏ hàng siêu thị Lúc ta quy định sản phẩm dạng chữ cho dễ dàng phân tích: Bread : A Milk : B Diaper: C Beer : D Eggs : E Coke:F Lúc bảng thay đổi sau TID Items A,B A,C,D,E B,C,D,F A,B,C,D A,B,C,F Đầu tiên cần xây dựng FP-Tree: Ban đầu, FP-Tree chứa nút gốc (được biểu diễn ký hiệu null) Cơ sỡ liệu giao dịch duyệt lần 1, để xác định độ hỗ trợ mục 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 xếp theo thứ tự giảm dần độ hỗ trợ Cơ dở liệu giao dịch duyệt lần thứ 2, để xây dựng FP-Tree Áp dụng với tốn với minsup=0.4 Bước 1: tìm item mức có sup>= , xếp theo thứ tự giảm dần Item Sup A B C D F Bước : Sắp xếp mục phổ biến mức vừa tìm theo thứ tự giảm dần giao dịch: TID Items Items phổ biến A,B A,B A,C,D,E A,C,D B,C,D,F B,C,D,F A,B,C,D A,B,C,D A,B,C,F A,B,C,F Duyệt items phổ biến giao dịch để xây dựng FP-Tree Tiếp theo, duyệt item phổ biến mức theo thứ tự tăng dần độ hỗ trợ (F,D,C,B,A) Với item, xây dựng mẫu sở mẫu điều kiện (conditional pattern-base) sau FP-Tree điều kiện (conditional FP-TREE) Tính chất: mẫu phổ biến có chứa mục Ii đều chứa nhánh (đường dẫn) FP-Tree chứa Ii, số lần xuất mẫu chứa nút đường dẫn tiền tố số lần xuất nút Ii Bắt đầu với item F, sở mẫu điều cơ sở mẫu điều kiện tất đường dẫn tiền tố FP-Tree duyệt từ gốc root = null đến nút F , ABC:1 BCD:1 ( số theo sau số lần xuất nút F tương ứng với tổ tiên đó) Tiếp theo ta xây dựng FP-Tree điều kiện từ mẫu cách trộn tất đường dẫn giữ lại nút có tổng số đếm >= sup = ( độ hỗ trợ >= minsup=0.4) : ABC:1 BCD:1 trộn lại thành A:1 , B:2 , C:2 , D:1 , có B:2 C:2 thỏa mãn điều kiện Do đó, mẫu phố biến chứa F : F , BF , CF, BCF Làm tương tự cho item cịn lại , ta tìm mẫu phổ biến item Cuối có bảng sau đây: Item Cơ sở mẫu điều kiện FP-Tree điều kiện Các mẫu phổ biến F {ABC:1, BCD:1} {B:2, C:2}-F F, BF, CF, BCF D {ABC:1, BC:1} {B:2, C:2}-D D, BD, CD, BCD C {AB:2, A:1, B:1} {A:3, B:3}-C C, AC, BC, ABC B {A:4} {A:4}-B B, AB A ∅ ∅ A 5.Triển khai phần mềm weka Giới thiệu Weka i Weka – Wakato Enviroment for Knowledge Analysis – tập hợp giải thuật học máy công cụ xử lý liệu, phát triển Java, phân phối giấy phép GNU General Public Mô tả liệu SuperMarket ii Nguồn: https://storm.cis.fordham.edu/~gweiss/data-mining/wekadata/supermarket.arff iii Đây tập liệu phân tích sản phẩm mua siêu thị iv Chúng ta khai phá luật kết hợp tập liệu thuật toán FPGrowth nhằm xác định sản phẩm thường xuyên mua Sử dụng weka khai phá luật kết hợp thuật toán FP-Growth Bước : Mở file supermarket.aff ứng dụng : Bước 2: Quan sát tập liệu, ta được: - Tổng số sản phẩm bày bán : 4627 Ta tiếp tục chọn tab “Associate” hình dưới: Bước 3: Lựa chọn thuật tốn FP-Growth tiến hành thiết lập thơng số trước chạy thuật toán Chúng ta quan tâm đến thơng số - LowerBoundMinSupport: Cận độ hỗ trợ tối thiệu (miniSup), mặc định 0,1 MetricType: khai phá luật kết hợp theo độ tin cậy (Confidence) minMetric: khai phá luật kết hợp có độ tin cậy từ 0,9 đổ lên Bước 4: Chạy thuật toán Weka Nhấn nút Start để bắt đầu chạy thuật toán FP-Growth Sau hoàn tất, ta kết bên dưới: Như áp dụng thuật toán FP-Growth, xác định 16 tập hạng mục phổ biến có Độ tin cậy (confidence) từ 0,9 đổ lên có độ hỗ trợ lớn 0.1 Link tài liệu tham khảo: https://www.dbs.ifi.lmu.de/Lehre/KDD/SS16/skript/3_FrequentItemsetMining.pdf? fbclid=IwAR1CPJOC_FsFZQ7wfWusq_SQkcTpYd_gqD9rbGlGxV0PDxQ3kXzs KO1cDxU https://www.softwaretestinghelp.com/fp-growth-algorithm-data-mining/ https://repository.vnu.edu.vn/bitstream/VNU_123/6401/1/00050001570.pdf? fbclid=IwAR0_o3x0OdYbudaXqyV2VpTDVpeZytkxcQFr38ikZOhXhQrBf_nvHuERQ0 http://ccs.hnue.edu.vn/hungtd/DM2012/NhatQuang/L4-Phat_hien_luat_ket_hop.pdf ... vào khai thác tập phổ biến , ta cần tìm hiểu trước luật kết hợp Luật kết hợp đóng vai trị giúp ta tìm kiếm tập liệu mà có mối liên hệ với , sau dựa vào để tìm tập phổ biến 2.Định nghĩa luật kết. .. hiểu thuật tốn fp-growth 4.ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP 5.Triển khai phần mềm weka 10 1 .Bài tốn phân tích giỏ hàng: Bài tốn? ?khai thác tập. .. Tại đồ ta cần thường xếp cạnh siêu thị?. Đây phần ứng dụng việc khai phá liệu mà cụ thể khai phá tập phổ biến! Bài toán khai thác tập phổ biến ứng dụng nhiều vấn đè, tiếng Basket data analysis