Đề tài Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu. Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các cơ sở dữ liệu lớn. Đồng thời là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cực cho các tiến trình ra quyết định. Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khai phá tri thức từ CSDL, trích lọc dữ liệu, phân tích dữ liệu/mẫu, khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredredging). Nhiều người coi khai phá dữ liệu và một số thuật ngữ thông dụng khác là khám phá tri thức trong CSDL (Knowledge Discovery in Databases-KDD) là như nhau. Tuy nhiên trên thực tế khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Khám phá tri thức trong CSDL. Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau: Khai phá dữ liệu được ví như tìm một cây kim trong đống cỏ khô. Trong ví dụ này, cây kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu rộng lớn. Như vậy, những thông tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ liệu. Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dự báo, dự đoán và phân tích các liên kết. Nguồn dữ liệu phục vụ cho KTDL có thể là các CSDL lớn hay các kho dữ liệu (Datawarehouse) có hay không có cấu trúc. Các tác vụ khai phá dữ liệu có thể được phân thành hai loại: miêu tả và dự báo - Các tác vụ khai phá miêu tả mô tả các đặc tính chung của dữ liệu trong cơ sở dữ liệu. Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm có: phân cụm (clustering), tóm tắt (summerization), trực quan hoá (visualiztion), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), phân tích luật kết hợp (association rules) - Các tác vụ khai phá dự báo thực hiện việc suy luận trên dữ liệu hiện thời để đưa ra các dự báo. Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy (regression)

