Khai Phá Tập Mục Thường Xuyên Đóng Trên Dòng Dữ Liệu

64 259 0
Khai Phá Tập Mục Thường Xuyên Đóng Trên Dòng Dữ Liệu

Đ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

Header Page of 126 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG -  PHẠM THỊ LÝ Tên đề tài: KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN ĐÓNG TRÊN DÕNG DỮ LIỆU Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số : 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Hƣớng dẫn khoa học: TS NGUYỄN HUY ĐỨC Thái Nguyên - 2014 Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 MỞ ĐẦU Khai phá liệu (Data Mining), đƣợc nhiều ngƣời ý Nó thực đem lại lợi ích đáng kể việc cung cấp thông tin tiềm ẩn sở liệu lớn, giúp ngƣời sử dụng thu đƣợc tri thức hữu ích từ sở liệu kho liệu khổng lồ khác Những “tri thức” chiết xuất từ nguồn sở liệu phục vụ yêu cầu trợ giúp định ngày có ý nghĩa quan trọng nhu cầu to lớn lĩnh vực hoạt động kinh doanh, quản lý Tiến hành công việc nhƣ thực trình phát triển tri thức sở liệu (Knowledge Discovery in Database) mà kỹ thuật khai phá liệu (Data Mining) cho phép phát tri thức tiềm ẩn Một nội dung khai phá liệu khai phá luật kết hợp Khai phá luật kết hợp gồm hai bƣớc: Bƣớc thứ nhất, tìm tất tập mục thƣờng xuyên, đòi hỏi tính toán lớn Bƣớc thứ hai, dựa vào tập mục thƣờng xuyên tìm luật kết hợp, đòi hỏi tính toán hơn, song gặp phải vấn đề sinh nhiều luật, vƣợt khỏi kiểm soát ngƣời khai phá ngƣời dùng, có nhiều luật không cần thiết Để giải vấn đề đó, bƣớc thứ nhất, không cần thiết khai phá tất tập mục thƣờng xuyên mà cần khai phá tập mục thƣờng xuyên đóng Khai phá luật kết hợp dựa tập mục thƣờng xuyên đóng cho hiệu cao hơn, đảm bảo không tìm tập mục thƣờng xuyên không cần thiết, không sinh luật dƣ thừa.Với ý nghĩa mục đích tìm hiểu toán tìm tập mục thƣờng xuyên dòng liệu, em định lựa chọn đề tài “Khai phá tập mục thƣờng xuyên đóng dòng liệu” Nội dung luận văn gồm chƣơng: Chương 1: Tổng quan khai phá liệu Chương 2: Khai phá tập mục thường xuyên đóng dòng liệu Chương 3: Chương trình thực nghiệm ứng dụng Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 CHƢƠNG TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khái niệm khám phá tri thức khai phá liệu KPDL (Khai phá liệu) việc rút trích tri thức cách tự động hiệu từ khối liệu lớn Tri thức thƣờng dạng mẫu có tính chất không tầm thƣờng, không tƣờng minh (ẩn), chƣa đƣợc biết đến có tiềm mang lại lợi ích Có số nhà nghiên cứu gọi khai phá liệu phát tri thức sở liệu (Knowledge Discovery in Database - KDD) Ở coi KPDL cốt lõi trình phát tri thức Quá trình phát tri thức gồm bƣớc sau : Bước 1: Trích chọn liệu (Data Selection) Là bƣớc trích chọn tập liệu cần đƣợc khai phá từ tập liệu lớn (databases, data warehouses) Bước 2: Tiền xử lý liệu ( Data preprocessing) bƣớc làm liệu (Xử lý liệu không đầy đủ, liệu nhiễu, liệu không quán…rút gọn liệu (Sử dụng phƣơng pháp thu gọn liệu, histograms, lấy mẫu, v v ) rời rạc hóa liệu (dựa vào histograms, entropy, phân khoảng.v v ) Sau bƣớc liệu quán, đầy đủ, đƣợc rút gọn đƣợc rời rạc hóa Bước 3: 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 thác bƣớc sau Bước : Khai phá liệu (Data mining) Đây bƣớc quan trọng tốn nhiều thời gian trình khai phá tri thức, áp dụng kỹ thuật khai phá phần lớn kỹ thuật machine learning) để khai phá, trích chọn đƣợc mẫu (pattern) thông tin, mối liên hệ đặc biệt liệu Bước 5: Đánh giá biểu diễn tri thức (Knowledge representation & evaluation) Dùng kỹ thuật hiển thị liệu để trình bày thông tin (tri thức) mối liên hệ đặc biệt liệu đƣợc khai thác bƣớc biểu diễn dƣới dạng gần gũi với ngƣời sử dụng nhƣ đồ thị, cây, bảng biểu, luật…Đồng thời bƣớc đánh giá tri thức khám phá đƣợc theo tiêu chí định Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 Trong giai đoạn khai phá liệu, cần tƣơng tác ngƣời dung để điều chỉnh rút tri thức cần thiết Các tri thức nhận đƣợc đƣợc lƣu sử dụng lại Các tri thức Các mẫu Dữ liệu Dữ liệu chọn Đánh giá biểu diễn tri thức knowledge representation & evaluation Khai phá liệu Data mining Kho liệu Biến đổi liệu data transformation Tiền xử lý liệu data preprocessing Trích chọn liệu data selection Hình 1.1: Qúa trình phát tri thức Việc KPDL đƣợc tiến hành lƣợng lớn liệu có CSDL (Cơ sở liệu), kho liệu loại lƣu trữ thông tin khác Các mẫu đáng quan tâm đƣợc đƣa đến ngƣời dung đƣợc lƣu trữ số sở tri thức 1.2 Kiến trúc hệ thống khai phá liệu Kiến trúc hệ thống KPDL điển hình có thành phần nhƣ hình 1.2, [5], [9] CSDL, kho liệu lƣu trữ thông tin khác (Databases, Data warehouse, ) Đây hay tập CSDL, kho liệu, trang tính hay dạng lƣu trữ thông tin khác Các kỹ thuật làm liệu tích hợp liệu đƣợc thực liệu Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 (Graphical interface) Giao diện đồ họa cho ngƣời dùng ( Pattern evaluation) Đánh giá mẫu Cơ sở tri thức (Data mining engine) Máy khai phá liệu (Knowledge-base) Máy chủ CSDL hay kho liệu (Database or Warehouse Server) Làm sạch, tích hợp liệu, lọc Cơ sở liệu Kho liệu Các lƣu trữ thông tin khác Hình 1.2: Kiến trúc hệ thống khai phá liệu - Máy chủ CSDL hay máy chủ kho liệu (Database or warehouse server) Máy chủ có trách nhiệm lấy liệu thích hợp dựa yêu cầu khai phá ngƣời dùng - Cơ sở tri thức (Knowledge base) Đây nhiều tri thức đƣợc dùng để hƣớng dẫn việc tìm kiếm hay đánh giá độ quan trọng hình mẫu kết - Máy KPDL (Data mining engine) Một hệ thống KPDL cần phải có tập modun chức để thực công việc nhƣ: đặc trƣng hóa, kết hợp, phân lớp, phân cụm, phân tích tiến hóa - Modun đánh giá mẫu (Pattern evaluation) Bộ phận tƣơng tác với modun KPDL để duyệt tìm mẫu đáng đƣợc quan tâm Nó dung ngƣỡng độ quan tâm để lọc mẫu khám phá đƣợc Cũng modun đánh giá mẫu đƣợc tích hợp vào modun khám phá, tùy theo cài đặt phƣơng pháp Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 khai phá đƣợc dùng - Giao diện người dung (Graphical user interface) Bộ phận cho phép ngƣời dùng giao tiếp với hệ thống KPDL Ngoài phận cho phép ngƣời dung xem lƣợc đồ CSDL, lƣợc đồ kho liệu (hay cấu trúc liệu), đánh giá mẫu hiển thị mẫu khuôn dạng khác 1.3 Các giai đoạn trình khai phá liệu Các giải thuật khai phá liệu thƣờng đƣợc miêu tả nhƣ chƣơng trình hoạt động trực tiếp tệp liệu Với phƣơng pháp học máy thống kê trƣớc đây, thƣờng bƣớc giải thuật nạp toàn tệp liệu vào nhớ Khi chuyển sang ứng dụng công nghiệp liên quan đến việc khai phá kho liệu, mô hình đáp ứng đƣợc Không nạp hết liệu vào nhớ mà khó chiết xuất liệu tệp đơn giản để phân tích đƣợc Quá trình khai phá liệu đƣợc thể mô hình sau [3]: Thống kê tóm tắt Xác định nhiệm vụ Xác định liệu liên quan Giải thuật khai phá liệu Thu thập tiền xử lý DL Mẫu Dữ liệu trực tiếp Hình 1.3 Quá trình khai phá liệu + Xác định nhiệm vụ: Xác định xác vấn đề cần giải + Xác định liệu liên quan: Dùng để xây dựng giải pháp + Thu thập liệu có liên quan xử lý chúng thành dạng cho giải thuật khai phá liệu hiểu đƣợc Ở gặp số vấn đề: liệu phải đƣợc nhiều (nếu đƣợc chiết xuất vào tệp), quản lý tập tệp Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 liệu, phải lặp lặp lại nhiều lần toàn trình (nếu mô hình liệu thay đổi v.v ) + Chọn thuật toán khai phá liệu thích hợp thực việc khai phá liệu: nhằm tìm đƣợc mẫu (pattern) có ý nghĩa dƣới dạng biểu diễn tƣơng ứng với ý nghĩa 1.4 Một số kỹ thuật khai phá liệu Mục đích khai phá liệu chiết xuất tri thức có lợi cho kinh doanh hay cho nghiên cứu khoa học… Do đó, ta xem mục đích khai phá liệu mô tả kiện dự đoán Các mẫu khai phá liệu phát đƣợc nhằm vào mục đích Dự đoán liên quan đến việc sử dụng biến đối tƣợng (bản ghi) CSDL để chiết xuất mẫu, dự đoán đƣợc giá trị chƣa biết giá trị tƣơng lai biến đáng quan tâm Mô tả tập trung vào việc tìm kiếm mẫu mô tả liệu mà ngƣời hiểu đƣợc Một số kỹ thuật phổ biến thƣờng đƣợc sử dụng để KPDL : Phân lớp liệu Mục tiêu phân lớp liệu dự đoán nhãn lớp cho mẫu liệu Quá trình gồm hai bƣớc: xây dựng mô hình, sử dụng mô hình để phân lớp liệu Mô hình đƣợc sử dụng để dự đoán nhãn lớp mà độ xác mô hình chấp nhận đƣợc Phân nhóm liệu Phân nhóm kỹ thuật khai phá liệu tƣơng tự nhƣ phân lớp liệu Tuy nhiên, phân nhóm liệu trình học không đƣợc giám sát, trình nhóm đối tƣợng vào lớp tƣơng đƣơng, đến đối tƣợng nhóm tƣơng đƣơng nhau, chúng phải khác với đối tƣợng nhóm khác Trong phân lớp liệu, ghi thuộc lớp phải xác định trƣớc, phân nhóm không xác định trƣớc Trong phân nhóm, đối tƣợng đƣợc nhóm lại dựa vào giống chúng Sự giống đối tƣợng đƣợc xác định Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 chức giống Thông thƣờng giống định lƣợng nhƣ khoảng cách độ đo khác đƣợc xác định chuyên gia lĩnh vực Đa số ứng dụng phân nhóm đƣợc sử dụng phân chia thị trƣờng Với phân nhóm khách hàng vào nhóm, doanh nghiệp cung cấp dịch vụ khác tới nhóm khách hàng cách thuận lợi Ví dụ: dựa vào chi tiêu, số tiền tài khoản việc rút tiền khách hàng, ngân hàng xếp khách hàng vào nhóm khác Với nhóm, ngân hàng cho vay khoản tiền tƣơng ứng cho việc mua nhà, mua xe, … Trong trƣờng hợp ngân hàng cung cấp dịch vụ tốt hơn, chắn tất khoản tiền cho vay thu hồi đƣợc Ta tham khảo khảo sát toàn diện kỹ thuật thuật toán phân nhóm 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 Đầu giải thuật luật kết hợp tập luật kết hợp tìm đƣợc Phƣơng pháp khai phá luật kết hợp gồm có hai bƣớc: -Bƣớc 1: Tìm tất tập mục thƣờng xuyên Một tập mục thƣờng xuyên đƣợc xác định thông qua việc tính độ hỗ trợ thoả mãn độ hỗ trợ cực tiểu -Bƣớc 2: Sinh luật kết hợp mạnh từ tập mục thƣờng xuyên, luật phải thoả mãn độ hỗ trợ độ tin cậy cực tiểu Hồi quy Phƣơng pháp hồi quy tƣơng tự nhƣ phân lớp liệu Nhƣng khác chỗ dùng để dự đoán giá trị liên tục phân lớp liệu dùng để dự đoán giá trị rời rạc Phát thay đổi độ lệch (change and deviation dectection): Nhiệm vụ tập trung vào khám phá thay đổi có ý nghĩa liệu dựa vào giá trị chuẩn hay độ đo biết trƣớc, phát độ lệch đáng kể Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 nội dung tập liệu nội dung mong đợi Hai mô hình độ lệch thƣờng dùng lệch theo thời gian lệch theo nhóm Độ lệch theo thời gian thay đổi có nghĩa liệu theo thời gian Độ lệch theo nhóm khác liệu hai tập liệu, tính trƣờng hợp tập đối tƣợng thuộc tập kia, nghĩa xác định liệu nhóm đối tƣợng có khác đáng kể so với toàn đối tƣợng 1.5 Các sở liệu phục vụ cho khai phá liệu Dựa vào kiểu liệu mà kỹ thuật khai phá áp dụng, chia liệu thành loại khác Cơ sở liệu quan hệ Đến nay, hầu hết liệu đƣợc lƣu giữ dƣới dạng sở liệu quan hệ Cơ sở liệu quan hệ nguồn tài nguyên lớn chứa đối tƣợng mà cần khai phá Cơ sở liệu quan hệ có cấu trúc cao, liệu đƣợc mô tả tập thuộc tính lƣu bảng Khai phá liệu sở liệu quan hệ chủ yếu tập trung khai phá mẫu Ví dụ, sở liệu ngân hàng, ta tìm đƣợc khách hàng có mức chi tiêu cao, ta phân loại khách hàng dựa vào trình chi tiêu họ Cũng với việc phân tích mục chi tiêu khách hàng, cung cấp số thông tin khách hàng đến doanh nghiệp khác Giả sử khách hàng chi tháng 500 đô la cho thời trang, đƣợc phép, ngân hàng cung cấp thông tin khách hàng cho cửa hàng thời trang Cơ sở liệu giao tác Cơ sở liệu giao tác tập hợp ghi giao dịch, đa số trƣờng hợp chúng ghi liệu hoạt động doanh nghiệp, tổ chức Với tính phổ biến máy tính thƣơng mại điện tử, ngày có nhiều sở liệu giao tác Khai phá liệu sở liệu giao tác tập trung vào khai phá lật kết hợp, tìm mối tƣơng quan mục liệu ghi giao dịch Nghiên cứu sâu sở liệu giao tác đƣợc mô tả chi tiết phần sau Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page 10 of 126 10 Cơ sở liệu không gian Cơ sở liệu không gian bao gồm hai phần: Phần thứ liệu quan hệ hay giao tác, phần thứ hai thông tin định vị thông tin địa lý Những luật kết hợp sở liệu không gian mô tả mối quan hệ đặc trƣng sở liệu không gian Dạng luật kết hợp không gian có dạng X => Y, với X, Y tập hợp vị từ không gian Những thuật toán khai phá luật kết hợp không gian tƣơng tự nhƣ khai phá luật kết hợp nhƣng thêm vị từ không gian Cơ sở liệu có yếu tố thời gian Giống nhƣ sở liệu không gian, sở liệu có yếu tố thời gian bao gồm hai phần: Phần thứ liệu quan hệ hay giao tác, phần thứ hai thông tin thời gian xuất liệu phần thứ Những luật kết hợp có yếu tố thời gian có nhiều thông tin luật kết hợp Ví dụ, từ luật kết hợp {Bia} {Thuốc lá}, với liệu có yếu tố thời gian có nhiều luật: Độ hỗ trợ luật {Bia} {Thuốc lá} 20% từ đến 13 giờ, 50% thời gian 19 tới 22 Rõ ràng rằng, ngƣời bán lẻ xác định chiến lƣợc để buôn bán tốt Hầu hết nghiên cứu lĩnh vực ngày hình thành hƣớng khai phá liệu gọi khai phá mẫu lặp liên tục, khai phá tập mục liệu thƣờng xuyên sở liệu thời gian Cơ sở liệu đa phương tiện Số lƣợng trang web bùng nổ giới, web có mặt khắp nơi, duyệt web nhu cầu tầng lớp xã hội Thông tin web phát triển với tốc độ cao, khai phá thông tin web (web mining) trở thành lĩnh vực nghiên cứu khai phá liệu, đƣợc nhà nghiên cứu đặc biệt quan tâm Khai phá liệu web thông thƣờng đƣợc chia thành ba phạm trù chính: Khai phá cách dùng web (web usage mining), khai phá c ấu trúc web (web structure mining) khai phá nội dung web (web content mining) Số hóa Trung tâm Học liệu Footer Page 10 of 126 http://www.lrc-tnu.edu.vn/ Header Page 50 of 126 50 CHƢƠNG CHƢƠNG TRÌNH THỬ NGHIỆM Trong luận văn này, em tìm hiểu xây dựng chƣơng trình thử nghiệm thuật toán Clostream khai phá tập mục thƣờng xuyên đóng từ bảng sở liệu giao tác theo thời gian ngôn ngữ C# công cụ lập trình Visual Studio 2010 3.1 Mô tả liệu * Dữ liệu đầu vào: Trong thực tế, hình thức bán hàng siêu thị có hai dạng bán hàng với liệu tình bán hàng với liệu động Bài toán thực nghiệm luận văn sử dụng thuật toán CloStream xét trƣờng hợp toán bán hàng với sở liệu động Với toán bán hàng trực tuyến, thực tế có nhiều mặt hàng liệu tháng trƣớc bán 5000 giao tác, liệu đƣợc đƣa vào khai phá Tháng (chƣa hết tháng, liệu bán đƣợc ngày Bài toán phải tìm tập mục thƣờng xuyên đóng tháng trƣớc ngày tháng sau Theo thời gian, có thêm giao tác vào bảng giao tác, phần mềm tiến hành khai phá tiếp tục với liệu thêm bổ sung vào lịch sử khai phá trƣớc để thu đƣợc tập kết mà thời gian khai phá lại từ đầu Tuy nhiên, số lƣợng giao tác cần phải nhiều (1000 giao tác trở lên), để thuận tiện lúc trình bày chƣơng trình trƣớc hội đồng, em bổ sung chế nhập liệu từ file sẵn bên ngoài, sau ngƣời dùng khai phá lấy kết bổ sung thêm giao dịch vào bảng liệu (mô việc thêm giao tác theo thời gian) tiến hành khai phá tiếp Dữ liệu ban đầu cho thuật toán thuật toán Clostream khai phá tập mục thƣờng xuyên đóng từ bảng sở liệu giao tác bảng liệu giao tác lƣu trữ dạng file excel 2003 theo cấu trúc sau: ID Laptop Chuột MT Số hóa Trung tâm Học liệu Footer Page 50 of 126 Túi sách Tivi Tủ lạnh http://www.lrc-tnu.edu.vn/ Bàn ghế Header Page 51 of 126 10 11 12 13 51 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 Trong đó: Dòng chứa tên item (mặt hàng) Các dòng đại diện cho giao tác Cột dòng ID giao tác Một mặt hàng đƣợc bán giao tác i giá trị ô dòng i cột j có nhãn mặt hàng đƣợc lƣu 1; ngƣợc lại, mặt hàng j không đƣợc bán giao tác i giá trị ô [i,j] = 0; * Dữ liệu đầu ra: - Là tập tất tập mục thƣờng xuyên đóng tìm thấy từ bảng liệu thời 3.2 Xây dựng chƣơng trình Chƣơng trình mô thuật toán Clostream khai phá tập mục thƣờng xuyên đóng từ bảng sở liệu giao tác bảng liệu giao tác, đƣợc viết ngôn ngữ C#, Visual Studio 2010 sử dụng phiên Net Framewok 2.0 Yêu cầu hệ thống sử dụng chƣơng trình: - Cài đặt Net Framework phiên 2.0 trở lên - Hệ điều hành tối thiểu Windows XP SP2 - Trên máy tính PC với cấu hình Pentium 1GHz, 256 MB nhớ RAM trở lên Mã nguồn đƣợc biên dịch thành tệp thực thi exe môi trƣờng Windows nên cần cài đặt thƣ viện yêu cầu chạy đƣợc chƣơng trình * Hướng dẫn sử dụng Chuẩn bị liệu dạng file excel 2003 theo cấu trúc nhƣ sau: Số hóa Trung tâm Học liệu Footer Page 51 of 126 http://www.lrc-tnu.edu.vn/ Header Page 52 of 126 52 Dữ liệu đƣợc tổ chức dạng bảng Trang tính lƣu nội dung liệu phải đặt tên Sheet1 Cột chứa ID giao dịch Mỗi cột bảng tính đại diện cho tập mục Dòng chứa tên tập mục Mỗi dòng giao dịch Ô giao dòng cột chứa liệu tập mục xuất giao dịch ngƣợc lại tập mục không xuất giao dịch Khi chọn liệu, định dạng liệu bị sai, chƣơng trình thực thi báo lỗi 3.3 Kết thực nghiệm Chạy file: Mở file chạy Clostream.exe - Nhấn nút “chọn File liệu” - Tim đƣờng dẫn đến file excel (hoặc tích chọn số mục “mục liệu” để thêm giao tác) - Chọn “Thêm giao tác” - Nhập ngƣỡng độ hỗ trợ tối thiểu vào ô tƣơng ứng - Nhấp nút “Tìm tập mục thƣờng xuyên đóng”, chƣơng trình tính toán đƣa kết tập mục thƣờng xuyên đóng vào “Tìm tập mục thƣờng xuyên đóng” tƣơng ứng - Ngƣời dùng tiếp tục thêm giao tác thực khai phá Chƣơng trình hiển thị tập mục thƣờng xuyên đóng thỏa ngƣỡng độ hỗ trợ tối thiểu mà ta vừa nhập Ví dụ 3.1: Khi thực tệp SuperMarketData20x300.xls tìm tập mục thƣờng xuyên đóng với độ hỗ trợ tối thiểu minsupp= 30% Chƣơng trình tìm đƣợc tập mục thƣờng xuyên đóng nhƣ sau: Số hóa Trung tâm Học liệu Footer Page 52 of 126 http://www.lrc-tnu.edu.vn/ Header Page 53 of 126 53 Hình 3.1: Kết khai phá với minsup = 30% tệp SuperMarketData20x300.xls Tại thời điểm sau đó, giả sử sở liệu nhập vào gồm: Laptop, Chuột MT, Tivi, Bàn ghế, điều hòa, Dây điện Nhập ngƣỡng độ hỗ trợ tối thiểu 10% Chƣơng trình bổ sung sở liệu (giao tác thứ 301) tìm đƣợc tập mục thƣờng xuyên đóng nhƣ sau: Số hóa Trung tâm Học liệu Footer Page 53 of 126 http://www.lrc-tnu.edu.vn/ Header Page 54 of 126 54 Ví dụ 3.2: Khi thực tệp SuperMarketData9x1040.xls tìm tập mục thƣờng xuyên đóng với độ hỗ trợ tối thiểu minsupp= 20% Chƣơng trình tìm đƣợc tập mục thƣờng xuyên đóng nhƣ sau: Hình 3.3: Kết khai phá với minsup = 20% tệp SuperMarketData9x1040.xls 3.4 Nhận xét Qua kết thực nghiệm thuật toán cho thấy: Thuật toán CloStream tìm tập mục thƣờng xuyên đóng dòng liệu nhanh hiệu Kết khai thác với mô tả thuật toán mô hình liệu mà thuật toán sử dụng Nếu muốn khai thác khối liệu xuất hiện, ta cần đặt lại điểm mốc cách đƣa khối giao tác vào lần đầu Số hóa Trung tâm Học liệu Footer Page 54 of 126 http://www.lrc-tnu.edu.vn/ Header Page 55 of 126 55 KẾT LUẬN Những kết nghiên cứu đạt Luận văn tổng hợp nét khai phá liệu nói chung, khai phá tập mục thƣờng xuyên nói riêng với sâu vào vấn đề khai phá tập mục thƣờng xuyên đóng dòng liệu Sau điểm mà luận văn tập trung giải - Luận văn trình bày tổng quan khai phá liệu Trình bày chi tiết vấn đề khai phá tập mục thƣờng xuyên: khái niệm bản, cách tiếp cận để khai phá thuật toán điển hình: thuật toán Apriori thuật toán FP-Growth - Luận văn sâu vào vấn đề khai phá tập mục thƣờng xuyên dòng liệu Do đặc điểm dòng liệu nên khai phá đặt số thách thức mới, đòi hỏi phải có phƣơng pháp kỹ thuật phù hợp Luận văn trình bày phân tích rõ mô hình xử lý liệu dòng liệu tác là: lấy điểm mốc, lấy điểm mốc với gán trọng số mô hình trƣợt cửa sổ Luận văn tóm lƣợc thuật toán, phân loại thuật toán khai phá theo mô hình xử lý liệu kiểu thuật toán khai thác xác hay xấp xỉ - Luận văn trình bày chi tiết thuật toán CloStream thuật toán trội khai phá tập mục thƣờng xuyên đóng dòng liệu Các sở toán học liên quan nhƣ khái niệm toán tử đóng, tập mục thƣờng xuyên đóng đƣợc trình bày rõ ví dụ minh họa Các cấu trúc liệu sử dụng thuật toán bƣớc thực thuật toán trình bày chi tiết Luận văn phân tích ƣu điểm mặt hạn chế thuật toán - Cài đặt thực nghiệm thành công thuật toán CloStream, kết thực nghiệm khẳng định tính hiệu trội thuật toán Hướng nghiên cứu đề tài Nghiên cứu thuật toán khai phá tập mục thƣờng xuyên dòng liệu hƣớng nghiên cứu đƣợc nhiều nhà nghiên cứu quan tâm tính ứng dụng vào nhiều lĩnh vực Đề tài luận văn tiếp tục nghiên cứu tiếp số vấn đề sau Số hóa Trung tâm Học liệu Footer Page 55 of 126 http://www.lrc-tnu.edu.vn/ Header Page 56 of 126 56 - Khai phá luật kết hợp dựa tập mục thƣờng xuyên đóng tìm đƣợc - Phát triển kỹ thuật khai thác xấp xỉ để phù hợp với môi trƣờng dòng liệu có tốc độ cao - Khai phá dòng liệu giao tác mà giao tác có giá trị liệu số - Khai phá tập mục thƣờng xuyên có kèm theo điều kiện ràng buộc để phù hợp với mục đích sử dụng Số hóa Trung tâm Học liệu Footer Page 56 of 126 http://www.lrc-tnu.edu.vn/ Header Page 57 of 126 57 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Huy Đức (2009), “Khai phá tập mục cổ phần cao lợi ích cao sở liệu”, Luận án Tiến sĩ Toán học, Viện Công nghệ Thông tin – Viện KH CN Việt Nam [2] Nguyễn Hữu Trọng (2008), “Phát triển số thuật toán khai phá luật kết hợp sở liệu gia tăng”, Luận án Tiến sĩ Toán học, Viện Công nghệ Thông tin – Viện KH CN Việt Nam [3] Hồ Thuần, Hồ Cẩm Hà (2005), “Các hệ sở liệu: Lý thuyết tập”, NXB Giáo dục [4] Hoàng Kiếm, Đỗ Phúc (2001), “Phát triển thuật toán tìm tập phổ biến sở liệu”, Hội thảo Quốc gia lần thứ IV: Một số vấn đề chọn lọc Công Nghệ Thông Tin, Hải Phòng Tiếng Anh: [5] James Cheng · Yiping Ke · Wilfred Ng, “A survey on algorithms for mining frequent itemsets over data streams”, Springer-Verlag London Limited 2007 [6] Chi Y, Wang H, Yu P, Muntz R (2004), “Moment: maintaining closed frequent itemsets over a stream sliding window” In: Proceedings of the 4th IEEE international conference on data mining, Brighton, UK [7] Nan Jiang and Le Gruenwald, the University of Oklahoma, School of Computer Science, Norman, OK 73019, USA (2006) “Research Issues in Data Stream Association Rule Mining”; SIGMOD Record, Vol 35, No 1, p 14 - 19 [8] Show-Jane Yen, Yue-Shi Lee, Cheng-Wei Wu, and Chin-Lin Lin (2009), “An Efficient Algorithm for Maintaining Frequent Closed Itemsets over Data Stream” © Springer-Verlag Berlin Heidelberg 2009 [9] Nan Jiang, Le Gruenwald, School of Computer Science The University of Oklahoma Norman, OK 73019, USA (2006), “CFI-Stream: Mining Closed Frequent Itemsets in Data Streams” Số hóa Trung tâm Học liệu Footer Page 57 of 126 http://www.lrc-tnu.edu.vn/ Header Page 58 of 126 58 PHỤ LỤC Mã nguồn chương trình using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.IO; namespace Clostream { public partial class Form1 : Form { public Form1() { InitializeComponent(); } ListView dic_trans = new ListView(); ListView cloItemSet = new ListView(); int number_trans = 0; int lastTran = 0; private void btnLoad_Click(object sender, EventArgs e) { try { OpenFileDialog m_openfiledlg = new OpenFileDialog(); m_openfiledlg.InitialDirectory = Application.StartupPath; m_openfiledlg.Filter = "Microsoft Excel Worksheet (*.xls)|*.xls"; m_openfiledlg.ShowDialog(); //doc excel vao dataset string connectionString = string.Empty; connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + m_openfiledlg.FileName + ";Extended Properties=Excel 8.0;"; // Tạo đối tƣợng kết nối OleDbConnection oledbConn = new OleDbConnection(connectionString); DataTable dt = null; try { // Mở kết nối oledbConn.Open(); Số hóa Trung tâm Học liệu Footer Page 58 of 126 http://www.lrc-tnu.edu.vn/ Header Page 59 of 126 59 // Tạo đối tƣợng OleDBCommand query data từ sheet có tên "Sheet1" OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn); // Tạo đối tƣợng OleDbDataAdapter để thực thi việc query lấy liệu từ tập tin excel OleDbDataAdapter oleda = new OleDbDataAdapter(); oleda.SelectCommand = cmd; // Tạo đối tƣợng DataSet để hứng liệu từ tập tin excel DataSet ds = new DataSet(); // Đổ đữ liệu từ tập excel vào DataSet oleda.Fill(ds); if (ds.Tables.Count > 0) dt = ds.Tables[0]; else dt = null; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { // Đóng chuỗi kết nối oledbConn.Close(); } //Add datatable vao listview lv_Transactions.Items.Clear(); if (dt != null && dt.Columns.Count > && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { string itemlist = ""; for (int j = 1; j Convert.ToInt16(cloItemSet.Items[Convert.ToInt16(temp.Items[index].SubItems[0].Te xt)].SubItems[2].Text)) temp.Items[index].SubItems[0].Text = setxx; } else { lviTemp = new ListViewItem(setxx); lviTemp.SubItems.Add(s); temp.Items.Add(lviTemp); } } } for (int i = 0; i < temp.Items.Count; i++) Số hóa Trung tâm Học liệu Footer Page 61 of 126 http://www.lrc-tnu.edu.vn/ Header Page 62 of 126 62 { int t = Convert.ToInt16(temp.Items[i].SubItems[0].Text); if (sameItem(temp.Items[i].SubItems[1].Text, cloItemSet.Items[t].SubItems[1].Text)) cloItemSet.Items[t].SubItems[2].Text = (Convert.ToInt16(cloItemSet.Items[t].SubItems[2].Text) + 1).ToString(); else { cloItemSet.Items.Add(cloItemSet.Items.Count.ToString()); cloItemSet.Items[cloItemSet.Items.Count 1].SubItems.Add(temp.Items[i].SubItems[1].Text); cloItemSet.Items[cloItemSet.Items.Count 1].SubItems.Add((Convert.ToInt16(cloItemSet.Items[t].SubItems[2].Text) + 1).ToString()); } } lastTran++; } //Tim cac tap muc thuong xuyen dong hien thi listview int stt = 1; lv_FreItems.Items.Clear(); int minsup = Convert.ToInt16(Convert.ToInt16(txt_minSup.Text) * lv_Transactions.Items.Count * 0.01); for(int i=1;i= minsup) { lv_FreItems.Items.Add(stt.ToString()); lv_FreItems.Items[stt1].SubItems.Add(cloItemSet.Items[i].SubItems[1].Text); lv_FreItems.Items[stt 1].SubItems.Add(cloItemSet.Items[i].SubItems[2].Text); stt++; } } } catch (Exception) { throw; } } private string Set(string t) { if (cloItemSet.Items.Count == 0) return ""; else Số hóa Trung tâm Học liệu Footer Page 62 of 126 http://www.lrc-tnu.edu.vn/ Header Page 63 of 126 63 { string tlist = ""; string[] item = t.Split(','); for (int j = 0; j < cloItemSet.Items.Count; j++) { bool exist = false; string[] FreItem = cloItemSet.Items[j].SubItems[1].Text.Split(','); foreach (string freitem in FreItem) { foreach (string itemx in item) if (freitem.Trim().Equals(itemx.Trim())) { exist = true; break; } if (exist) break; } if (exist) tlist += cloItemSet.Items[j].SubItems[0].Text + ","; } if(!tlist.Equals("")) tlist = tlist.Substring(0, tlist.Length - 1); return tlist; } } private string TimTapGiao(string a, string b) { string t = ""; string[] ax = a.Split(','); string[] bx = b.Split(','); foreach (string axx in ax) foreach (string bxx in bx) if (axx.Trim().Equals(bxx.Trim())) t += axx + ","; return t.Substring(0,t.Length-1); } private bool exitItemSet(string item1, string item2) { string[] ax = item1.Split(','); string[] bx = item2.Split(','); foreach (string axx in ax) { bool exist = false; foreach (string bxx in bx) if (axx.Trim().Equals(bxx.Trim())) exist=true; if (!exist) return false; Số hóa Trung tâm Học liệu Footer Page 63 of 126 http://www.lrc-tnu.edu.vn/ Header Page 64 of 126 64 } return true; } private bool sameItem(string item1,string item2) { string[] x = item1.Split(','); string[] y = item2.Split(','); if (y.Length == x.Length) { bool exist = true; foreach (string xx in x) { bool exitsx = false; foreach (string yy in y) if (xx.Equals(yy)) exitsx = true; if (!exitsx) { exist = false; break; } } if (exist) return true; else return false; } return false; } private int support(string itemset, ListView dic_tran) { int support = 0; for (int i = 0; i < dic_tran.Items.Count; i++) if (exitItemSet(itemset, dic_tran.Items[i].SubItems[1].Text)) support++; return support; } } } Số hóa Trung tâm Học liệu Footer Page 64 of 126 http://www.lrc-tnu.edu.vn/ ... >supp(Y), Y tập cha X, Y X, X = f(X) 2.4 Khai phá tập mục thƣờng xuyên dòng liệu giao tác Bài toán khai phá tập mục thƣờng xuyên dòng liệu giao tác đƣợc phát biểu nhƣ sau: Khai phá tập mục thƣờng xuyên. .. thiết khai phá tất tập mục thƣờng xuyên mà cần khai phá tập mục thƣờng xuyên đóng Khai phá luật kết hợp dựa tập mục thƣờng xuyên đóng cho hiệu cao hơn, đảm bảo không tìm tập mục thƣờng xuyên. .. Bất kỳ tập tập mục thƣờng xuyên phải tập mục thƣờng xuyên Vì tập mục ứng viên gồm k mục đƣợc sinh cách kết nối tập mục thƣờng xuyên có (k-1) mục loại bỏ tập mục ứng viên có chứa tập thƣờng xuyên

Ngày đăng: 14/05/2017, 14:54

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