1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu phương pháp tìm tập thường xuyên sử dụng cây tiền tố nén

82 11 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG ĐÀO THỊ THÚY QUỲNH NGHIÊN CỨU PHƢƠNG PHÁP TÌM TẬP THƢỜNG XUYÊN SỬ DỤNG CÂY TIỀN TỐ NÉN THÁI NGUYÊN 2015 ii LỜI CẢM ƠN Luận văn đƣợc hồn thành với hƣớng dẫn tận tình PGS.TS Ngô Quốc Tạo – Viên Công nghệ thông tin - Viện Hàn Lâm Khoa học Việt Nam Trƣớc tiên tơi xin chân thành bày tỏ lịng biết ơn sâu sắc tới PGS.TS Ngơ Quốc Tạo ngƣời tận tình hƣớng dẫn, động viên giúp đỡ suốt thời gian thực luận văn Tôi xin chân thành cảm ơn thầy cô trƣờng Công Nghệ thông tin Truyền thông – Đại học Thái Nguyên, tạo điều kiện thuận lợi cho tơi hồn thành tốt khóa học Xin chân thành cảm ơn anh, chị bạn học viên lớp Cao học CHK12A ln động viên, giúp đỡ nhiệt tình chia sẻ với kinh nghiệm học tập, công tác suốt khố học Cuối cùng, tơi xin gửi lời cảm ơn sâu sắc đến gia đình, ngƣời thân, bạn bè động viên, khuyến khích hỗ trợ cần thiết để tơi hồn thành luận văn Mặc dù cố gắng, song luận văn tránh khỏi thiếu sót, kính mong đƣợc dẫn quý thầy cô bạn Thái Nguyên, ngày 16 tháng 05 năm 2015 Ngƣời viết Đào Thị Thúy Quỳnh iii LỜI CAM ĐOAN cảm ơn thông tin trích dẫn luận văn đƣợc rõ nguồn gốc Thái Nguyên, ngày 16 tháng 05 năm 2015 Ngƣời cam đoan Đào Thị Thúy Quỳnh iv BẢNG KÝ HIỆU CHỮ VIẾT TẮT TT Ký hiệu viết tắt Giải thích CNTT Cơng nghệ thơng tin KPDL Khai phá liệu CSDL Cơ sở liệu KDD ITL Item - TransLink CT-ITL Compressed Tree - Item TransLink CFP Compressed FP - Tree FP - Tree Frequent pattern Tree D = {T1, T2,…, Tn} Tập hợp n giao dịch 10 I= {i1, i2,…,im} Tập hợp m phầntử CSDL 11 Minsup Ngƣỡng độ hỗ trợ 12 Minconf Ngƣỡng độ tin cậy tối thiểu 13 Conditional pattern - base Cơ sở mẫu có điều kiện 14 Conditional FP-Tree Cây FP có điều kiện Khám phá tri thức sở liệu (Knowledge Discovery in Databases) v DANH MỤC CÁC BẢNG Bảng 2.1 Biểu diễn sở liệu giao dịch ngang 18 Bảng 2.2 Biểu diễn sở liệu giao dịch dọc 19 Bảng 2.3 Biểu diễn sở liệu giao dịch ma trận 19 Bảng 2.4 Một số hóa đơn bán hàng siêu thị 24 Bảng 3.1 Sắp xếp ánh xạ khoản mục đối tƣợng thƣờng xuyên 45 vi DANH MỤC CÁC HÌNH Hình 1.1 Quy trình khám phá tri thức từ sở liệu Hình 1.2 Kiến trúc hệ thống khai phá liệu Hình 2.1: So sánh thời gian thực thi với số lƣợng giao dịch khác 36 Hình 3.1 Cơ sở liệu mẫu .38 Hình 3.2a Cây tiền tố hoành chỉnh đối tƣợng 1-4 .39 Hình 3.2b Cây giao dịch 39 Hình 3.3 Cấu trúc liệu Item-TransLink (ITL) 40 Hình 3.4a Những giống hệt tiền tố .41 Hình 3.4b Cây tiền tố nén 41 Hình 3.5 Cây giao dịch nén 46 Hình 3.6 Cấu trúc Item - TransLink cải tiến 47 Hình 3.7.Khai phá đệ quy tập khoản mục thƣờng xuyên 48 Hình 3.8 Ví dụ minh họa xây dựng CFP-Tree 53 Hình 3.9 Khai phá CFP-Tree 57 Hình 3.10 Biên dịch CFP_Tree VC6 68 Hình 3.11 Sử dụng CFP-Tree qua tham số dịng lệnh .69 Hình 3.12 Gọi CFP-Tree qua giao diện Window Form 70 Hình 3.13 Xem kết xử lý 71 Hình 3.14 Tổ chức file để khai phá liệu .71 vii MỤC LỤC LỜI CẢM ƠN…………………………………………………………………… …I LỜI CAM ĐOAN……………………………………………………………… …III BẢNG KÝ HIỆU CHỮ VIẾT TẮT …………………………………………… IV DANH MỤC CÁC BẢNG……………………………………………………… IV DANH MỤC CÁC HÌNH………………………………………………………… V MỞ ĐẦU .1 CHƢƠNG 1: TỔNG QUAN VỀ KHÁI PHÁ DỮ LIỆU 1.1 Giới thiệu tổng quan khai phá liệu 1.2 Kiến trúc hệ thống khai phá liệu 1.2.1.Một số khái niệm khai phá liệu 1.2.2 Nhiệm vụ khai phá liệu 1.3 Một số phƣơng pháp khai phá liệu 10 1.3.1.Phƣơng pháp suy diễn / quy nạp 10 1.3.2.Phƣơng pháp ứng dụng K-láng giềng gần 11 1.3.3.Phƣơng pháp sử dụng định luật 12 1.3.4.Phƣơng pháp phát luật kết hợp .12 1.4 Những khó khăn khai phá liệu 14 1.5 Một số ứng dụng khai phá liệu .17 CHƢƠNG 2: KHAI PHÁ TẬP THƢỜNG XUYÊN 18 2.1 Bài toán khai phá tập mục thƣờng xuyên 18 2.1.1 Khái niệm Tập mục thƣờng xuyên 18 2.1.2 Tập mục thƣờng xuyên luật kết hợp .20 .21 2.1.4 Một số tính chất tập mục thƣờng xuyên .21 2.1.5 Hƣớng tiếp cận khai phá tập mục thƣờng xuyên 21 2.2 Một số thuật toán khai phá tập mục thƣờng xuyên 22 viii 2.2.1 Thuật toán Apriori .22 2.2.2 Thuật toán FP-Growth .27 CHƢƠNG 3: THUẬT TOÁN KHAI PHÁ TẬP THƢỜNG XUYÊN SỬ DỤNG CÂY TIỀN TỐ NÉN 38 3.1 Thuật toán khai phá tập thƣờng xuyên sử dụng cấu trúc liệu thuật toán CT-ITL 38 3.1.1 Cấu trúc liệu Item - TransLink .38 3.1.2.Cấu trúc liệu thuật toán CT-ITL .40 3.1.3 Thực bƣớc thuật toán khai phá tập thƣờng xuyên sử dụng cấu trúc CT-ITL 45 3.2 Thuật toán khai phá tập thƣờng xuyên sử dụng CFP – Tree .49 3.2.1 Cấu trúc CFP – Tree .49 3.2.2 Thuật toán khai phá tập thƣờng xuyên CFP – Tree .54 3.3 Thực bƣớc thuật toán 59 3.4 Thực nghiệm 68 3.4.1 Đặt vấn đề 68 3.4.2 Cài đặt chƣơng trình khai phá tập thƣờng xuyên Compressed FP – Tree (CFP) .68 3.4.3 So sánh kết với thuật toán khác: 72 KẾT LUẬN .73 TÀI LIỆU THAM KHẢO 74 MỞ ĐẦU Ngày nay, với phát triển công nghệ thông tin (CNTT) khả thu thập lƣu trữ thông tin hệ thống thơng tin tăng cách chóng mặt Bên cạnh đó, việc tin học hóa nhanh chóng nhiều lĩnh vực đời sống văn hóa xã hội, quản lý kinh tế, khoa học kỹ thuật nhƣ nhiều lĩnh vực khác tạo cho lƣợng liệu khổng lồ cần lƣu trữ Sự bùng nổ dẫn tới yêu cầu cấp thiết cần có kỹ thuật cơng cụ để tự động chuyển đổi lƣợng liệu khổng lồ thành tri thức có ích Từ đó, bên cạnh phƣơng pháp khai thác thông tin truyền thống xuất khuynh hƣớng kỹ thuật đời Khai phá liệu (Datamining) lĩnh vực quan trọng ngành CNTT Khai phá liệu (KPDL) đƣợc áp dụng cách rộng rãi nhiều lĩnh vực đời sống nhƣ : marketing, tài – ngân hàng, bảo hiểm, khoa học, y tế, an ninh, internet…Rất nhiều tổ chức công ty lớn giới áp dụng kỹ thuật KPDL vào hoạt động sản xuất kinh doanh thu đƣợc lợi ích to lớn Khai phá tập thƣờng xun đóng vai trị thiết yếu KPDL, tảng cho nhiệm vụ KPDL khác nhƣ khai phá luật kết hợp, phân lớp, phân cụm liệu, tìm kiếm mối tƣơng quan, mối quan hệ sở liệu Do vậy, khai phá tập thƣờng xuyên trở thành nhiệm vụ quan trọng KPDL.Có nhiều thuật tốn đƣợc đề xuất với mục đích khai phá tập thƣờng xuyên nhanh xác Tuy nhiên với sở liệu lớn cần cấu trúc liệu nhỏ gọn lƣu trữ nhớ hiệu khai phá tập thƣờng xuyên.Từ nhận định đƣợc gợi ý giáo viên hƣớng dẫn, định chọn đề tài: “Nghiên cứu phƣơng pháp tìm tập thƣờng xuyên sử dụng tiền tố nén” Nhiệm vụ luận văn nắm vững kiến thức tổng quan lĩnh vực KPDL, nghiên cứu số thuật toán khai phá tập thƣờng xuyên, nghiên cứu thuật toán khai phá tập thƣờng xuyên tiền tố nén lấy điển hình cấu trúc CFP (Compressed FP-Tree) cấu trúc CT-ITL (Compressed Tree - Item TransLink) sau cài đặt chƣơng trình thử nghiệm, đánh giá, so sánh hiệu thuật toán khai phá tập thƣờng xuyên CFP với thuật toán Apriori FP-Growth ( Những thuật tốn điển hình khai phá tập thƣờng xuyên) Mục tiêu luận văn: - Nắm vững kiến thức tổng quan lĩnh vực Khai phá liệu - Nghiên cứu số thuật toán khai phá tập thƣờng xuyên - Nghiên cứu thuật toán khai phá tập thƣờng xuyên sử dụng cấu trúc liệu thuật toán CT-ITL - Nghiên cứu thuật toán khai phá tập thƣờng xuyên FP nén sử dụng thuật tốn CT-PRO cài đặt chƣơng trình thực nghiệm đánh giá, so sánh hiệu thuật toán với số thuật toán khác khai phá tập thƣờng xuyên Phƣơng pháp nghiên cứu: - Kết hợp lý thuyết với đánh giá thực nghiệm - Sƣu tầm tổng hợp kết nghiên cứu tập mục thƣờng xuyên, Khai phá tập mục thƣờng xuyên từ nguồn sách báo khoa học, hội thảo chuyên ngành nƣớc nƣớc Một số kết nghiên cứu đạt đƣợc: - Tổng kết kiến thức khai phá liệu khai phá tập thƣờng xun Trình bày hai thuật tốn khai phá tập thƣờng xuyên: thuật toán Apriori, thuật tốn tăng trƣởng mẫu FP-Growth - Trình bày chi tiết hai thuật toán khai phá tập thƣờng xuyên tiền tố nén cấu trúc FP nén cấu trúc CT-ITL - Luận văn tiến hành cài đặt ba thuật toán Apriori, FP-Growth thuật toán CT-PRO sau đánh giá, so sánh tốc độ thực ba thuật toán nhiều CSDL lớn Ý nghĩa khoa học đề tài: - Làm rõ tầm quan trọng khai phá tập thƣờng xuyên - Để có nhìn tổng quan, chi tiết thuật toán thảo luận ý tƣởng tối ƣu hóa thuật tốn 60 - Gán id cho item thƣờng xuyên bảng GlobalItem (Minsnup=2, transaction=40%) Index Item Count 4 5 Bƣớc 2: Xây dựng CFP Cấu trúc nhánh tận bên trái ST 61 Xét giao dịch 1với MappedTrans = Xét giao dịch với MappedTrans = 62 Xét giao dịch với MappedTrans = Xét giao dịch với MappedTrans = 63 Xét giao dịch với MappedTrans = Cuối ta thu đƣợc CFP đầy đủ sau 64 Bƣớc 3: Khai phá tập thƣờng xuyên - Độ hỗ trợ =2 giao dịch (40%) - Thuật toán CT-PRO item có tần số nhỏ nhất: (Từ dƣới lên bảng GlobalItemTable) Chỉ mục 5: (index: 5, item: 7, tần số: 2) GlobalItemTable - Item khoản mục thƣờng xuyên gốc LocalFrequentPatternTree - Sau đó, CT-PRO tạo phép chiếu tất transaction kết thúc với index Projection đƣợc biểu diễn LocalCFP-Tree chứa locallyfrequentitems Có transaction kết thúc index 5: Tid Items 1245 1345 - Thăm node-link mục GlobalCFP-Tree xác định item thƣờng xuyên địa phƣơng màxảy liền với Có ba node mục đƣờng dẫn tới gốc cho nút đƣợc duyệt đếm số khác xảy với index Xác định tần số item địa phƣơng giao dịch kết thúc index 5: (2), (1), (1) (2) Với minsup =  mục 1,4 (item id: 4, 5) locally frequent, chúng đƣợc ghi vào LocalItemTable đƣợc gán số id LocalItemTable Tid Item Count 2 Chúng trở thành gốc LocalFrequentPatternTree  gốc hình thành tập item thƣờng xun với chiều dài hai 65 Tất tập thƣờng xuyên chứa item đƣợc đƣa cách duyệt LocalFrequentPatternTree: (2), 74 (2), 75 (2), 754 (2) Chỉ mục 4: (index: 4, item: 5, tần số: 3) GlobalItemTable Có giao dịch kết thúc index 4: Tid Items 1245 2 34 1345 Xác định tần số item local giao dịch kết thúc index 4: (3), (2) (2) Với minsup =  số 1,2,3 (item id: 4, 3, 1) locally frequent, chúng đƣợc ghi vào LocalItemTable đƣợc gán số id LocalItemTable Tid Item Count 4 3 Chúng trở thành gốc LocalFrequentPatternTree 66 Tất tập thƣờng xuyên chứa item đƣợc đƣa cách duyệt LocalFrequentPatternTree: (3), 54 (3), 53 (2), 534 (2), 51 (2), 514 (2) Chỉ mục 3: (index: 3, item: 1, tần số: 4) GlobalItemTable Có giao dịch kết thúc index 3: Tid Items 1234 1345 123 123 Xác định tần số item local giao dịch kết thúc index 3: (4), (3) Với minsup =  số 1,2 (item id: 4, 3) locally frequent, chúng đƣợc ghi vào LocalItemTable đƣợc gán số id LocalItemTable Tid Item Count 4 3 Chúng trở thành gốc LocalFrequentPatternTree 67  Tất tập thƣờng xuyên chứa item đƣợc đƣa cách duyệt LocalFrequentPatternTree: (4), 14 (4), 13 (3), 134 (3) Chỉ mục 2: (index: 2, item: 3, tần số: 4) GlobalItemTable + Có transaction kết thúc index 2: Tid Items 1245 1234 123 123  Xác định tần số item local transaction kết thúc index 2: (4)  Với minsup =  số (item id: 4) locally frequent, chúng đƣợc ghi vào LocalItemTable đƣợc gán số id LocalItemTable Tid Item Count 4 Chúng trở thành gốc LocalFrequentPatternTree 68 Tất tập thƣờng xuyên chứa item đƣợc đƣa cách duyệt LocalFrequentPatternTree: (4), 34 (4) 5.Chỉ mục 1:Cuối trình khai phá đạt đến gốc cây, kết là: (5) 3.4 Thực nghiệm 3.4.1 Đặt vấn đề Nhƣ luận văn trình bày phần trên, có nhiều thuật tốn đƣợc đề xuất với mục đích khai phá tập thƣờngxuyên nhanh xác Tuy nhiên với CSDL lớn cần cấu trúc liệu nhỏ gọn lƣu trữ nhớ hiệu khai phá tập thƣờng xuyên Do vậy, Luận văn tiến hành cài đặt thử nghiệm, đánh giá tốc độ ba thuật toán Apriori, FP-Growth thuật toán CT-PRO khai phá tập thƣờng xuyên FP nén sử dụng CSDL giao dịch T40I10D100K chứa 100.000 giao dịch, Mushroom chứa 8.124 giao dịch tải từ trang [https://archive.ics.uci.edu/ml/machine-learning-databases/00238/] CSDL bán hàng chứa 300 giao dịch mua hàng siêu thị 3.4.2 Cài đặt chƣơng trình khai phá tập thƣờng xuyên Compressed FP – Tree (CFP) Chƣơng trình viết C++ đƣợc biên dịch VC6 (Visual C++ 6.0, gói phần mềm Visual Studio 6.0) Hình 3.10 Biên dịch CFP_Tree VC6 69 Biên dịch Visual C++ 6.0 tạo file CFP_Tree.exe Hoạt động dạng console:  Đầu vào: tham số dòng lệnh - Tham số file sở liệu nguồn - Tham số thứ hai ngƣỡng độ hỗ trợ tối thiểu, tính theo % - Tham số cuối file chứa kết xử lý  Sau nhận đƣợc tham số: - Chƣơng trình kiểm tra tính hợp lệ tham số - Đọc liệu từ file nguồn - Tính độ hỗ trợ tuyệt đối từ % độ hỗ trợ tối thiểu - Dựng CFP - Khai phá tập thƣờng xuyên - Xuất kết file Minh họa chạy chƣơng trình với tham số dịng lệnh: - Đầu vào: Mushroom.inp - Độ hộ trợ tối thiểu: 10% - Đầu ra: Mushroom.out Hình 3.11 Sử dụng CFP-Tree qua tham số dòng lệnh 70 Để thuận lợi cho việc giao tiếp với ngƣời dùng, Project CFP viết C# đƣợc tạo với giao diện window form, biên dịch Visual Studio 2013 Giao diện chƣơng trình chạy CFP.exe: Hình 3.12 Gọi CFP-Tree qua giao diện Window Form Cho phép chọn file đầu vào (có phần mở rộng inp) nằm thƣ mụcvà tự động tạo file đầu (cùng tên với file đầu vào, có phần mở rộng out) Sau nhập mức độ % hỗ trợ tối thiểu, ngƣời dùng click nút “xử lý liệu” để bắt đầu tính tốn Chƣơng trình gọi CFP_Tree, truyền tham số dòng lệnh để xử đƣa kết lên giao diện Ngồi chƣơng trình cho phép ngƣời dùng xem file đầu vào file kết xử lý (sử dụng công cụ EmEditor) 71 Hình 3.13 Xem kết xử lý File CFP.exe, CFP_Tree.exe Wait.exe phải đặt thƣ mục Hình 3.14 Tổ chức file để khai phá liệu 72 3.4.3 So sánh kết với thuật toán khác Luận văn tiến hành cài đặt thử nghiệm, đánh giá tốc độ ba thuật toán Apriori, FP-Growth thuật toán CT-PRO khai phá tập thƣờng xuyên FP nén sử dụng CSDL giao dịch T40I10D100K chứa 100.000 giao dịch, Mushroom chứa 8.124 giao dịch tải từ trang [https://archive.ics.uci.edu/ml/machine-learningdatabases/00238/] CSDL bán hàng chứa 300 giao dịch mua hàng siêu thị Số lƣợng Cơ sở liệu Minsup Thuật toán tập Thời gian Thời gian thƣờng dựng khai phá xuyên Bán hàng Mushroom 3% (9/300) 0.5% (40/8.124) CT-PRO 64 0.063(s)

Ngày đăng: 24/02/2021, 21:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w