Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1. Tổng quan về khai phá dữ liệu 1. Tại sao cần khai phá dữ liệu Khoảng hơn một thập kỷ trở lại đây, lƣợng thông tin đƣợc lƣu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, .) không ngừng tăng lên. Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ.
Ngƣời ta ƣớc đoán rằng lƣợng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lƣợng cũng nhƣ kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng. Nói một cách hình ảnh là chúng ta đang “ngập” trong dữ liệu nhƣng lại “đói” tri thức. Câu hỏi đặt ra là liệu chúng ta có thể khai thác đƣợc gì từ những “núi” dữ liệu tƣởng chừng nhƣ “bỏ đi” ấy không? [3] “Necessity is the mother of invention” - Data Mining ra đời nhƣ một hƣớng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên. Khá nhiều định nghĩa về Data Mining, tuy nhiên có thể tạm hiểu rằng Data Mining nhƣ là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu đƣợc tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó.
Các khái niệm cơ bản Khai phá dữ liệu (datamining) [4] đƣợc định nghĩa nhƣ là một quá trình chắt lọc hay khai phá tri thức từ một lƣợng lớn dữ liệu. Một ví dụ hay đƣợc sử dụng là là việc khai thác vàng từ đá và cát, Dataming đƣợc ví nhƣ công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trƣớc. Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lƣợng lớn các dữ liệu thô. Có nhiều thuật ngữ hiện đƣợc dùng cũng có nghĩa tƣơng tự với từ Datamining nhƣ Knowledge Mining (khai phá tri thức), knowledge h 4 extraction (chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu),.
Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó. Khai phá dữ liệu nhấn mạnh hai khía cạnh chính đó là khả năng trích xuất thông tin có ích tự động (Automated) và bán tự động (Semi - Automated) mang tính dự đoán (Predictive). Khai phá dữ liệu là một lĩnh vực liên ngành, liên quan chặt chẽ đến các lĩnh vực sau: Statistics (Thống kê): là một số đo cho một thuộc tính nào đó của một tập mẫu. Mỗi giá trị thống kê đƣợc tính bằng một hàm nào đó và thông tin của môt thống kê mang tính đại diện cho thông tin của tập mẫu mang lại.
Machine Learning (Máy học): là một phƣơng pháp để tạo ra các chƣơng trình máy tính bằng việc phân tích các tập dữ liệu. Máy học có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhƣng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán. Databases technology (Công nghệ cơ sở dữ liệu): kho thông tin về một chủ đề, đƣợc tổ chức hợp lý để dễ dàng quản lý và truy tìm. Visualization (Sự trực quan): Biểu diễn giúp dữ liệu dễ hiểu, dễ sử dụng, thuận tiện cho việc tạo các báo cáo, tìm ra các tri thức phục vụ việc ra quyết định và dự đoán của nhà quản lý.
Quy trình khai phá dữ liệu Khai phá dữ liệu là một bƣớc trong bảy bƣớc của quá trình KDD (Knowleadge Discovery in Database) và KDD đƣợc xem nhƣ 7 quá trình khác nhau theo thứ tự sau [1]: 1. Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu không cần thiết. Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing). Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức.
Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data),. Chuyển đổi dữ liệu: Các dữ liệu đƣợc chuyển đổi sang các dạng phù hợp cho quá trình xử lý. Khai phá dữ liệu (data mining): Là một trong các bƣớc quan trọng nhất, trong đó sử dụng những phƣơng pháp thông minh để chắt lọc ra những mẫu dữ liệu. Ƣớc lƣợng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm đƣợc thông qua các độ đo nào đó.
Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho ngƣời dùng.1- Các bước trong khai phá dữ liệu [1] 1. Các bài toán cơ bản trong khai phá dữ liệu Mô tả khái niệm (concept description): là bài toán tìm đặc trƣng và tính chất của khái niệm. Bài toán thiên về mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ: tóm tắt văn bản.
Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng khá đơn giản. Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khô”. Luật kết hợp đƣợc ứng dụng nhiều trong lĩnh vực kính doanh, y học, tin-sinh, tài chính & thị trƣờng chứng khoán,. Phân lớp và dự đoán (classification & prediction): xếp một đối tƣợng vào một trong những lớp đã biết trƣớc.
Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết. Hƣớng tiếp cận này thƣờng sử dụng một số kỹ thuật của machine h 7 learning nhƣ cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network),. Ngƣời ta còn gọi phân lớp là học có giám sát (học có thầy). Phân cụm (clustering): xếp các đối tƣợng theo từng cụm (số lƣợng cũng nhƣ tên) của cụm chƣa đƣợc biết trƣớc.
Ngƣời ta còn gọi phân cụm là học không giám sát (học không thầy). Hồi quy (regression ): là bài toán điển hình trong phân tích thống kê và dự báo. Trong khai phá dữ liệu, bài toán hồi quy đƣợc quy về việc học một hàm ánh xạ dữ liệu nhằm xác định một giá trị thực của một biến theo biến số khác. Phân tích hồi quy sẽ xác định đƣợc định lƣợng quan hệ giữa các biến, và quảng bá giá trị một biến phụ thuộc vào giá trị của những biến khác.
Phƣơng pháp hồi quy khác với phân lớp dự liệu là hồi quy dùng để dự đoán những giá trị liên lục, còn phân lớp dữ liệu là dự đoán các giá trị rời rạc. Khai phá chuỗi (sequential/temporal patterns): tƣơng tự nhƣ khai phá luật kết hợp nhƣng có thêm tính thứ tự và tính thời gian. Hƣớng tiếp cận này đƣợc ứng dụng nhiều trong lĩnh vực tài chính và thị trƣờng chứng khoán vì nó có tính dự báo cao. Ngoài ra còn có một số bài toán khai phá dữ liệu thống kê khác.
Các ứng dụng của khai phá dữ liệu Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán, tính toán song song và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu. Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phƣơng pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật. Ngân hàng dữ liệu (Data Warehousing) và các công cụ phân tích h 8 trực tuyến (OLAP- On Line Analytical Processing) cũng liên quan rất chặt chẽ với phát hiện tri thức và khai phá dữ liệu. Khai phá dữ liệu có nhiều ứng dụng trong thực tế,[3] ví dụ nhƣ: Bảo hiểm, tài chính và thị trƣờng chứng khoán: phân tích tình hình tài chính và dự báo giá của các loại cổ phiếu trong thị trƣờng chứng khoán.
Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận,. Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định. Điều trị y học và chăm sóc y tế: một số thông tin về chuẩn đoán bệnh lƣu trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phƣơng pháp điều trị (chế độ dinh dƣỡng, thuốc, .) Sản xuất và chế biến: Quy trình, phƣơng pháp chế biến và xử lý sự cố.
Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt văn bản,. Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền,. Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi, sự cố, chất lƣợng dịch vụ, dự báo thuê bao rời mạng. Quy trình xây dựng mô hình khai phá dữ liệu Việc thực hiện một DMM với đầy đủ 4 bƣớc công việc chính của quá trình khai phá dữ liệu là: h 9 Bƣớc 1: Chuẩn bị dữ liệu (Data Preparation); Trong bƣớc này chúng ta thực hiện các công việc tiền xử lý dữ liệu theo yêu cầu của mô hình nhƣ trích chọn thuộc tính, rời rạc hóa dữ liệu và cuối cùng là chia dữ liệu nguồn (Data Source) thành 2 tập dữ liệu dùng để huấn luyện mô hình (Training Data) và kiểm tra mô hình (Testing data).
Bƣớc 2: Xây dựng mô hình (Data Modeling); ta sử dụng Training Data vừa tạo ra để xây dựng mô hình. Bƣớc 3: Đánh giá mô hình (Validation); Sau khi sử dụng Training Data để xây dựng mô hình, bây giờ ta sử dụng Testing Data để kiểm tra xem mô hình có đủ tốt để sử dụng hay không? ( Nếu chƣa đủ tốt thì phải sử dụng Training Data khác để huấn luyện lại). Có 3 kỹ thuật chính để kiểm tra mô hình đó là sử dụng Accuracy Chart ( Lift Chart), Classification Matrix và ProfitChart. Bƣớc 4: Sử dụng mô hình để dự đoán dự liệu trong tƣơng lai (Model Usage); Sau khi mô hình đƣợc kiểm tra (Testing) nếu độ chính xác đáp ứng yêu cầu thì có thể sử dụng model đã xây dựng vào dự đoán các dữ liệu chƣa biết.2 - Quy trình xây dựng mô hình khai phá dữ liệu h 10 1.Bài toán phân lớp và dự báo 1.