Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
2,25 MB
Nội dung
MỤC LỤC Chương Mở đầu 12 1.1 Khai phá liệu 12 1.2 Quá trình khai phá tri thức sở liệu 12 1.3 Các kỹ thuật tiếp cận khai phá liệu 14 1.4 Kiến trúc hệ thống khai phá liệu 15 1.5 Ứng dụng khai phá liệu 17 1.6 Hướng tiếp cận luận văn 17 1.6.1 Ứng dụng quản lý chăm sóc khách hàng 18 1.6.2 Hướng nghiên cứu đề tài 19 Chương Giới thiệu khai phá mẫu phổ biến, luật kết hợp 21 2.1 Khái niệm khai phá mẫu phổ biến 21 2.1.1 Mẫu phổ biến 21 2.1.2 Ý nghĩa khai phá mẫu phổ biến 21 2.1.3 Bài toán thực tế 22 2.2 Tổng quan luật kết hợp 24 2.2.1 Khái niệm luật kết hợp 24 2.2.2 Giải thuật Apriori để sinh luật kết hợp 27 2.2.3 Mơ tả thuật tốn Apriori dạng giả mã 28 2.2.4 Ví dụ minh họa thuật toán Apriori 30 2.2.5 Một số kỹ thuật cải tiến thuật toán Apriori 34 Chương Lưu trữ liệu lớn dựa Oracle DBMS 38 3.1 Giới thiệu hệ quản trị CSDL Oracle 38 3.2 Phương pháp tiếp cận kiến trúc 41 3.3 Giới hạn CSDL Oracle 44 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương Phân tích Luật kết hợp dựa Cơ Sở Dữ Liệu Oracle 45 4.1 Đặc tả toán 45 4.2 Sinh tập ứng viên 46 4.2.1 Thực phép nối tập mục phổ biển Fk 46 4.2.2 Thực bước tỉa loại bỏ ứng viên lợi 47 4.3 Tính độ hỗ trợ 49 4.4 Sinh luật kết hợp từ tập mục phổ biến 50 4.4.1 Kết hợp tập mục phổ biến có độ dài từ đến k 50 4.4.2 Sinh tập bảng tập mục phổ biến FISETS 51 4.4.3 Sinh luật kết hợp 52 4.5 Ví dụ minh họa 53 Chương 5.1 Ứng dụng vào phân tích liệu viễn thơng Beeline 56 Mô tả chuyển đổi liệu 56 5.1.1 Mô tả bảng liệu 56 5.1.2 Các bước chuyển đổi liệu 56 5.2 Xây dựng hệ thống thực nghiệm 58 5.2.1 Sinh tập ứng viên tính độ hỗ trợ 59 5.2.2 Sinh luật kết hợp từ tập mục phổ biến 60 5.3 Phân tích liệu kết thực nghiệm 61 5.3.1 Mật độ phân bố luật kết hợp độ hỗ trợ độ tin cậy 61 5.3.2 Xác định mối quan hệ dịch vụ gia tăng 62 Kết luận 64 Tài liệu tham khảo 65 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH SÁCH HÌNH VẼ Hình 1.1: Khai phá liệu bước trình khai phá tri thức 13 Hình 1.2: Kiến trúc hệ thống khai phá liệu 16 Hình 2.1: Cơ sở liệu giao dịch D 26 Hình 2.2: Tần xuất xuất độ hỗ trợ tập mục phổ biến 26 Hình 2.3: CSDL sử dụng minh hoạ thuật tốn Apriori 30 Hình 2.4: Duyệt CSDL tìm tập mục phổ biến 1-Itemset (F1) 31 Hình 2.5: Duyệt CSDL tìm tập mục phổ biến 2-Itemset (F2) 31 Hình 2.6: Duyệt CSDL tìm tập mục phổ biến 3-Itemset (F3) 32 Hình 2.7: Kết thực thuật toán Aprori cho CSDL D 33 Hình 2.8: Bảng băm H2, với tập mục ứng viên 2-item 34 Hình 2.9: Khai thác cách phân hoạch liệu 36 Hình 3.1: Bảng liệu quan hệ lưu giữ số lượng tập mục 43 Hình 3.3: Giới hạn CSDL Oracle 44 Hình 4.1: Cách chuyển đổi cấu trúc bảng liệu giao dịch 45 Hình 4.2: Thực phép nối tập mục phổ biến Fk 46 Hình 4.3: Thực bước tỉa loại bỏ ứng viên khơng có lợi 47 Hình 4.4: Sinh tỉa tập ứng viên có độ dài k 48 Hình 4.6: Tính độ hỗ trợ theo phương pháp K-way 49 Hình 4.7: Mơ hình tính độ hỗ trợ phương pháp nối K-way 50 Hình 4.8: Kết hợp tập mục phổ biến độ dài từ đến k 50 Hình 4.9: Liệt kê tổ hợp chập k n phần tử 52 Hình 4.10: Sinh tập luật kết hợp mạnh từ tập mục phổ biến 52 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH SÁCH BẢNG BIỂU Hình 2.1: Cấu trúc thuộc tính CDR 72 Hình 2.2: Bảng liệu ACCOUNT_SUBSCRIBER 73 Hình 2.3: Bảng liệu CDR_BALANCE_FULL 73 Hình 2.4: Bảng liệu OFFER_VALUES 73 Hình 2.5: Bảng liệu AUT_TEMP 74 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC Phụ lục A: Danh sách thủ tục, hàm ứng dụng 67 Phụ lục B: Danh sách bảng liệu 71 Phụ lục C: Kết phát luật kết hợp 74 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC CÁC CHỮ VIẾT TẮT CSDL CNTT AI CDR KPDL KDD DSS DBMS RDBMS UDFs Cơ sở liệu Công nghệ thông tin Artificial Intelligence (Trí tuệ nhân tạo) Call Detail Records Khai phá liệu Knowledge Discovery in Databases (Phát tri thức sở liệu) Decision Suport System (Hệ trợ giúp định) Hệ quản trị CSDL Hệ quản trị CSDL quan hệ User-Defined Functions (Hàm định nghĩa trực tiếp người dùng) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỞ ĐẦU Ngành công nghiệp viễn thông lưu trữ khối lượng liệu khổng lồ, bao gồm chi tiết gọi, thơng tin cảnh báo trình trạng hệ thống mạng viễn thông thông tin liệu khách hàng Ứng dụng kỹ thuật khai phá liệu (data mining) để phát quy luật ẩn chứa khối liệu khổng lồ mang lại cho doanh nghiệp viễn thông nhiều hội để phát triển ứng dụng mang tính thực tiễn cao Đây hướng phù hợp sớm áp dụng phổ biến nhiều công ty viễn thông lớn giới Với phát triển mạnh mẽ khoa học công nghệ với lớn mạnh thị trường viễn thông Việt Nam, đến có 08 doanh nghiệp cấp phép hoạt động dịch vụ điện thoại di động Tính đến hết tháng 8/2012, tổng số thuê bao điện thoại di động Việt Nam lên đến 140 triệu thuê bao, đạt mật độ 160 máy/100 dân Với tỷ lệ điện thoại cao gấp 1,6 lần dân số, thị trường viễn thông di động Việt Nam xem bước vào giai đoạn bão hoà Tốc độ tăng trưởng thuê bao dự báo rơi từ mức 40-50%/năm xuống 5-15%/năm 4-5 năm tới Ở Việt Nam, nhu cầu dịch vụ viễn thông ngày gia tăng mở rộng với nhiều dịch vụ tiện ích, bao gồm internet băng rộng, trở thành truy cập phổ cập, thay nhu cầu viễn thơng cố định Chính vậy, nhu cầu đặt cho nhà cung cấp dịch vụ viễn thông đối mặt với áp lực cạnh tranh khốc liệt từ nhà cung cấp dịch vụ nước đến tập đồn viễn thơng đa quốc gia Đối với ngành viễn thông, thị phần khách hàng hai yếu tố quan trọng, định thành cơng doanh nghiệp Chính việc nắm nhu cầu sở thích khách hàng xu hướng biến động thị trường lợi to lớn cho doanh nghiệp cạnh tranh mở rộng thị trường Ngày nay, công ty viễn thông không ngừng nâng cao, cải tiến dịch vụ tìm kiếm dich vụ để đáp ứng nhu cầu ngày lớn khách hàng Đòi hỏi nhà mạng cần phải có định hướng, chiến lược kinh doanh hợp lý để đứng 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vững môi trường viễn thông Việt Nam Khai phá liệu kỹ thuật hữu ích để giải vấn đề Vấn đề đặt ra: Bài toán đặt cho nhà mạng di động thu thập tri thức từ kho liệu khách hàng khổng lồ Phân loại liệu cước di động phương pháp giúp cho nhà mạng di động phân loại nhóm đối tượng khách hàng khác nhau, từ đưa chiến lược kinh doanh phù hợp với đối tượng khách hàng Đề tài nghiên cứu ứng dụng phương pháp luật kết hợp, những kỹ thuật quan trọng khai phá liệu Nội dung luận văn chia thành năm chương sau: Chương 1: Tổng quan khai phá liệu Chương 2: Giới thiệu khai phá mẫu phổ biến, luật kết hợp Chương 3: Lưu trữ liệu lớn dựa Oracle DBMS Chương 4: Áp dụng Luật kết hợp vào Cơ Sở Dữ Liệu Oracle Chương 5: Ứng dụng vào phân tích liệu viễn thơng Beeline Nội dung luận văn phân tích sở liệu, trình bày cách cài đặt chương trình khai thác luật kết hợp việc sử dụng dịch vụ giá trị gia tăng khách hàng Dựa vào kết mà người quản lý doanh nghiệp viễn thơng nắm bắt nhóm dịch vụ có liên quan tới nhau, phục vụ cho mục đích quản lý lựa chọn dịch vụ thời điểm phát hành loại dịch vụ cho nhóm khách hàng khác 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương Mở đầu 1.1 Khai phá liệu Khai phá liệu khái niệm đời vào năm cuối thập kỷ 80 Nó bao hàm loạt kỹ thuật nhằm phát thơng tin có giá trị tiềm ẩn tập liệu lớn (các kho liệu) Về chất, khai phá liệu liên quan đến việc phân tích liệu sử dụng kỹ thuật để tìm mẫu hình có tính quy tập liệu Năm 1989, Fayyad, Piatestsky-Shapiro Smyth dùng khái niệm Phát tri thức sở liệu, để tồn q trình phát tri thức có ích từ tập liệu lớn Trong khai phá liệu bước đặc biệt tồn q trình, sử dụng giải thuật đặc biệt để chiết xuất mẫu hay mơ hình từ liệu Ở mức độ trừu tượng định định nghĩa: Khai phá liệu (Data Mining) trình tìm kiếm, phát tri thức mới, tiềm ẩn, hữu dụng CSDL lớn Khai phá tri thức (KDD) mục tiêu khai phá liệu, hai khái niệm xem hai lĩnh vực tương đương Nhưng, phân chia cách tách bạch khai phá liệu bước q trình KDD 1.2 Q trình khai phá tri thức sở liệu Khai phá tri thức CSDL ( Knowledge Discovery in Databases - KDD) lĩnh vực liên quan đến ngành như: thống kê, học máy, CSDL, thuật tốn, trực quan hóa liệu, tính tốn song song hiệu cao,… Q trình KDD phân thành giai đoạn sau [3][5]: 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 1.1: Khai phá liệu bước q trình khai phá tri thức Trích chọn liệu (Data selection): Là bước trích chọn tập liệu cần khai phá từ tập liệu lớn (databases, data warehouses, data repositories) ban đầu theo số tiêu chí định Tiền xử lý liệu (Data preprocessing): Là bước làm liệu (xử lý với liệu không đầy đủ, liệu nhiễu, liệu không quán,.v.v.), rút gọn liệu (sử dụng hàm nhóm tính tổng, phương pháp nén liệu, sử dụng histograms, lấy mẫu,.v.v.), rời rạc hóa liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng,.v.v.) Sau bước này, liệu quán, đầy đủ, rút gọn, rời rạc hóa Biến đổi liệu (Data transformation): Là bước chuẩn hóa làm mịn liệu để đưa liệu dạng thuận lợi nhằm phục vụ cho kỹ thuật khai phá bước sau Khai phá liệu (Data mining): Là bước áp dụng kỹ thuật phân tích (phần nhiều kỹ thuật học máy) nhằm để khai thác liệu, trích chọn mẫu thơng tin, mối liên hệ đặc biệt liệu Đây xem bước quan trọng tốn nhiều thời gian tồn q trình KDD 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kết luận Có thể nói rằng, KPDL kỹ thuật quan trọng, mang tính thời khơng Việt Nam mà CNTT giới Sự bùng nổ thơng tin, liệu tồn cầu, mặt đời sống xã hội với phát triển ứng dụng ngày rộng rãi công nghệ thông tin lĩnh vực khiến cho nhu cầu xử lý khối liệu khổng lồ để kết xuất thông tin, tri thức hữu ích cho người sử dụng cách tự động, nhanh chóng xác trở thành nhân tố quan trọng hàng đầu cho thành công quan, tổ chức cá nhân giới KPDL áp dụng cách rộng rãi nhiều lĩnh vực kinh doanh đời sống khác nhau: marketing, tài chính, 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 lợi ích to lớn Một phương pháp quan trọng kỹ thuật KPDL mà đề tài sâu tìm hiểu khai phá luật kết hợp Mục tiêu phương pháp phát đưa mối liên hệ giá trị liệu sở liệu Mẫu đầu giải thuật KPDL luật kết hợp tìm Phương pháp sử dụng hiệu lĩnh vực maketing có chủ đích, phân tích định, quản lý kinh doanh, phân tích giá thị trường … Luận văn tìm hiểu kỹ thuật phân tích luật kết hợp Tìm hiểu tìm cách áp dụng kỹ thuật dựa hệ quản trị CSDL Oracle, nhằm tăng cường hiệu thật toán việc xử lý số liệu lớn Tác giả cài đặt thử nghiệm thuật tốn sử dụng SQL nhằm phân tích liệu giao dịch viễn thông Các kết thực nghiệm cho thấy hệ thống thực phân tích liệu lớn với thời gian chấp nhận So với số kỹ thuật truyền thống cụ thể WEKA Dbminer, phương pháp cho thấy hiệu cải thiện cách rõ rệt 64 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tài liệu tham khảo Tiếng Việt: Hà Quang Thụy, “Bài giảng cao học môn học Khai phá web”, Trường Đại học Công nghệ, 2007 Trần Văn Thiện, “Ứng dụng kỹ thuật khai phá liệu vào lĩnh vực viễn thơng” Học viện bưu viễn thơng, 2006 http://www.uit.edu.vn/forum/index.php?act=Attach&type=post&id=22124 Hoàng Hải Xanh, Các kỹ thuật phân cụm Data Mining, Luận văn, Đại Học Công Nghệ - Đại học Quốc Gia Hà Nội Tiếng Anh: Agrawal R., Mannila H., Srikant R., Toivonen H.; Fast Discovery of Association Rules Advances in Knowledge discovery and DataMining, edited by U.M fayyad, G.Platstsky-Shapiro, P.Smyth, and Uthurusamy, AAAI Press/The MIT Press,1996, pp.306-328 Jiawei Han and Micheline Kamber (2001), Data Mining: Concepts and Techniques, Hacours Science and Technology Company, USA Antonic M., Zaiane O R.; Mining Positive and Negative Rules: An Approach for Confined Rules, Proc Intl.Conf on Principles and Practice of Knowledge Discovery in Database, 2004, pp 27-38 Cai C.H.; Mining Association Rules with Weighted Items, Thesis, Chinese University of Hongkong, 8/1998 Cornelis C., Yan P., Kang X., Chen G.; Mining Positive and Negative Association Rules from Large Databases, 14244-023-6/06, 2006 IEEE Han J., and Fu Y.; Discovery of Multiple Level Association Rules from Large Databases; Proc of Inter Conference on very large databases; Zurich, Swizerland, pp 420-431, Sep 1995 10 Kryszkiewicz M., Cichon K.; Support Oriented Discovery of Generalized Disjunction-Free Representation of Frequent Patterns with Negation; PAKDD 2005, LNAI 3518, pp 672-682, 2005 65 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 11 Pasquier N., Bastide Y., Taouil R., and Lakhal L.; Efficient Mining of Association Rules Using Closed Itemset Latics Information Systems, Vol 24, No 1, pp 20-46, 1999 12 Wang W., Yang J., Yu P.S.; Efficient Mining of Weighted Association Rules, IBM Research Report RC 21692 (97734), March, 2000 13 GARY M WEISS Data mining in telecommunicaton Department of computer and information science, Fordham university 14 SEYYED JAMALEDDIN PISHVAYI Customer Relationship Management Tehran University 15 Thomas S., Architectures and Optimizations for Integrating Data Mining Algorithms with Database Systems, Ph.D dissertation, University of Florida, Gainesville, 1998 16 Frank Wang, Na Helian, A scanonce algorithm for large database mining implemented in sql, London Metropolitan University, 166-220 Holloway Road, London N7 8DB, United Kingdom 66 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phụ lục Phụ lục A: Danh sách thủ tục, hàm ứng dụng Mục 1: Tìm tập mục phổ biến có độ dài k (Fk) PROCEDURE create_f_table(new_table_num number, original_table VARCHAR2) IS query_str VARCHAR2(10000); q_select VARCHAR2(10000); q_from VARCHAR2(10000); q_where_item VARCHAR2(10000); q_where_tid VARCHAR2(10000); is_exist number := 0; BEGIN query_str := ''; q_select := ''; q_from := ''; q_where_item := ''; q_where_tid := ''; if new_table_num = then query_str := 'create table F' || new_table_num || ' as' || ' select item item1, count(*) count' || ' from ' || original_table || ' group by item having count(*) >1'; else for i in new_table_num loop select if trim(q_select) is null then q_select := q_select || 'item' || i; else q_select := q_select || ', item' || i; end if; from if trim(q_from) is null then q_from := q_from || original_table || ' T' || i; else q_from := q_from || ',' || original_table || ' T' || i; end if; where item if trim(q_where_item) is null then q_where_item := q_where_item || ' T' || i || '.item = ' || 'C' || new_table_num || '.item' || i; else q_where_item := q_where_item || ' and T' || i || '.item = ' || 'C' || new_table_num || '.item' || i; end if; where tid if i < new_table_num then if trim(q_where_tid) is null then q_where_tid := q_where_tid || ' T' || i || '.tid = T' || to_char(i + 1) || '.tid'; else q_where_tid := q_where_tid || ' and T' || i || '.tid = T' || to_char(i + 1) || '.tid'; end if; end if; end loop; query_str := 'create table F' || new_table_num || ' as' || ' select ' || q_select || ', count(*) count' || ' from C' || new_table_num || ', ' || q_from || ' where ' || 67 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com q_where_item || ' and ' || q_where_tid || ' having count(*) >1' || ' group by ' || q_select; end if; is_exist := 0; SELECT check_exists('f' || new_table_num) INTO is_exist FROM DUAL; IF (is_exist = 1) THEN EXECUTE IMMEDIATE 'drop table f' || new_table_num; END IF; dbms_output.put_line(query_str); EXECUTE IMMEDIATE query_str; END create_f_table; Mục 2: Tìm tập ứng viên có độ dài k (Ck) PROCEDURE create_c_table(new_table_num number) IS query_str VARCHAR2(10000); q_select VARCHAR2(10000); q_from VARCHAR2(10000); q_where_item VARCHAR2(10000); is_exist number := 0; BEGIN query_str := ''; q_select := ''; q_from := ''; q_where_item := ''; if new_table_num >= then for i in new_table_num - loop select if trim(q_select) is null then q_select := q_select || ' i1.item' || i; else q_select := q_select || ' ,i1.item' || i; end if; from q_from := ' f' || to_char(new_table_num - 1) || ' i1, f' || to_char(new_table_num - 1) || ' i2'; where item if i < new_table_num - then if trim(q_where_item) is null then q_where_item := q_where_item || ' i1.item' || i || ' = i2.item' || i; else q_where_item := q_where_item || ' and i1.item' || i || ' = i2.item' || to_char(i + 1); end if; end if; end loop; if trim(q_where_item) is not null then q_where_item := q_where_item || ' and '; end if; is_exist := 0; SELECT check_exists('c' || new_table_num) INTO is_exist FROM DUAL; IF (is_exist = 1) THEN EXECUTE IMMEDIATE 'drop table C' || new_table_num; END IF; query_str := 'create table C' || new_table_num || ' as' || ' select ' || q_select || ', ' || 'i2.item' || to_char(new_table_num - 1) || ' as item' || new_table_num || ' from ' || q_from || ' where ' || q_where_item || 'i1.item' || to_char(new_table_num - 1) || ' < i2.item' || to_char(new_table_num - 1); dbms_output.put_line(query_str); 68 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com EXECUTE IMMEDIATE query_str; end if; END create_c_table; Mục 3: Hàm fisets_table_creation Sau kết hợp bảng F1, …, Fk để bảng FISETS chứa tập mục phổ biến cuối PROCEDURE create_fisets_table(table_num number) IS query_str VARCHAR2(2000); q_select VARCHAR2(2000); is_exist number := 0; BEGIN if table_num < then query_str := 'select item1, nullm, count, table_num from F' || table_num; else for i in table_num loop q_select := ''; for j in table_num loop if j