Đặt vấn đề Ngày nay, con ngƣời đang sở hữu kho dữ liệu phong phú, đa dạng và khổng lồ. Đặc biệt sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực đã làm cho kho dữ liệu đó tăng lên nhanh chóng. Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển đổi lƣợng dữ liệu khổng lồ kia thành các tri thức có ích. Mặt khác, trong môi trƣờng cạnh tranh thì ngƣời ta ngày càng cần có thông tin với tốc độ nhanh để giúp cho việc ra quyết định.
Hơn nữa ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên khối lƣợng dữ liệu khổng lồ đã có. Tiến hành các công việc nhƣ vậy chính là quá trình phát hiện tri thức trong cơ sở dữ liệu, trong đó kỹ thuật khai phá dữ liệu cho phép phát hiện tri thức tiềm ẩn. Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền Công nghệ thông tin thế giới hiện nay nói chung và Việt Nam nói riêng. Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu đƣợc những lợi ích to lớn.
Từ những vấn đề nêu trên, tôi chọn đề tài “Nghiên cứu luật kết hợp, thử nghiệm khai phá cơ sở dữ liệu xuất nhập khẩu” để làm luận văn tốt nghiệp. Mục tiêu của luận văn Tìm hiểu khái quát về khai phá dữ liệu Đi sâu tìm hiểu về các luật kết hợp Nghiên cứu Data mining trong hệ quản trị cơ sở dữ liệu SQL Server Thử nghiệm khai phá luật kết hợp trong cơ sở dữ liệu xuất nhập khẩu 1 z 3. Bố cục luận văn Luận văn chia làm 3 chƣơng: Chƣơng 1: Tổng quan về khai phá dữ liệu Chƣơng này giới thiệu quá trình khai phá dữ liệu và phát hiện tri thức, phƣơng pháp khai phá dữ liệu, ứng dụng và một số khó khăn trong khai phá dữ liệu. Chƣơng 2: Luật kết hợp trong khai phá dữ liệu Chƣơng này trình bày tóm tắt luật kết hợp, mô hình của bài toán khai phá luật kết hợp, các khái niệm cơ bản luật kết hợp, các phƣơng pháp khai phá các luật kết hợp, các giải pháp triển khai khai phá luật kết hợp.
Chƣơng 3: Thử nghiệm khai phá luật kết hợp cho cơ sở dữ liệu xuất nhập khẩu Chƣơng này nêu ra bài toán để thử nghiệm, phân tích và cài đặt thử nghiệm thử nghiệm với công cụ Business Intelligence Development Studio (BIDS) của Microsoft. 2 z CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá dữ liệu 1.1 Khái niệm Khai phá dữ liệu Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ 80, nó là quá trình tìm kiếm, khám phá dƣới nhiều góc độ khác nhau nhằm phát hiện các mối liên hệ, quan hệ giữa các dữ liệu, đối tƣợng bên trong CSDL, kết quả của việc khai phá là xác định các mẫu hay các mô hình tồn tại bên trong nhƣng chúng nằm ẩn ở các CSDL. Về bản chất nó là giai đoạn duy nhất rút trích và tìm ra đƣợc các mẫu, các mô hình hay thông tin mới, tri thức tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán. Đây là giai đoạn quan trọng nhất trong quá trình phát hiện tri thức từ CSDL, các tri thức này hỗ trợ trong việc ra quyết định, điều hành trong khoa học và kinh doanh.
Sau đây là một số định nghĩa của nhiều tác giả về khai phá dữ liệu: Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phƣơng pháp đƣợc dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chƣa biết bên trong dữ liệu”. Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta tìm kiếm các mẫu thông tin chƣa biết và bất ngờ trong CSDL lớn”. Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm thƣờng nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể hiểu đƣợc”. Định nghĩa của Tom Mitchell: “KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tƣơng lai”.
Tóm lại: Khai phá dữ liệu là tiến trình khám phá tri thức tiềm ẩn trong các CSDL, cụ thể hơn, đó là tiến trình lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn, chƣa biết những thông tin hữu ích từ các CSDL lớn.2 Quá trình khai phá dữ liệu Quá trình khai phá dữ liệu sẽ tiến hành qua 6 giai đoạn nhƣ hình 1.1: Envalution of Rule Data Mining Transformation Cleansing Pre-processing Preparation Knowledge Selection Pattern Discovery Gathering Transformed Data Cleansed Preprocessed Target Preparated Internet Data Data Hình 1.1 Quá trình khai phá dữ liệu Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức đƣợc chiết xuất ra. Về lý thuyết thì có vẽ rất đơn giản nhƣng thực sự đây là một quá trình rất khó khăn gặp phải rất nhiều vƣớng mắc nhƣ: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ quá trình,. Gom dữ liệu (Gathering) Tập hợp dữ liệu là bƣớc đầu tiên trong quá trình khai phá dữ liệu. Đây là bƣớc đƣợc khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web.
Trích lọc dữ liệu (Selection) Ở giai đoạn này dữ liệu đƣợc lựa chọn hoặc phân chia theo một số tiêu chuẩn nào đó, ví dụ chọn tất cả những ngƣời có tuổi đời từ 25 – 35 và có trình độ đại học. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and Preparation) 4 z Giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhƣng thực tế nó là một bƣớc rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thƣờng mắc phải trong khi gom dữ liệu là tính không đủ chặt chẽ, logic. Vì vậy, dữ liệu thƣờng chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu.
Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên. Những dữ liệu dạng này đƣợc xem nhƣ thông tin dƣ thừa, không có giá trị. Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu không đƣợc “làm sạch - tiền xử lý - chuẩn bị trƣớc” thì sẽ gây nên những kết quả sai lệch nghiêm trọng. Chuyển đổi dữ liệu (Transformation) Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đƣa ra có thể đƣợc sử dụng và điều khiển bởi việc tổ chức lại nó.
Dữ liệu đã đƣợc chuyển đổi phù hợp với mục đích khai thác. Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery) Đây là bƣớc mang tính tƣ duy trong khai phá dữ liệu. Ở giai đoạn này nhiều thuật toán khác nhau đã đƣợc sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thƣờng dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ liệu tuần tự,.
Đánh giá kết quả mẫu (Evaluation of Result) Đây là giai đoạn cuối trong quá trình khai phá dữ liệu. Ở giai đoạn này, các mẫu dữ liệu đƣợc chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy, cần phải ƣu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowledge) cần chiết xuất ra.
Trên đây là 6 giai đoạn trong quá trình khai phá dữ liệu, trong đó giai đoạn 5 là giai đoạn đƣợc quan tâm nhiều nhất hay còn gọi đó là Data Mining.3 Kiến trúc của một hệ thống khai phá dữ liệu Gồm các thành phần nhƣ hình sau 5 z Giao diện đồ họa cho ngƣời dùng Đánh giá mẫu Cơ sở tri thức Máy khai phá dữ liệu Máy chủ cơ sở dữ liệu hay kho dữ liệu Làm sạch và tích hợp dữ liệu Lọc dữ liệu CSDL CSDL Kho dữ liệu Hình 1.2 Kiến trúc hệ thống khai phá dữ liệu Các thành phần đƣợc mô tả nhƣ sau: 1. Máy chủ cơ sở dữ liệu hay máy chủ kho dữ liệu (Database or warehouse server) Máy chủ này có trách nhiệm lấy dữ liệu thích hợp dựa trên những yêu cầu khai phá của ngƣời dùng. Cơ sở tri thức (Knowledge base) Đây là miền tri thức đƣợc dùng để tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả. Máy khai phá dữ liệu (Data mining engine) Một hệ thống khai phá dữ liệu cần phải có một tập các modul chức năng để thực hiện công việc, chẳng hạn nhƣ đặc trƣng hóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hoá… 4.
Modul đánh giá mẫu (Pattern evaluation) Bộ phận này tƣơng tác với các modul khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng đƣợc quan tâm. Cũng có thể modul đánh giá mâu đƣợc tích hợp vào modul khai phá tuỳ theo sự cài đặt của phƣơng pháp khai phá đƣợc dùng. Giao diện đồ họa cho người dùng (Graphical user interface) Thông qua giao diện này, ngƣời dùng tƣơng tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian.4 Nhiệm vụ chính trong khai phá dữ liệu Quá trình khai phá dữ liệu là quá trình phát hiện ra mẫu thông tin. Trong đó, giải thuật khai phá tìm kiếm các mẫu đáng quan tâm theo dạng xác định nhƣ các luật, phân lớp, hồi quy, cây quyết định, .1 Phân lớp (phân loại - classification) Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã đƣợc biết trƣớc đó.
Mục tiêu của thuật toán phân lớp là tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp. Nhƣ thế quá trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới. Các kiến thức đƣợc phát hiện biểu diễn dƣới dạng các luật theo cách sau: “Nếu các thuộc tính dự báo của một mục thoả mãn điều kiện của các tiền đề thì mục nằm trong lớp chỉ ra trong kết luận”. Ví dụ: Một mục biểu diễn thông tin về nhân viên có các thuộc tính dự báo là: họ tên, tuổi, giới tính, trình độ học vấn, … và thuộc tính phân loại là trình độ lãnh đạo của nhân viên.