doc109 trang | Chia sẻ: tuandn | Lượt xem: 2866 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT AS Analysis Services BIDS Intelligence Development Studio BI Dev Studio Business Intelligent Developtment CSDL Cơ sở dữ liệu DM Data mining: Khai phá dữ liệu DMX Data Mining eXtensions DSV Data Source View DTS Data Transformation Services IDS/IPS Intrusion Detection System/ Intrusion Prevention System KDD Knowledge Discovery and Data Mining KTDL Khai thác dữ liệu KDL Kho dữ liệu MDDM Dimensional Data Model: Mô hình dữ liệu đa chiều MMPB Mining Model Prediction Builder MSE Mining Structure Editor MSS Microsoft SQL Server OLAP Online Analytical Processing SRSWOR Simple random sample without replacement SRSWR Simple random sample with replacement DANH MỤC CÁC BẢNG Bảng 2.1: Tần số quan sát 19 Bảng 3.1: Dữ liệu chơi golf 30 Bảng 3.2: Ví dụ về một CSDL giao dịch – D 32 Bảng 3.3: Tập mục thường xuyên minsup = 50% 33 Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE 34 Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi 37 Bảng 3.6: Mẫu dữ liệu khách hàng 38 Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng 39 Bảng 3.8: Bảng sự kiện cho biến nhị phân 55 Bảng 3.9: Một bảng quan hệ trong đó các bệnh nhân được mô tả bằng các biến nhị phân. 56 Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp 57 DANH MỤC HÌNH VẼ Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức 12 Hình 2.2: Tổng quan tiến trình khai phá dữ liệu 13 Hình 2.3: Các hình thức tiền xử lý dữ liệu 14 Hình 2.4: Một histogram cho price sử dụng singleton bucket biểu diễn một cặp price value/frequency 21 Hình 2.5: Một histogram có độ rộng bằng nhau cho price 21 Hình 2.6: Phương pháp lấy mẫu 23 Hình 2.7: Một lược đồ phân cấp cho khái niệm price 24 Hình 2.8: Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị phân biệt của các thuộc tính 25 Hình 3.1: Kết quả của cây quyết định 29 Hình 3.2: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3) 34 Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều 35 Hình 3.4: Các mẫu tin biểu diễn thành điểm trong một không gian bởi các thuộc tính của chúng và khoảng cách giữa chúng có thể được đo 37 Hình 3.6: Đồ thị dựa vào hai độ đo 40 Hình 3.7: Đồ thị tương tác 3 chiều 40 Hình 3.8: Mô phỏng kiến trúc mạng neural 41 Hình 3.5: Minh họa thuật toán k-means 60 LỜI NÓI ĐẦU 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 của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên. Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó. Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống không đáp ứng được kỳ vọng này, nên đã ra đời Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining). Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Trong phạm vi của đề tài nghiên cứu này, tôi xin được trình bày những kiến thức cơ bản về khai phá dữ liệu và việc ứng dụng khai phá dữ liệu trong hệ thống IDS/IPS. Trong quá trình hoàn thành đề tài này tôi đã nhận được sự giúp đỡ chỉ bảo tận tình của các thầy cô giáo và bạn bè, đặc biệt là thầy giáo Vũ Đình Thu. Nhưng do giới hạn thời gian và năng lực nên không tránh khỏi những sai sót, rất mong nhận được sự góp ý hơn nữa của thầy cô và các bạn. Em chân thành cảm ơn các thầy, cô! Sinh viên thực hiện Vũ Thị Vân Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Giới thiệu về khai phá dữ liệu Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu. Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các cơ sở dữ liệu lớn. Đồng thời là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cực cho các tiến trình ra quyết định. Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khai phá tri thức từ CSDL, trích lọc dữ liệu, phân tích dữ liệu/mẫu, khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredredging). Nhiều người coi khai phá dữ liệu và một số thuật ngữ thông dụng khác là khám phá tri thức trong CSDL (Knowledge Discovery in Databases-KDD) là như nhau. Tuy nhiên trên thực tế khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Khám phá tri thức trong CSDL. Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau: Khai phá dữ liệu được ví như tìm một cây kim trong đống cỏ khô. Trong ví dụ này, cây kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu rộng lớn. Như vậy, những thông tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ liệu. Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dự báo, dự đoán và phân tích các liên kết. Nguồn dữ liệu phục vụ cho KTDL có thể là các CSDL lớn hay các kho dữ liệu (Datawarehouse) có hay không có cấu trúc. Các tác vụ khai phá dữ liệu có thể được phân thành hai loại: miêu tả và dự báo - Các tác vụ khai phá miêu tả mô tả các đặc tính chung của dữ liệu trong cơ sở dữ liệu. Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm có: phân cụm (clustering), tóm tắt (summerization), trực quan hoá (visualiztion), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), phân tích luật kết hợp (association rules)… Các tác vụ khai phá dự báo thực hiện việc suy luận trên dữ liệu hiện thời để đưa ra các dự báo. Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy (regression)… 1.2 Các nhiệm vụ của khai phá dữ liệu Cho đến nay đã có rất nhiều công trình nghiên cứu và phát triển trong lĩnh vực khai phá dữ liệu. Dựa trên những loại tri thức được khám phá, chúng ta có thể phân loại như theo các nhiệm cụ như sau: Khai phá luật thuộc tính: tóm tắt những thuộc tính chung của tập dữ liệu nào đó trong cơ sở dữ liệu. Ví dụ như những triệu chứng của một căn bệnh S thì thường có thể được thể hiện qua một tâp các thuộc tính A. Khai phá những luật phân biệt: khai phá những đặc trưng, những thuộc tính để phân biệt giữa tập dữ liệu này với tập dữ liệu khác. Ví dụ như nhằm phân biệt giữa các chứng bệnh thì một luật phân biệt được dùng để tóm tắt những triệu chứng nhằm phân biệt chứng bệnh xác định với những chứng bệnh khác. Khám phá luật kết hợp: khai phá sự kết hợp giữa những đối tượng trong một tập dữ liệu. Giả sử hai tập đối tượng {A1, A2,… ,An} và {B1, B2,… ,Bn} thì luật kết hợp có dạng {A1^A2^…^ An) →{B1^ B2^… ^Bn). Khám phá luật phân lớp: phân loại dữ liệu vào trong tập những lớp đã biết. Ví dụ như một số chiếc xe có những đặc tính chung để phân vào các lớp dựa trên cách tiêu thụ nhiên liệu hoặc có thể phân vào các lớp dựa trên trọng tải… Phân nhóm: xác định một nhóm cho một tập các đối tượng dựa trên thuộc tính của chúng. Một số các tiêu chuẩn được sử dụng để xác định đối tượng có thuộc về nhóm hay không. Dự báo: dự báo giá trị có thể đúng cuỷa những dữ liệu bị thiếu hoặc sự phân bố thuộc tính nào đó trong tập dữ liệu. Khám phá quy luật biến đổi: tìm những tập luật phản ánh những hành vi tiến hóa, biến đổi chung của một tập dữ liệu. Ví dụ như luật khám phá những yếu tố chính tác động lên sự thay đổi của những giá cổ phiếu nào đó. 1.3 Các loại dữ liệu được khai phá Khai phá dữ liệu thường làm việc với nhiều kiểu dữ liệu khác nhau. Hầu hết các kiểu dữ liệu được khai phá là những kiểu sau: Cơ sở dữ liệu quan hệ: những cơ sở dữ liệu được tổ chức theo mô hình quan hệ. Hầu hết những hệ quản trị cơ sở dữ liệu hiện nay đều hỗ trợ mô hình này như: Oracle, IBM DB2, MS SQL Server, MS Access… Cơ sở dữ liệu đa chiều: cơ sở dữ liệu này được gọi là nhà kho dữ liệu, trong đó dữ liệu được chọn từ nhiều ngồn khác nhau và chứa những đặc tính lịch sử thông qua thuộc tính thời gian tường minh hay ngầm định. Cơ sở dữ liệu giao tác: đây là loại cơ sở dữ liệu được sử dụng nhiều trong siêu thị, thương mại, tài chính, ngân hàng… Cơ sở dữ liệu quan hệ - hướng đố tượng: mô hình cơ sở dữ liệu này lai giữa mô hình hướng đối tượng và mô hình cơ sở dữ liệu quan hệ. Cơ sở dữ liệu thời gian, không gian: chứa những thông tin về không gian địa lý hoặc thông tin theo thời gian. Cơ sở dữ liệu đa phương tiện: loại dữ liệu này bao gồm: âm thanh, ảnh, video, văn bản và nhiều kiểu dữ liệu định dạng khác. Ngày nay loại dữ liệu này được sử dụng nhiều trên mạng Internet. 1.4 Lịch sử phát triển của Khai phá dữ liệu - Những năm 1960: Xuất hiện CSDL theo mô hình mạng và mô hình phân cấp. - Những năm 1970: Thiết lập nền tẩng lý thuyết cho CSDL quan hệ, các hệ quản trị CSDL quan hệ. - Những năm 1980: Hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản trị CSDL quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng, suy diễn, ...) và hệ quản trị hướng ứng dụng trong lĩnh vực không gian, khoa học, công nghiệp, nông nghiệp, địa lý ... - Những năm 1990-2000: phát triển Khai phá dữ liệu và kho dữ liệu, CSDL đa phương tiện, và CSDL Web. 1.5 Ứng dụng của Khai phá dữ liệu Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như: hệ CSDL, thống kê, trực quan hoá… hơn nưa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lý thuyết tập thô, tập mờ, biểu diễn tri thức… So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt. So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục. Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn Phương pháp hệ chuyên gia: phương pháp này khác với khai phá dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường chỉ bao hàm được các trường hợp quan trọng. Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được. Phương pháp thống kê là một trong những nên tảng lý thuyết của khai phá dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phương pháp thống kê còn tồn tại một số điểm yếu mà khai phá dữ liệu khắc phục được: Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều CSDL. Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không sử dụng tri thức có sẵn về lĩnh vực. Kết quả phân tích của hệ thống có thể sẽ rất nhiều và khó có thể làm rõ được. Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu. Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như: Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng. Tìm kiếm tri thức, qui luật của thị trường chứng khoán và đầu tư bất động sản. Phát hiện dùng thẻ tín dụng giả trên mạng và là công cụ hữu ích cho dịch vụ quản lý rủi ro cho thương mại điện tử Thương mại điện tử: Công cụ tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng. Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với loại khách hàng trong một phân khu thị trường nhất định Nhân sự: Giúp nhà tuyển dụng chọn ứng viên thích hợp nhất cho nhu cầu của công ty Y học: Hỗ trợ bác sĩ phát hiện ra bệnh của bệnh nhân dựa trên các xét nghiệm đầu vào An ninh, an toàn mạng Ứng dụng trong hệ thống phát hiện xâm nhập trái phép IDS/IPS để phát hiện ra các cuộc tấn công xâm nhập mạng trái phép. Vv……và nhiều lĩnh vực khác Một số ứng dụng của khai phá dữ liệu trong lĩnh vực kinh doanh: BRANDAID: mô hình marketing linh hoạt tập chung vào hàng tiêu dùng đóng gói. CALLPLAN: giúp nhân viên bán hàng xác định số lần viếng thăm của khách hàng triển vọng và khách hàng hiện có. DETAILER: xác định khách hàng nào nên viếng thăm và sản phẩm nào nên giới thiệu trong từng chuyến viếng thăm, GEOLINE: mô hình thiết kế địa bàn tiêu thụ và dịch vụ. MEDIAC: Giúp người quảng cáo mua phương tiện trong một năm, lập kế hoạch sử dụng phương tiện bao gồm phác hoạ khúc thị trường, ước tính tiềm năng 1.6 Phân loại Chúng ta có thể phân lớp hệ thống khai phá dữ liệu theo các tiêu chuẩn sau: Phân lớp dựa trên loại dữ liệu được khai phá: những hệ thống khai phá dữ liệu làm việc với cơ sở dữ liệu quan hệ, nhà kho dữ liệu, cơ sở dữ liệu giao tác, cơ sở dữ liệu hướng đối tượng, đa phương tiện và Web… Phân lớp dựa trên kiểu tri thức khai phá: hệ thống khai phá dữ liệu xuất kết quả kiểu tóm tắt, mô tả, luật kết hợp, phân lớp, phân nhóm và dự báo… Phân lớp dựa trên loại kỹ thuật được sử dụng: hệ thống khai phá sử dụng các kỹ thuật OLAP, kỹ thuật máy học (cây quyết định, mạng neural, thuật giải tiến hóa, tập thô và tập mờ…). Phân lớp dựa trên lĩnh vực áp dụng khai phá: hệ thống được dùng trong nhiều lĩnh vực: sinh học, y khoa, thương mại và bảo hiểm… 1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu Các cơ sở dữ liệu lớn Số chiều lớn Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp. Dữ liệu bị thiếu hoặc nhiễu Quan hệ giữa các trường phức tạp Giao tiếp với người sử dụng và kết hợp với các tri thức đã có. Tích hợp với các hệ thống khác… Kết chương Trong chương này, đã giới thiệu về: Khái niệm khai phá dữ liệu Nhiệm vụ của khai phá dữ liệu Phân loại trong khai phá dữ liệu Các lĩnh vực ứng dụng của khai phá dữ liệu Một số thách thức trong khai phá dữ liệu Chương sau sẽ giới thiệu về quy trình và phương thức thực hiện khai phá dữ liệu cũng như một số kỹ thuật dùng trong khai phá dữ liệu. Chương 2 QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU 2.1 Quy trình tổng quát thực hiện Khai phá dữ liệu Quá trình này gồm các bước: Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu hoặc các dữ liệu không thích hợp. Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác nhau như: CSDL, Kho dữ liệu, file text… Chọn dữ liệu (data selection): Ở bước này, những dữ liệu liên quan trực tiếp đến nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu. Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp. Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phương pháp thông minh sẽ được áp dụng để trích xuất ra các mẩu dữ liệu. Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo. Trình diễn dữ liệu (Knowlegde presention): Sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng. Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức 2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể Chính vì mục tiêu khám phá trí thức ngầm định trong cơ sở dữ liệu nên quá trình khai phá thường phải qua một số các giai đoạn cần thiết. Bao gồm những giai đoạn chuẩn bị dữ liệu khai phá, giai đoạn khai phá dữ liệu và cuối cùng là giai đoạn chuyển kết quả khai phá sang những tri thức cho con người hiểu được. Chi tiết các bước thực hiện được mô tả trong bảng tóm tắt như sau: Giai đoạn 1: đầu tiên là phát triển một sự hiểu biết về lĩnh vực ứng dụng và những tri thức tương ứng. Xác định mục đích của tiến trình khai phá dữ liệu từ qua điểm của người dùng. Giai đoạn 2: chuẩn bị dữ liệu để khai phá, thu thập dữ liệu và dữ liệu mẫu Giai đoạn 3: tiền xử lý dữ liệu, xóa các thông tin bị nhiễu trong dữ liệu, loại bỏ sự trùng lặp dữ liệu và xác định chiến lược để xử lý dữ liệu bị mất Giai đoạn 4: chiếu dữ liệu, thu nhỏ dữ liệu và tìm những đặc trưng để khai phá Giai đoạn 5: chọn một phương pháp khai phá dữ liệu thích hợp nhất trong số các phương pháp phổ biến như: tóm tắt, phân lớp, hồi quy, phân nhóm, kết hợp… Giai đoạn 6: từ thuật toán đã chọn, mô hình hóa thuật toán để giải quyết trong trường hợp cụ thể đang xét. Lựa chọn những phương pháp tìm kiếm mẫu dữ liệu, quyết định các tham số. Giai đoạn 7: đây là giai đoạn khai phá dữ liệu, sử dụng thuật toán để tìm kiếm những mẫu thú vị trong một hình thức thể hiện đắc thù hoặc một tập những thể hiện bao gồm những luật phân lớp, cây, sự hồi quy và phân nhóm. Giai đoạn 8: thông dịch lại những mẫu đã được khai phá dưới các hình thức thể hiện tri thức của dữ liệu như ngôn ngữ, biểu đồ, hình cây, bảng… Hình 2.2: Tổng quan tiến trình khai phá dữ liệu Quá trình khai phá này có sự tương tác và lặp lại giữa hai bước bất kỳ, những bước cơ bản của tiến trình được minh họa trong hình trên. Hầu hết những công việc trước đây đều tập trung ở bước 7 là giai đoạn khai phá dữ liệu. Tuy nhiên, các bước còn lại quan trọng không kém và những bước đó đóng góp rất nhiều vào sự thành công của toàn bộ tiến trình khai phá dữ liệu. Sau đây ta sẽ tìm hiểu chi tiết về quá trình tiền xử lý trong tiến trình. 2.3 Tiền xử lý dữ liệu Dữ liệu trong thực tế thường không sạch, và không nhất quán. Các kỹ thuật tiền xử lý dữ liệu có thể cải thiện được chất lượng của dữ liệu, do đó nó giúp các quá trình khai phá dữ liệu chính xác và hiệu quả. Tiền xử lý dữ liệu là một bước quan trọng trong quá trình khám phá tri thức, bởi vì chất lượng các quyết định phải dựa trên chất lượng của dữ liệu. Quá trình tiền xử lỹ dữ liệu bao gồm: Làm sạch dữ liệu, tích hợp và biến đổi dữ liệu, rút gọn dữ liệu, rời rạc hóa dữ liệu và xây dựng các lược đồ phân cấp khái niệm. Hình 2.3: Các hình thức tiền xử lý dữ liệu 2.3.1 Làm sạch dữ liệu Dữ liệu trong thực tế thường không đầy đủ, nhiễu, và không nhất quán. Quá trình là sạch dữ liệu sẽ cố gắng điền các giá trị thiếu, loại bỏ nhiễu, và sửa chữa sự không nhất quán của dữ liệu. 2.3.1.1 Các giá trị thiếu Các phương pháp xử lý giá trị thiếu: 1. Bỏ qua bộ có giá trị thiếu): Phương pháp này thường được sử dụng khi nhãn lớp bị thiếu (thường trong tác vụ khai phá dữ liệu phân lớp, classification). Phương pháp này rất không hiệu quả, trừ khi một bộ chứa khá nhiều thuộc tính với các giá trị thiếu. Đặc biệt phương pháp này rất kém hiệu quả khi phần trăm giá trị thiếu trong từng thuộc tính là đáng kể. 2. Điền vào bằng tay các giá trị thiếu: Cách tiếp cận này tốn thời gian và không khả thi khi thực hiện trên tập dữ liệu lớn với nhiều giá trị thiếu. 3. Sử dụng một hằng số toàn cục để điền vào các giá trị thiếu: Thay thế toàn bộ giá trị thiếu của các thuộc tính bằng một hằng số như "Unknown" hay -¥ Nếu các giá trị thiếu được thay thế bởi một hằng số khi đó chương trình khai phá dữ liệu sẽ nhầm nó với một khái niệm có ý nghĩa, "Unknown", khi chúng có cùng một giá trị phổ biến- "Unknown". Do đó, mặc dù đây là một phương pháp đơn giản, nhưng nó không dễ dùng. 4. Sử dụng giá trị trung bình của thuộc tính để điền các giá trị thiếu. 5. Sử dụng một giá trị trung bình của thuộc tính cho tất cả các mẫu thử thuộc về cùng một lớp với bộ đã cho. Ví dụ, nếu phân lớp khách hàng theo credit_risk; giá trị average income còn thiếu sẽ được thay thế bằng giá trị average income của các khách hàng thuộc về cùng một lớp credit-risk với bộ đã cho. 6. Sử dụng một giá trị có khả năng nhất để điền vào các giá trị thiếu: Giá trị này có thể tìm ra bằng phương pháp hồi qui, hay dựa trên các công cụ sử dụng hình thức Bayesian. Ví dụ, sử d