Nghiên cứu khai phá luật kết hợp sử dụng SQL”

72 354 1
Nghiên cứu khai phá luật kết hợp sử dụng SQL”

Đ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

MỤC LỤC DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT Ký hiệu Diễn giải Ý nghĩa CSDL Cơ sở liệu DB Database Cơ sở liệu KDD Knowledge Discovery in Database Khai phá tri thức sở liệu Conf Confidence Độ tin cậy minconf Minimum Confidence Độ tin cậy tối thiểu Minsup Minimum Support Độ hỗ trợ tối thiểu Supp Support Độ hỗ trợ TDI Transaction Indentification Đinh danh giao tác KPDL Khai phá liệu DANH MỤC CÁC HÌNH DANH MỤC CÁC BẢNG LỜI CAM ĐOAN Luận văn thạc sỹ em nghiên cứu thực hướng dẫn Thầy giáo TS Phan Anh Phong Với mục đích học tập, nghiên cứu để nâng cao kiến thức trình độ chuyên môn nên em làm luận văn cách nghiêm túc hoàn toàn trung thực Để hoàn thành luận văn này, tài liệu tham khảo liệt kê, em cam đoan không chép toàn văn công trình thiết kế tốt nghiệp người khác Hà nội, tháng 10 năm 2015 Học viên Phan Văn Nhật LỜI CẢM ƠN Trong suốt thời gian học tập, hoàn thành luận văn tốt nghiệp em may mắn thầy cô bảo, dìu dắt gia đình, bạn bè quan tâm, động viên Em xin bày tỏ lòng biết ơn chân thành tới thầy cô Viện Công nghệ thông tin Truyền thông trường Đại học Bách khoa Hà Nội truyền đạt cho em nguồn kiến thức vô quý báu cách học tập nghiên cứu khoa học Cho phép em gửi lời cảm ơn sâu sắc tới TS Phan Anh Phong, người thầy nhiệt tình truyền đạt, bảo giúp sức cho em trình làm luận văn tốt nghiệp Đó động lực, lời khuyên kho báu tri thức để em sẵn sàng tỉnh thức vận dụng thời gian làm luận văn tốt nghiệp Với tất lòng mình, em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Huỳnh Quyết Thắng tạo điều kiện thuận lợi cho em định hướng nghiên cứu Em xin gửi lời cảm ơn tới thầy cô Bộ môn hệ thống thông tin, Viện Công nghệ thông tin Truyền thông trường Đại học Bách khoa Hà Nội giúp đỡ em qua trình thực luận văn Cuối cùng, em xin cảm ơn gia đình, bạn bè tập thể lớp 13BCNTT-VINH, người bên khích lệ động viên em nhiều Trong trình làm luận văn, số lý thời gian kiến thức hạn hẹp nên không tránh khỏi sai sót đề tài Em mong nhận góp ý quý thầy giáo, cô giáo bạn Em xin chân thành cảm ơn! Hà Nội, tháng 10 năm 2015 Học viên Phan Văn Nhật Nghiên cứu khai phá luật kết hợp sử dụng SQL MỞ ĐẦU Có thể nói rằng, ngày công nghệ thông tin (CNTT) trở thành phần thiếu sống xã hội đại CNTT ứng dụng sâu rộng nhiều lĩnh vực khác hoạt động thường ngày Giáo dục, Y tế, Khoa học, Xây dựng, Kinh doanh,… Việc sử dụng CNTT để lưu trữ liệu khai thác thông tin phục vụ hoạt động tác nghiệp phát triển từ năm 60 kỷ trước Tuy nhiên, bị thiếu thông tin hữu ích cho dù liệu khổng lồ, kỹ thuật khai thác Gần đây, nhiều nghiên cứu ra, việc nắm bắt tốt thông tin coi sở quan trọng hoạt động sản xuất, kinh doanh Cá nhân hay tổ chức thu thập hiểu thông tin hành động dựa thông tin kết xuất từ thông tin có đạt thành công hoạt động Chính thế, việc tạo thông tin, tổ chức lưu trữ khai thác chúng ngày trở nên quan trọng Bên cạnh thiết bị thu thập liệu tự động tương đối phát triển tạo kho liệu khổng lồ Với phát triển mạnh mẽ công nghệ điện tử tạo nhớ có dung lượng lớn, xử lý tốc độ cao với hệ thống mạng viễn thông, người ta xây dựng hệ thống thông tin nhằm tự động hóa hoạt động kinh doanh Điều tạo nguồn liệu tăng lên không ngừng sống như: thương mại, quản lý khoa học làm nảy sinh thúc đẩy phát triển kỹ thuật thu thập, lưu trữ, phân tích khai phá liệu mà đòi hỏi cách xử lý thông minh hơn, hiệu Từ đặt cho các nhà quản lý vấn đề, làm thể để xử lý khối lượng thông tin cực lớn phát thông tin hữu ích để tác động lại trình sản xuất, kinh doanh mình… tri thức Để làm điều người ta sử dụng kỹ thuật cho phép ta khai thác tri thức hữu ích từ CSDL lớn gọi kĩ thuật khai phá liệu (Data Mining - DM) Nói cách nôm na khai phá liệu trình trích xuất thông tin có giá trị tiềm ẩn bên lượng lớn liệu Hiện nay, thuật ngữ Học viên: Phan Văn Nhật Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL khai phá liệu, người ta dùng số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ CSDL, phân tích liệu/mẫu, nạo vét liệu… Đã có nhiều giải pháp đề xuất ứng dụng khai phá liệu, nhiên thực tế cho thấy trình gặp khó khăn thách thức Khai phá luật kết hợp tiếp cận khai phá liệu nhằm phát luật kết hợp thành phần liệu sở liệu Mục đích trình tìm tri thức dạng luật kết xuất từ liệu để sử dụng dự báo, trợ giúp sản xuất kinh doanh nghiên cứu khoa học… Khai phá luật kết hợp đề xuất lần đầu vào năm 1993 phát triển mạnh vài thập kỷ gần Những nghiên cứu khai phá luật kết hợp tập trung xây dựng thuật toán để khai phá luật kết hợp cách hiệu cải tiến, phát triển thuật toán có phát triển ứng dụng Một thuật toán sử dụng nhiều khai phá luật kết hợp thuật toán Apriori mở rộng thuật toán [4] Như biết SQL ngôn ngữ sở liệu, có khả mạnh truy vấn liệu, thế, gần có nhiều nghiên cứu khai phá luật kết hợp cách xây dựng thuật toán Apriori sử dụng SQL Kỹ thuật không khai thác sức mạnh SQL, ngôn ngữ tích hợp hầu hết hệ quản trị sở liệu, mà cho thấy tính hiệu tốc độ xử lý thực thi Từ lý chọn “Nghiên cứu khai phá luật kết hợp sử dụng SQL” làm đề tài cho luận văn Thạc sỹ Mục tiêu đề tài: + Nghiên cứu tổng quan phát tri thức, khai phá liệu ý nghĩa chúng + Nghiên cứu tìm hiểu khai phá luật kết hợp phương pháp tiếp cận liên quan Học viên: Phan Văn Nhật Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL + Đặc biệt sâu vào nghiên cứu phương pháp khai phá luật kết hợp sử dụng SQL + Xây dựng, triển khai mô hình thực nghiệm Ngoài phần mở đầu, kết luận tài liệu tham khảo, nội dung luận văn “Nghiên cứu khai phá luật kết hợp sử dụng SQL” tổ chức thành chương Chương Tổng quan phát tri thức khai phá liệu Phát tri thức khai phá liệu; trình khám phá tri thức từ CSDL; kĩ thuật, phương pháp khai phá liệu, nhiệm vụ số ứng dụng khai phá liệu Chương Khai phá luật kết hợp Giới thiệu số khái niệm luật kết hợp, định nghĩa luật kết hợp, tập mục thường xuyên, độ tin cậy, độ hỗ trợ số tính chất liên quan tập mục thường xuyên luật kết hợp ví dụ minh họa tương ứng Chương Khai phá luật kết hợp sử dụng SQL Nội dung bao gồm: Nghiên cứu thuật toán Apriori phương pháp tiếp cận, Tạo tập ứng viên, Tính toán độ hỗ trợ tập mục thường xuyên kỹ thuật truy vấn SQL như: kỹ thuật kết nối k-nhánh; kỹ thuật gom nhóm; kỹ thuật sử dụng truy vấn lồng, đánh giá ưu nhược điểm kỹ thuật này, Sinh luật Chương Thử nghiệm bàn luận Chương trình bày bước triển khai thử nghiệm Demo việc khai phá luật kết hợp với liệu khách hàng từ sở liệu ngân hàng Sau bàn luận kỹ thuật tính toán sử dụng SQL khai phá luật kết hợp liệu thử nghiệm Học viên: Phan Văn Nhật Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL CHƯƠNG TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Phát tri thức Phát tri thức sở liệu (Knowledge Discovery in DatabasesKDD) trình tìm kiếm tri thức tiềm ẩn, trước, có ích khối sở liệu (CSDL) Thực chất trình tìm kiếm thông tin có sở liệu bị che dấu khối liệu Nhiều người coi khai phá liệu phát tri thức sở liệu Tuy nhiên thực tế khai phá liệu bước thiết yếu trình phát tri thức sở liệu 1.2 Quá trình phát tri thức từ sở liệu Phát tri thức từ CSDL trình sử dụng phương pháp, công cụ tin học tối ưu nhằm đạt mục đích định Quá trình phát tri thức từ CSDL chia thành bước sau:  Làm liệu (Data Cleaning): Loại bỏ liệu nhiễu, liệu không thích hợp  Tích hợp liệu (Data Integration): Tích hợp liệu từ nguồn khác  Chọn liệu (Data selectinon): Chọn liệu liên quan trực tiếp đến nhiệm vụ;  Chuyển đổi liệu (Data Transformation) chuyển liệu dạng phù hợp cho việc khai phá  Khai phá liệu (Data Mining) kỹ thuật áp dụng để trích xuất thông tin có ích mẫu điển hình liệu  Đánh giá mẫu (Pattern Evaluation) Đánh giá mẫu tri thức thu  Trình diễn liệu (Knowledge Presentation): Biểu diễn tri thức khai phá Học viên: Phan Văn Nhật 10 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Với thuộc tính STT TÊN THUỘC TÍNH KIỂU DỮ LIỆU VÍ DỤ MÔ TẢ age Nvarchar(20) 0_34, 35_51, 52_max Tuổi khách hàng sex Nvarchar(20) FEMALE, MALE Giới tính Nvarchar(20) INNER_CITY, TOWN, Nơi cư trú region RURAL, SUBURBAN income Nvarchar(20) 0_24386, 24387_43758, 43759_max married Nvarchar(20) NO, YES Tình trạng hôn nhân? children Nvarchar(20) 0, 1, 2, Số car Nvarchar(20) NO, YES Có xe hơi? save_act Nvarchar(20) NO, YES Có tài khoản tiết kiệm không? current_act Nvarchar(20) NO, YES Hiện có tài khoản không? 10 mortgage Nvarchar(20) NO, YES Có chấp không? 11 pep Nvarchar(20) NO, YES Có kế hoạch trả nợ không? Thu nhập Trước tiên từ Bảng 4.0 chuyển bảng có dạng cột, dạng (Tid, Item), đó: - Tid ID giao dịch có nhiều item cho ID giao dịch định, giao dịch ID khách hàng cụ thể khách hàng có nhiều thông tin khác - Item giá trị thuộc tính khách hàng (xem Bảng 4.1) Học viên: Phan Văn Nhật 58 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Chú ý: Dữ liệu phân tích từ sở liệu mẫu ta đưa bảng giao dịch Transactions Khi chuyển thành liệu bảng giao dịch ta quan tâm đến giá trị thuộc tính, để giá trị có ngữ nghĩa nên ta gán tên thuộc tính giá trị thuộc tính kèm với cấu trúc Tên_thuộc_tính=Giá_trị Bảng 4.1.Bảng Transactions 4.1.3 Triển khai tìm tập mục thường xuyên Đầu tiên giả định bảng giao dịch Transactions có hai cột: Tid item Cột chứa Id giao dịch, cột chứa item có giao dịch, suy có item giao dịch có nhiêu dòng chứa Id giao dịch Giả sử cho độ hỗ trợ tối thiểu minsup = 30%, tương ứng với 180, có 600 giao dịch Đầu tiên ta khởi tạo C1 bảng 4.1 sau tính F1 (tập mục thường xuyên 1-itemset) câu lệnh SQL sau: Học viên: Phan Văn Nhật 59 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL • Sử dụng kỹ thuật nối k-nhánh INSERT INTO F1 SELECT item, COUNT(*) FROM Transactions GROUP BY item HAVING COUNT(*)>minsup; • Sử dụng kỹ thuật Gom nhóm INSERT INTO F1 SELECT h.item1, COUNT(*) as sup FROM ( Select C1.item1, COUNT(*) as sup From Transactions D , C1 Where D.Item = c1.item1 group by C1.item1, D.Tid having COUNT(*) = ) As h Group by item1 Having COUNT(*) >=@sup ORDER BY sup desc Tập mục thường xuyên F1 gồm cột, cột item cột độ hỗ trợ thể bảng 4.2 Học viên: Phan Văn Nhật 60 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Bảng 4.2 Tập mục thường xuyên F1 Tiếp theo, thực phép nối F1 với F1 ta tập ứng cử viên C Bảng C2 lưu trữ với cột tương ứng item • Câu lệnh SQL để tạo C2 là: INSERT INTO C2 SELECT A.item1, B.item2 FROM F1 A, F1 B WHERE A.item=@sup ; • Sử dụng kỹ thuật Gom nhóm INSERT INTO F2 SELECT h.item1, h.item2, COUNT(*) as sup FROM ( Select C2.item1, C2.item2, COUNT(*) as sup From Transactions D , C2 Where D.Item = c2.item1 or D.Item = c2.item2 group by C2.item1, C2.item2, D.Tid having COUNT(*) = ) As h Group by item1, item2 Having COUNT(*) >=@sup ORDER BY sup desc Học viên: Phan Văn Nhật 63 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Bảng 4.4 Tập mục thường xuyên F2 Để tạo C3 tập ứng cử viên có item ta kết nối F2 với F2 lưu vào bảng với ba cột (tương ứng item) thực thi câu lệnh SQL sau: INSERT INTO C3 SELECT i1.item1,i1.item2,i2.item2 FROM F2 i1, F2 i2 WHERE i1.item1 = i2.item1 and i1.item2=@sup ; • Sử dụng kỹ thuật gom nhóm INSERT INTO F3 SELECT h.item1, h.item2,h.item3, COUNT(*) as sup FROM ( Select C3.item1, C3.item2,c3.item3, COUNT(*) as sup From Transactions D , C3 Where D.Item = c3.item1 or D.Item = c3.item2 or D.Item = c3.item3 group by C3.item1, C3.item2,C3.item3, D.Tid having COUNT(*) = ) As h Group by item1, item2, item3 Having COUNT(*) >=@sup ORDER BY sup desc Bảng 4.6 Tập mục thường xuyên F3 Học viên: Phan Văn Nhật 66 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Tại đây, sau thực phép nối F với F3 ta thu tập ứng cử viên C4=Ø Nên trình tìm tập mục thường xuyên hoàn tất kết thu sau: Bảng 4.7 Bảng FrequentSet Học viên: Phan Văn Nhật 67 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL 4.1.4 Triển khai tìm luật kết hợp từ tập mục thường xuyên Với sở liệu đầu vào hàng gồm có 600 giao dịch (TID khác biểu thị giao dịch khác nhau) Mỗi giao dịch có 11 thuộc tính sử dụng kỹ thuật k-nhánh gom nhóm tính bẩng tập mục thường xuyên Bảng 4.6 Tập mục thường xuyên F3 trên, để tính toán luật kết từ tập mục thương xuyên ta xây dựng chương trình tính toán luật kết hợp từ bảng tập mục thương xuyên ta co bảng luật kết hợp sau: Bảng 4.8 Bảng luật kết hợp Học viên: Phan Văn Nhật 68 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL 4.2 Bàn luận Trong chương mô tả cách tiếp cận khác để tạo tập ứng cử viên tính toán độ hỗ trợ tập mục thường xuyên Mỗi kỹ thuật có ưu điểm riêng nhược điểm riêng Trong phần thảo luận cụ thể ưu điểm nhược điểm phương pháp Cách đơn giản tính toán độ hỗ trợ tập mục thường xuyên phương pháp tiếp cận sử dụng kỹ thuật kết nối k-nhánh Ở phương pháp bước k, thực ghép nối k bảng đầu vào với tính toán độ hỗ trợ tất tập ứng cử viên thường xuyên có độ dài k Đối với liệu có kích thước nhỏ, k có giá trị thấp, phương pháp hoạt động tốt, tập liệu lớn cho giá trị hỗ trợ thấp dẫn đến số lượng đáng kể bước k tự tham gia tập liệu đầu vào cần phải thực lần k tốn thời gian Để khắc phục vấn đề kỹ thuật nối k-nhánh tìm hiểu phương pháp tiếp cận gom nhóm Tuy nhiên, với phương pháp có số ưu điểm nhược điểm Cách tiếp cận tránh vấn đề số chiều tham gia Học viên: Phan Văn Nhật 69 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL kết nối số lượng ghi Trong thực tế việc gom nhóm đươc thực theo bước: bước nhóm Item bảng liệu đầu vào, bước tính toán độ hỗ trợ Các ví dụ bảng liệu đầu vào với đặc tính khác cho kết việc thực theo phương pháp gom nhóm tốn nhiều thời gian phương pháp tiếp cận sử dụng kỹ thuật kết nối k-nhánh Cách tiếp cận sử dụng truy vấn lồng để tính toán độ hỗ trợ tập mục thường xuyên Trong bước k, truy vấn (Q k-1) tạo để tìm tập mục thường xuyên có độ dài k-1 Các truy vấn Q k-1, gọi truy vấn Qk-2 Điều tiếp tục, truy vấn Q thực mà trả tất tập thường xuyên 1-itemsets Các kết thu từ Q1 truy vấn, xem trực tiếp cho truy vấn Q2 cho hệ tập thường xuyên có chiều dài Quá trình tiếp tục truy vấn cuối Qk-1 thực thi Vì kết từ truy vấn bỏ qua, bước k, k-1 truy vấn phải thực thi Phương pháp sử dụng SQL với cách tiếp cận để tính toán đỗ hộ trợ xem có hiệu suất tốt Tuy nhiên qua ba cách tiếp cận phương pháp tính toán độ hỗ trợ kết nối k-nhánh tốt KẾT LUẬN Học viên: Phan Văn Nhật 70 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Luận văn trình bày tổng quan khai phá liệu đặc trưng lĩnh vực này, bao gồm vấn đề nhu cầu khai phá tri thức, phương pháp khai phá liệu tiêu biểu Sau đó, luận văn tập trung nghiên cứu phát luật kết hợp, phương pháp khai phá tri thức quan trọng có nhiều ý nghĩa khoa học thực tiễn Về mặt lý thuyết, khai phá tri thức bao gồm bước: Hình thành, xác định định nghĩa toán; thu thập tiền xử lý liệu; khai phá liệu, rút tri thức; sử dụng tri thức phát Về thuật toán khai phá tri thức, luận văn trình bày thuật toán Apriori triển khai thuật toán Apriori khai phá luật kết hợp SQL, sử dụng phương pháp tính toán hỗ trợ kỹ thuật khác thực phát luật có giá trị CSDL quan hệ Về triển khai thực hiện, luận văn cài đặt thử nghiệm khai phá luật kết hợp sử dụng SQL sở liệu ngân hàng với 600 giao dịch lấy từ Internet, có mô tả chi tiết trình thực thi thảo luận ưu điểm, nhược điểm kỹ thuật tính toán độ hỗ trợ tập mục thường xuyên Phát luật kết hợp kỹ thuật phát tri thức từ liệu lớn lớn nên ý nghĩa độ tin cậy luật cao tập liệu lớn Tuy nhiên hạn chế thời gian luận văn đáp ứng đòi hỏi Số lượng luật kết hợp nói chung lớn không tránh khỏi có số luật kết hợp dư thừa Cho đến có nhiều nghiên cứu đề xuất giải pháp nhằm hạn chế dư thừa luật nói chưa có giải pháp triệt để chưa có phần mềm hỗ trợ tốt vấn đề Người ta khắc phục số lượng luật kết hợp cách tăng độ hỗ trợ tối thiểu độ tin cậy tối tiểu TÀI LIỆU THAM KHẢO Học viên: Phan Văn Nhật 71 Luận văn Thạc sĩ kỹ thuật Nghiên cứu khai phá luật kết hợp sử dụng SQL Tiếng Việt [1] Nguyễn Thị Biên, Khai phá luật kết hợp sở liệu đa phương tiện, Trường Đại học Công nghệ, Luận văn thạc sĩ Công nghệ thông tin, 2012 [2] Nguyễn Nhật Quang, Khai phá liệu, Trường Đại học Bách Khoa Hà Nội Viện Công nghệ Thông tin Truyền thông, tập giảng, 2014 Tiếng Anh: [3] A Alashqur, Mining association rules: a database perspective, IJCSNS International Journal of Computer Science and Network Security, 2008 [4] Rakesh Agrawal Tomasz Imielinski, and Arun Swami, Mining association rules between sets of item in large database, In proc of the ACM SIGMOD Conference on Management of Data, Washington, DC, 1993 [5] Agrawal, R and R Srikant Fast Algorithms for mining association rules in 20th Int'l Conference on Very Large Databases (VLDB) 1994 [6] Mohamed A Shouman, A Comparative Study of SQL Based Approaches for MiningAssociation Rules over Relational DBMS, 2012 [7] P Mishra, Pereformance Evaluation and Analysis of SQL Based Approaches for association rule mining, The University of Texas at arlington, 2003 [8] S.Shankar, and T.Purusothaman, Utility sentient frequent itemset mining and association rule mining: A literature survey and comparative study, International Journal of Soft Computing Applications, ISSN: 1453-2277 Issue 4, pp.81-95, 2009 [9] http://www.cs.waikato.ac.nz/ [10] http://www.bis.net.vn/forums/t/389.aspx [11] http://www.bis.net.vn/forums/t/384.aspx Học viên: Phan Văn Nhật 72 Luận văn Thạc sĩ kỹ thuật

Ngày đăng: 01/07/2016, 17:52

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan