Khai thác tập phổ biến dựa trên cấu trúc index bittable

65 574 2
Khai thác tập phổ biến dựa trên cấu trúc index bittable

Đ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

1 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN THỊ BẢO CHI KHAI THÁC TẬP PHỔ BIẾN DỰA TRÊN CẤU TRÚC INDEX-BITTABLE LUẬN VĂN THẠC SĨ: HỆ THỐNG THÔNG TIN Thành phố Hồ Chí Minh – 2010 2 2 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN THỊ BẢO CHI KHAI THÁC TẬP PHỔ BIẾN DỰA TRÊN CẤU TRÚC INDEX-BITTABLE Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số: LUẬN VĂN THẠC SĨ: (HỆ THỐNG THÔNG TIN) NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. LÊ HOÀI BẮC Thành phố Hồ Chí Minh – 2010 3 3 LỜI CẢM ƠN Tôi chân thành cảm ơn PGS.TS.Lê Hoài Bắc, Thầy đã quan tâm, tận tình hướng dẫn tôi thực hiện cuốn luận văn này. Tôi xin chân thành cảm ơn quý Thầy Cô trường Đại học Tự Nhiên đã tận tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt quá trình học tập và cung cấp cho tôi nhiều tài liệu tham khảo để tôi hoàn thành luận văn này. Xin chân thành cảm ơn các bạn cùng lớp, các đồng nghiệp và lãnh đạo Viễn Thông Ninh Thuận đã tạo điều kiện giúp đỡ tôi hoàn thành luận văn. Tôi đặc biệt cảm ơn đến gia đình tôi, đã đồng cảm, hỗ trợ tôi hoàn thành luận văn này. Phan Rang – Tháp Chàm ngày 01 tháng 09 năm 2010 4 4 MỤC LỤC Chương 1: TỔNG QUAN 8 1.1 Mục tiêu và đối tượng khai thác tri thức 8 1.2 Quy trình khai thác tri thức 9 1.3 Mục tiêu và đối tượng khai thác tri thức 10 1.4 Các kỹ thuật khai thác dữ liệu 11 1.5 Ứng dụng của khai thác dữ liệu 13 1.6 Khai thác dữ liệu dựa trên cấu trúc Index-BitTable 14 Chương 2: CƠ SỞ LÝ THUYẾT 16 2.1 Ý nghĩa luật kết hợp 16 2.2 Phát biểu bài toán khai thác luật kết hợp 17 2.3 Một số hướng tiếp cận trong khai thác luật kết hợp 20 2.4 Một số thuật toán đã công bố 21 Chương 3: KHAI THÁC TẬP PHỔ BIẾN DỰA TRÊN CẤU TRÚC INDEX- BITTABLE 24 3.1 Cấu trúc BitTable 24 3.2 Thuật toán BitTableFI 25 3.2.1 Tìm nhanh tập ứng viên 25 3.2.2 Cách tính nhanh độ hỗ trợ 29 3.2.3 Thuật toán BitTableFI 30 3.3 Thuật toán Index-BitTableFI 31 3.3.1 Mảng Index và cách xây dựng 31 3.3.2 Định lý 1 35 3.3.3 Định lý 2 36 3.3.4 Thuật toán Index-BitTableFI 37 3.3.5 Thuật toánDepth_First 38 3.4 Đánh giá thuật toán Index-BitTableFI 40 5 5 3.5 Một số cải tiến 41 3.5.1 Cải tiến cách tính toán subsume 41 3.5.2 Cải tiến thuật toán Depth_First 42 Chương 4: KẾT QUẢ KHAI THÁC DỮ LIỆU CƯỚC ĐIỆN THOẠI VÀ ĐÁNH GIÁ 49 4.1 Nguồn dữ liệu cước điện thoại 49 4.2 Cài đặt hệ thống khai thác dữ liệu cước điện thoại 52 4.3 Kết luận và đánh giá kết quả 60 4.4 Hướng phát triển của luận văn 61 6 6 MỞ ĐẦU Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu ngày càng phát triển nhanh chóng, tạo điều kiện cho các đơn vị thu thập dữ liệu nhiều hơn và tốt hơn, đặc biệt là các doanh nghiệp kinh doanh các dịch vụ Viễn Thông – Tin học. Các doanh nghiệp đã nhận thức được tầm quan trọng của việc nắm bắt và xử lý thông tin, giúp doanh nghiệp lập ra kế hoạch, chiến lược kinh doanh tốt và hiệu quả hơn. Tất cả các lý do đó khiến cho các doanh nghiệp tạo ra một lượng dữ liệu khổng lồ cho riêng mình. Các kho dữ liệu ngày càng lớn và tiềm ẩn nhiều thông tin mới lạ, có ích. Sự bùng nổ đó dẫn đến một yêu cầu cấp thiết là phải có những kỹ thuật và công cụ mới để khai thác kho dữ liệu này, để tìm ra những mối quan hệ, những thông tin mới lạ, dễ hiểu và có ích. Trong khi đó kỹ thuật khai thác dữ liệu (Data Mining-DM) đã đáp ứng được các yêu cầu này. Viễn thông Ninh Thuận là một đơn vị thuộc Tập đoàn Viễn Thông Việt Nam, kinh doanh tất cả các loại dịch vụ thuộc các lĩnh vực Viễn Thông – Tin học. Thị trường viễn thông đang thay đổi nhanh chóng và chịu nhiều sức ép cạnh tranh giữa nhiều nhà cung cấp dịch vụ. Các công ty đưa ra nhiều chính sách thu hút khách hàng và tìm mọi cách để gắn hoạt động kinh doanh của mình với thị trường. Việc mất thị trường, thị phần và giảm doanh số kinh doanh là các vấn đề chính mà lãnh đạo Viễn thông Ninh Thuận đang rất quan tâm và tìm biện pháp khắc phục, giải quyết. Một trong các biện pháp đưa ra là “Tăng cường công tác chăm sóc khách hàng”. Với nguồn dữ liệu khổng lồ từ tổng đài rất thuận lợi cho việc tìm hiểu thói quen sử dụng dịch vụ, mức độ hài lòng và phân loại khách hàng. Dữ liệu chi tiết cuộc gọi nhận được từ tổng đài chứa rất nhiều thông tin có ích và tiềm ẩn, từ đó có thể áp dụng các phương pháp thống kê, phân tích, tìm hiểu nhu cầu khách hàng giúp lãnh đạo có những chính sách đúng đắn để thu hút khách hàng. Ứng dụng khai thác dữ liệu, khai thác hiệu quả tập phổ biến để tìm hiểu khách hàng, giúp lãnh đạo Viễn Thông Ninh 7 7 Thuận có những chiến lược đúng đắn nhằm thu hút khách hàng là mục đích chính của đề tài này. Khai thác dữ liệu bao gồm nhiều hướng tiếp cận và các kỹ thuật chính được áp dụng phần lớn được kế thừa từ lĩnh vực cơ sở dữ liệu, trí tuệ nhân tạo (artificial intelligence), xác suất thống kê (probability & statistics) và phương pháp tính toán hiệu năng cao (high performance). Các bài toán chủ yếu trong khai thác dữ liệu là phân lớp/dự đoán (classification/prediction), phân cụm (clustering) và khai thác luật kết hợp (association rule mining). Trong đó khai thác luật kết hợp là một trong các nội dung quan trọng trong khai thác dữ liệu và đây là lĩnh vực nghiên cứu có nhiều triển vọng. Luận văn này được xây dựng trên một số công trình nghiên cứu trong lĩnh vực khai thác luật kết hợp đã công bố trong những năm gần đây, qua đó trình bày: 1. Luật kết hợp: ý nghĩa, phát biểu bài toán, không gian tìm kiếm và các hướng tiếp cận. 2. Phương pháp khai thác luật kết hợp: trình bày về cấu trúc bảng Index-BitTable phương pháp hiệu quả để tìm nhanh tập phổ biến, phát sinh luật kết hợp. 3. Ứng dụng bài toán khai thác luật kết hợp khai thác CSDL cước tại Viễn thông Ninh Thuận Cấu trúc của luận văn gồm Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Khai thác tập phổ biến dựa trên cấu trúc Index-BitTable Chương 4: Kết quả khai thác dữ liệu cước điện thoại và đánh giá 8 8 CHƯƠNG 1 TỔNG QUAN 1.1 Mục tiêu và đối tượng khai thác tri thức Với sự phát triển nhanh chóng của khoa học kỹ thuật, đặc biệt là kỹ thuật số, cho phép số hóa hầu hết các loại thông tin của các lĩnh vực. Ngày nay chúng ta đang chứng kiến sự bùng nổ dữ liệu trong tất cả các lĩnh vực: Khoa học kỹ thuật, kinh doanh, quân sự…Tuy nhiên tốc độ phát triển trong sức mạnh xử lý của việc đánh giá, phân tích dữ liệu là không tương xứng. Trong tập dữ liệu lớn có thể chứa các thông tin tiềm ẩn, có quy luật và hữu ích. Khi các nhân tố mới lạ và các quan hệ giữa chúng là rõ ràng, dễ hiểu, người dùng có thể cải thiện hoạt động kinh doanh của mình theo hướng tiết kiệm, hiệu quả và chất lượng. Dữ liệu thô lưu trữ trong CSDL ít khi được sử dụng trực tiếp. Trong các ứng dụng thực tế, dữ liệu thường được biểu diễn theo khuôn dạng của người sử dụng, phù hợp với công việc của họ. Với tập dữ liệu nhỏ, có thể sử dụng các phương pháp thống kê hoặc các công cụ quản trị để phân tích. Tuy nhiên với tập dữ liệu khổng lồ, cần phải có công cụ phân tích tự động mới có thể thực hiện được. Khai thác tri thức trong CSDL (Knowledge Discovery in Database- KDD) mà trọng tâm là khai thác dữ liệu (DM) là một quá trình tự động khai thác tri thức tiềm ẩn, thú vị chưa biết trong CSDL. Hệ thống KDD/DM không phải là hệ thống phần mềm tổng quát, chúng được phát triển phụ thuộc vào yêu cầu của người sử dụng để giúp họ tự động phân tích dữ liệu đã được xác định, theo các lĩnh vực ứng dụng riêng biệt. Khai thác tri thức là quá trình rút trích thông tin tiềm ẩn từ CSDL, thông tin đó chứa hoàn toàn trong CSDL, chưa biết trước, tiềm tàng và hữu ích cho người sử dụng. Thông tin rút trích phải là dạng của các mẫu mà người dùng có thể hiểu được (chẳng hạn các luật if-then). Độ đo thú vị của một mẫu là một định lượng sử dụng trong việc 9 9 đánh giá mẫu. Chỉ những mẫu thú vị là tri thức. Một mẫu là thú vị nếu nó mới lạ, tiềm ẩn và hữu ích. 1.2 Quy trình khai thác tri thức Khai thác dữ liệu (DM) là một bước quan trọng của quá trình khai thác tri thức (Knowledge Discovery Process). Hình 1.1 mô tả quá trình khai thác tri thức. Nó bao gồm các công đoạn sau [7]: Hình 1.1. Các công đoạn của quá trình khai thác tri thức trong CSDL Chọn dữ liệu (Selection): là một thủ tục tương ứng với việc phát sinh tập dữ liệu gốc từ CSDL. Mục đích của nó là chọn dữ liệu đặc trưng từ tập dữ liệu lớn và phù hợp để thực hiện khai thác. Tiền xử lý (Preprocessing): loại bỏ và xử lý dữ liệu tạp, không đầy đủ, mâu thuẫn từ tập dữ liệu gốc. Thực hiện rút gọn và rời rạc hóa dữ liệu (dùng các phương pháp và các cấu trúc dữ liệu phù hợp để thu gọn dữ liệu…). Sau bước này dữ liệu sẽ nhất quán, đầy đủ, rút gọn và rời rạc. Chuyển đổi dữ liệu (Transformed): Chuyển đổi dữ liệu đã xử lý về dạng có thể thực hiện khai thác. Việc chuyển đổi dữ liệu đã xử lý phụ thuộc vào nhiệm vụ khai thác dữ liệu. Công đoạn chuyển đổi bao gồm các thao tác để giảm một cách hợp lệ số trường trong các mẫu tin, vì mỗi nhiệm vụ khai thác dữ liệu chỉ tập trung trên một tập Chọn dữ liệu Tiền xử lý Chuyển đổi dữ liệu Khai thác dữ liệu Diễn giải và đánh giá tri thức 10 10 con của các trường dữ liệu. Nó cũng bao gồm các thao tác sửa đổi và kết hợp các trường dữ liệu còn lại để ánh xạ dữ liệu gốc thành dữ liệu phù hợp hơn cho việc khai thác dữ liệu ở công đoạn tiếp theo. Khai thác dữ liệu (Data Mining-DM): Đây là công đoạn quan trọng và tốn nhiều chi phí nhất của quá trình khai thác tri thức. Xác định nhiệm vụ khai thác dữ liệu và lựa chọn kỹ thuật khai thác để thực hiện khai thác, phát sinh tập mẫu. Các mẫu này là nguồn tri thức thô. Trong công đoạn này, có thể cần sự tương tác của người dùng để điều chỉnh và rút ra các thông tin cần thiết nhất. Các tri thức nhận được có thể được lưu lại và sử dụng lại. Diễn giải và đánh giá tri thức (Interpretation/Evaluation): với các tri thức nhận được, dựa vào một số các tiêu chí để tiến hành kiểm tra và lọc nguồn tri thức thu được. Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và quay hồi lại các bước đã qua. 1.3 Mục tiêu và đối tượng khai thác tri thức Khai thác dữ liệu có khả năng chấp nhận một số kiểu dữ liệu khác nhau. Một số kiểu dữ liệu điển hình sau[7]: Cơ sở dữ liệu quan hệ (relational database): là các dữ liệu tác nghiệp được tổ chức theo mô hình dữ liệu quan hệ, rất phổ biến trong ngành Viễn thông, do hầu hết các hệ quản trị cơ sở dữ liệu đều hỗ trợ dạng cơ sở dữ liệu quan hệ như Oracle, MS SQL Server, IBM DB2, MS Access… Cơ sở dữ liệu đa chiều (Multidimentional structucres, data warehouses) : là các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu khác nhau. Dạng dữ liệu này chủ yếu phục vụ cho quá trình phân tích cũng như khai thác tri thức và hỗ trợ quá trình ra quyết định. [...]... toán khai thác tập phổ biến IndexBitTableFI dựa trên cấu trúc Index- BitTable, thuật toán bao gồm những bước sau: 1 Nén dữ liệu vào bảng BitTable 2 Xây dựng mảng Index là danh sách tập phổ biến 1-phần tử 3 Tính subsume của từng Index[ i], trong đó Index[ i] là phần tử đại diện của subsume 4 Duyệt bảng Index và tiến hành tìm tất cả các phần tử phổ biến khác 23 24 CHƯƠNG 3 KHAI THÁC TẬP PHỔ BIẾN DỰA TRÊN CẤU... 1.6 Khai thác dữ liệu dựa trên cấu trúc Index- BitTable Hầu hết các thuật toán khai thác luật kết hợp đều dựa vào thuật toán Apriori, với chi phí rất lớn cho việc duyệt tập dữ liệu và tính toán phát sinh các tập phần tử phổ biến Những thuật toán hiệu quả cho việc khai thác tập phổ biến là rất quan trọng, cho việc khai thác luật kết hợp cũng như là cho nhiều các tác vụ khai thác dữ liệu khác Khai thác. .. bởi Zaki, tác giả khai thác dữ liệu theo chiều dọc Việc quét dữ liệu lần đầu để xây dựng tid của từng item đơn Sau đó bắt đầu với tập phổ biến 1-phần tử, phần tử phổ biến có (k+1) phần tử được hình thành từ tập k phần tử Thực hiện giao các tid của tập phổ biến có k phần tử để tính toán các tid của tập phổ biến (k+1) phần tử Tiến trình này lặp lại cho đến khi không còn tập phổ biến hoặc tập ứng viên nào... tiến trình tìm tập ứng viên Ví dụ: Với dữ liệu ở bảng 3.1, minsup=2 Sau khi duyệt CSDL lần đầu tiên, L1={1, 2, 3, 5} được sinh ra, mục dữ liệu 4 không là tập phổ biến, vì thế tập phổ biến 1-phần tử được sắp xếp lại thành L1={1, 2, 3, 4} để làm giảm kích thước của BitTable Như vậy, ta có 4 tập phổ biến 1-phần tử, thì chiều dài của BitTable là 4 Sau khi BitTableFI hoàn thành, các tập phổ biến sẽ được trả... i Index[ j].subsume(item) để cho (Index[ j].itemi) là tập phổ biến Nhận thấy hàm g là hàm đơn điệu tăng, nên ta có 35 36 g (Index[ j].itemi)g (Index[ j].item) điều này có nghĩa là sup (Index[ j].itemi) ≤ sup (Index[ j].item) Trường hợp 1: nếu sup (Index[ j].itemi) = sup (Index[ j].item)  g (Index[ j].itemi) = g (Index[ j].item)  g (Index[ j].item)g(i) = g (Index[ j].item)  g (Index[ j].item)g(i)  i Index[ j].subsume (Định... tid của tập phổ biến có k phần tử để tính toán các tid của tập phổ biến (k+1) phần tử Tiến trình này lặp lại cho đến khi không còn tập phổ biến hoặc tập ứng viên nào Sau đó Zaki và Gouda đã giới thiệu kỹ thuật diffset[14] để giảm vùng nhớ lưu trữ Kỹ thuật diffset chỉ giữ lại sự khác biệt của các tid và các tập ứng viên khi nó sản sinh ra tập phổ biến Gần đây, Dong và Han đã giới thiệu thuật toán BitTableFI[6],... 6 Tập phần tử ABDE BCE ABDE ABCE ABCDE BCD + Tính độ hỗ trợ của tập các phần tử phổ biến (lớn hơn hoặc bằng 50%) Bảng 2.2 Tập phần tử phổ biến Tập phần tử phổ biến FI  Theo công thức: Card(x)/Card(d) B E, BE A, C, D, AB, AE, BC, BD, ABE AD, CE, DE, ABD, ADE, BCE, BDE sup (6/6) =100% (5/6)=83% (4/6)=67% (3/6)=50% + Với tập phổ biến ABE (67%), ta có tập luật như sau : Bảng 2.3 Luật kết hợp sinh từ tập. .. toán BitTableFI Với thuật toán BitTableFI, đầu tiên phải tìm tập phổ biến 1-phần tử và thực hiện việc gán dữ liệu của CSDL vào bảng BitTable Sau đó sử dụng tiến trình phát sinh nhanh tập ứng viên và tính nhanh độ hỗ trợ để phát sinh toàn bộ tập phổ biến cho đến khi không còn mục dữ liệu nào trong Lk Thuật toán BitTable được minh họa bởi đoạn mã giả sau[6]: BitTableFI(D, minsup) { L1= {tập phổ biến 1-phần... thế của BitTable, khai thác dữ liệu theo cả chiều ngang và chiều dọc, mảng Index được đề xuất[19] Mục đích là để xác định rằng những itemset xuất hiện đồng thời cùng với các item đại diện Kết quả là tất cả các itemset đều là tập phổ biến Vì thế, các hoạt động dư thừa trên các thế hệ ứng viên và kiểm tra tập phổ biến có thể tránh được 3.3.1 Mảng Index và cách xây dựng Mảng Index được xây dựng dựa trên. .. ta sẽ có mảng Index như sau: Bảng 3.7 Bảng Index B FACE D AC F ACE G AC A C C Ø E Ø 3.3.2 Định lý 1 Nếu Index[ j].item là tập phổ biến và có sup (Index[ j].item)=minsup thì sẽ không tồn tại mục dữ liệu i nào sao cho Index[ j].item  i và i Index[ j].subsume(item) để cho (Index[ j].itemi) là tập phổ biến Chứng minh: (bằng phương pháp nội suy) Giả sử tồn tại i, sao cho Index[ j].item  i và i Index[ j].subsume(item) . Ninh Thuận Cấu trúc của luận văn gồm Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Khai thác tập phổ biến dựa trên cấu trúc Index-BitTable Chương 4: Kết quả khai thác dữ liệu. số hướng tiếp cận trong khai thác luật kết hợp 20 2.4 Một số thuật toán đã công bố 21 Chương 3: KHAI THÁC TẬP PHỔ BIẾN DỰA TRÊN CẤU TRÚC INDEX- BITTABLE 24 3.1 Cấu trúc BitTable 24 3.2 Thuật. pháp khai thác luật kết hợp: trình bày về cấu trúc bảng Index-BitTable phương pháp hiệu quả để tìm nhanh tập phổ biến, phát sinh luật kết hợp. 3. Ứng dụng bài toán khai thác luật kết hợp khai thác

Ngày đăng: 20/10/2014, 22:48

Từ khóa liên quan

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

Tài liệu liên quan