Các bước thực hiện của quá trình khai phá dữ liệu Theo quan điểm của học máy Machine Learning, thì các kỹ thuật khai phá dữ liệu bao gồm: Học có giám sát Supervised Learning: Là quá t
Trang 1ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN - -
ĐOÀN XUÂN NGỌC
TRONG KHAI PHÁ 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Ĩ CÔNG NGHỆ THÔNG TIN
Hướng dẫn khoa học: TS NGUYỄN THANH TÙNG
THÁI NGUYÊN 2010
Trang 2LỜI CẢM ƠN
Luận văn được hoàn thành dưới sự hướng dẫn, chỉ bảo tận tình, chu đáo
của TS Nguyễn Thanh Tùng Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến
Thầy cùng sự giúp đỡ nhiệt tình của Thầy trong suốt quá trình tôi thực hiện luận văn
Tôi xin cảm ơn các Thầy, Cô giáo và các Cán bộ trong Viện Công Nghệ Thông Tin - Viện Khoa Học Công Nghệ Việt Nam, Khoa Công Nghệ Thông Tin - Đại học Thái Nguyên đã truyền thụ kiến thức, kinh nghiệm học tập, nghiên cứu khoa học cho tôi trong suốt quá trình học tập tại trường
Tôi cũng xin gửi lời cảm ơn tới Cục thuế tỉnh Thái Nguyên cùng các đồng nghiệp đã tạo điều kiện trong công việc giúp tôi thực hiện tốt kế hoạch học tập của mình
Cuối cùng, tôi xin bày tỏ lòng biết ơn tới gia đình tôi đã luôn bên cạnh động viên, ủng hộ và tạo điều kiện tốt nhất cho tôi học tập và hoàn thành luận văn này
Học viên thực hiện
ĐOÀN XUÂN NGỌC
Trang 3MỤC LỤC
DANH SÁCH CÁC HÌNH VẼ 5
DANH SÁCH CÁC BẢNG 6
MỞ ĐẦU 7
CHƯƠNG 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VÀ VẤN ĐỀ DỮ LIỆU THIẾU 9
1.1 Khai phá dữ liệu 9
1.2 Vấn đề dữ liệu thiếu trong cơ sở dữ liệu cần khai phá 14
1.3 Kết luận chương 1 19
CHƯƠNG 2: CÁC PHƯƠNG PHÁP CƠ BẢN XỬ LÝ GIÁ TRỊ THIẾU 21
2.1 Các phương pháp thống kê 21
2.1.1 Phương pháp Trung bình-Mốt (Mean-Mode - MM) 21
2.1.2 Phương pháp Trung bình-Mốt dựa vào cụm tự nhiên (Natural Cluster Based Mean-Mode - NCBMM) 23
2.1.3 Thay giá trị thiếu bằng giá trị cho cùng độ lệch chuẩn (Replacement Under Same Standard Deviation - RUSSD) 24
2.1.4 Hồi quy tuyến tính (Linear regression – LR) 24
2.2 Các phương pháp học máy 25
2.2.1 Phương pháp Trung bình-Mốt dựa vào cụm sinh bởi thuộc tính gần nhất (Attribute Rank Cluster Based Mean-Mode algorithm - RCBMM) 25
2.2.2 Phương pháp Trung bình – Mốt dựa vào phân cụm k-Means (K-means clustering based Mean - Mode - KMCMM) 27
2.3 Các phương pháp nhúng 32
2.3.1 Loại bỏ các bộ dữ liệu có chứa giá trị thiếu (discarding data tuples with missing values) 32
2.3.2 Phương pháp C4.5 33
2.3.3 Phương pháp CART 36
2.4 Đánh giá 36
Trang 42.4.1 Đánh giá lý thuyết 37
2.4.2 Đánh giá thực nghiệm 38
2.5 Kết luận chương 2 45
CHƯƠNG 3: PHƯƠNG PHÁP XỬ LÝ GIÁ TRỊ THIẾU PHỐI HỢP KHAI PHÁ LUẬT KẾT HỢP VỚI PHƯƠNG PHÁP K-LÁNG GIỀNG GẦN NHẤT 47
3.1 Mở đầu 47
3.2 Khai phá luật kết hợp 48
3.3 Thuật toán RAR khai phá luật kết hợp trong cơ sở dữ liệu không đầy đủ 53
3.4 Phương pháp xử lý giá trị thiếu HMiT 55
3.5 Tính toán thực nghiệm 57
3.6 Kết luận chương 3 63
TÀI LIỆU THAM KHẢO 64
Trang 5DANH SÁCH CÁC HÌNH VẼ
Hình 1.1 Các bước thực hiện của quá trình khai phá dữ liệu 11
Hình 1.2 Phân bố giá trị thiếu trong trường hợp 1 16
Hình 1.3 Phân bố giá trị thiếu trong trường hợp 2 16
Hình 1.4 Phân bố giá trị thiếu trong trường hợp 3 16
Hình 1.5 Kết quản mô tả phân bố giá trị thiếu trong tập dữ liệu edu.data của UCI 17
Hình 2.1 Thuật toán MM 22
Hình 2.1 Thuật toán NCBMM 23
Hình 2.3 Thuật toán RUSD 24
Hình 2.4 Thuật toán RCBMM 26
Hình 2.5 Thuật toán KMCMM 28
Hình 2.6 Thuật toán phân cụm k-means 29
Hình 2.7 Thuật toán kNN 30
Hình 2.8 Tỷ lệ lỗi của mỗi phương pháp trên tập dữ liệu định lượng 43
Hình 2.9 Tỷ lệ lỗi của mỗi phương pháp trên tập dữ liệu định tính 44
Hình 2.10 Tỷ lệ lỗi của mỗi phương pháp trên tập dữ liệu hỗn hợp 45
Hình 3.1 Sơ đồ khối của thuật toán gán giá trị thiếu HMiT 56
Hình 3.2 Sự phụ thuộc của độ chính xác vào số lượng giá trị thiếu trong CSDL 59
Hình 3.3 Sự phụ thuộc của độ chính xác vào độ tin cậy khi sử dụng HMVI 60 Hình 3.4 Sự phụ thuộc của độ chính xác vào độ hỗ trợ khi sử dụng HMVI 61 Hình 3.5 Thời gian xử lý giá trị thiếu bằng HMVI và bằng K-NNI 62
Trang 6DANH SÁCH CÁC BẢNG
Bảng 2.8 Đánh giá về mặt lý thuyết 10 phương pháp xử lý giá trị thiếu 38
Bảng 2.9 Các tập dữ liệu có chứa giá trị thiếu trên thuộc tính định lượng 39
Bảng 2.10 Các tập dữ liệu có chứa giá trị thiếu trên thuộc tính định tính 39
Bảng 2.11 Các tập dữ liệu có giá trị thiếu trên cả thuộc tính định lượng và định tính 40
Bảng 2.12 Thời gian thực thi việc thay thế trên tập dữ liệu định lượng (phút:giây) 41
Bảng 2.13 hời gian thực thi việc thay thế trên tập dữ liệu định tính (phút:giây) 41
Bảng 2.14 Thời gian thực thi việc thay thế trên tập dữ liệu hỗn hợp (phút:giây) 42
Bảng 2.15 Tỷ lệ lỗi phân lớp trên tập dữ liệu định lượng (%) 42
Bảng 2.16 Tỷ lệ lỗi trên tập dữ liệu định tính (%) 43
Bảng 2.17 Tỷ lệ lỗi trên tập dữ liệu hỗn hợp (%) 44
Trang 7MỞ ĐẦU
Trong những năm gần đây, cùng với sự phát triển vượt bậc của công nghệ thông tin, truyền thông, khả năng thu thập và lưu trữ thông tin của các
hệ thống thông tin không ngừng được nâng cao Với lượng dữ liệu tăng nhanh
và khổng lồ như vậy, rõ ràng các phương pháp phân tích dữ liệu truyền thống
sẽ không còn hiệu quả, gây tốn kém và dễ dẫn đến những kết quả sai lệch Để
có thể khai phá hiệu quả các cơ sở dữ liệu (CSDL) lớn một lĩnh vực khoa học mới ra đời: Khám phá tri thức trong CSDL (Knowledge Discovery in Databases – KDD) Khai phá dữ liệu (Data Mining) là một công đoạn chính trong quả trình KDD và được định nghĩa như sau [6]:
Khai phá dữ liệu là quá trình tìm kiếm, phát hiện các tri thức mới, hữu ích tiềm ẩn trong cơ sở dữ liệu lớn
Trong những năm gần đây, nhiều kỹ thuật khai phá dữ liệu đã được nghiên cứu và ứng dụng thành công trong nhiều lĩnh vực Tuy nhiên, việc nghiên cứu và ứng dụng các kỹ thuật khai phá dữ liệu cũng gặp phải những khó khăn, thách thức lớn, trong đó có vấn đề giá trị thiếu
Trong thực hành, các CSDL cần khai phá thường không đầy đủ, tức là
có những giá trị thuộc tính bị thiếu Có nhiều nguyên nhân khác nhau dẫn tới hiện tượng này: thiết bị thu thập dữ liệu bị hỏng, sự thay đổi thiết kế thí nghiệm, sự từ chối cung cấp dữ liệu nhằm bảo vệ tính riêng tư, sự sơ xuất khi nhập dữ liệu, các sự cố xảy ra trong quá trình truyền dữ liệu, …
Dữ liệu thiếu gây khó khăn cho việc khai phá, ảnh hưởng trực tiếp đến chất lượng tri thức khám phá được Làm thế nào để xử lý các các giá trị thiếu,
vì vậy là một nhiệm vụ quan trọng hàng đầu của quá trình khám phá tri thức
từ cơ sở dữ liệu
Trang 8Cho đến nay, nhiều phương pháp xử lý giá trị thiếu đã được đề xuất và
áp dụng [5, 10, 12] Các phương pháp này cho phép xử lý trực tiếp các giá trị thiếu, tuy nhiên chúng cũng có thể mang nhiễu vào tập dữ liệu Việc xử lý các giá trị thiếu cần phải được cân nhắc và thực hiện một cách thận trọng, nếu không sẽ làm cho tri thức khai phá bị sai lệch [5]
Trong những năm gần đây, xử lý giá trị thiếu trong các CSDL khai phá
là đề tài thu hút sự quan tâm của nhiều nhà nghiên cứu và ứng dụng Tại nhiều trung tâm nghiên cứu trên thế giới có cả một bộ phận chuyên nghiên cứu về các phương pháp và xây dựng phần mềm xử lý giá trị thiếu trong các CSDL Hầu hết các phần mềm phân tích dữ liệu thống kê, khai phá dữ liệu và học máy đều có nội dung liên quan đến xử lý giá trị thiếu
Luận văn này trình bày các nghiên cứu của học viên về vấn đề xử lý giá trị thiếu trong các CSDL lớn phục vụ khai phá dữ liệu, khám phá tri thức Nội dung chính của luân văn gồm ba chương
Chương 1: Trình bày khái quát về khai phá dữ liệu và vấn đề giá trị thiếu
Chương 2: Trình bày một số phương pháp cơ bản, thường được sử dụng
xử lý giá trị thiếu
Chương 3: Trình bày một phương pháp mới, xử lý hiệu quả giá trị thiếu, phương pháp sử dụng phối hợp kỹ thuật khai phá luật kết hợp trong CSDL không đầy đủ với phương pháp k-láng giềng gần nhất
Trang 9Với lượng dữ liệu tăng nhanh và khổng lồ như vậy, rõ ràng các phương pháp phân tích dữ liệu truyền thống sẽ không còn hiệu quả, gây tốn kém và dễ dẫn đến những kết quả sai lệch Để có thể khai phá hiệu quả các cơ sở dữ liệu (CSDL) lớn cần phải có những kỹ thuật mới: kỹ thuật khai phá dữ liệu (Data Mining)
Khai phá dữ liệu là một lĩnh vực khoa học mới xuất hiện, nhằm tự động hóa khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong các CSDL lớn cho các tổ chức, doanh nghiệp, từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh của tổ chức, doanh nghiệp này Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có những ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống
Tuy mới ra đời khoảng 20 năm, nhưng khai phá dữ liệu là lĩnh vực khoa học phát triển vô cùng nhanh chóng Do sự phát triển nhanh chóng cả về
Trang 10phạm vi áp dụng lẫn các phương pháp tìm kiếm tri thức, đã có nhiều quan điểm khác nhau về khai phá dữ liệu Tuy nhiên, ở một mức độ trừu tượng nhất định, chúng ta định nghĩa khai phá dữ liệu như sau [6]:
Khai phá dữ liệu là quá trình tìm kiếm, phát hiện các tri thức mới, hữu ích tiềm ẩn trong cơ sở dữ liệu lớn
Khám phá tri thức trong CSDL (Knowledge Discovery in Databases – KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá
dữ liệu và KDD được các nhà khoa học xem là tương đương nhau Thế nhưng, nếu phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình KDD
Khám phá tri thức trong CSDL là lĩnh vực liên quan đến nhiều ngành như: Tổ chức dữ liệu, xác suất, thống kê, lý thuyết thông tin, học máy, CSDL, thuật toán, trí tuệ nhân tạo, tính toán song song và hiệu năng cao, Các kỹ thuật chính áp dụng trong khám phá tri thức phần lớn được thừa kế từ các ngành này
Quá trình khám phá tri thức có thể phân thành các công đoạn sau [6]:
Lựa chọn dữ liệu: Là bước tuyển chọn những tập dữ liệu cần được khai
phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories) ban đầu theo một số tiêu chí nhất định
Tiền xử lý dữ liệu: Là bước làm sạch dữ liệu (xử lý dữ liệu thiếu, dữ
liệu nhiễu, dữ liệu không nhất quán, ), tổng hợp dữ liệu, rời rạc hóa dữ liệu, Biến đổi dữ liệu Đây được xem là bước quan trọng và tiêu tốn thời gian nhất của toàn bộ quá trình KDD Sau bước tiền sử lý này, dữ liệu sẽ nhất quán, đầy
đủ, được rút gọn và rời rạc hóa
Trang 11 Khai phá dữ liệu: Là bước áp dụng những kỹ thuật phân tích (phần
nhiều là các kỹ thuật học máy) nhằm khai thác dữ liệu, trích lọc những mẫu tin (information patterns), những mối quan hệ đặc biệt trong dữ liệu
Đánh giá tri thức và biểu diễn: Những mẫu thông tin và mối quan hệ
trong dữ liệu đã được phát hiện ở bước khai phá dữ liệu được đánh giá theo những tiêu chí nhất định và được biểu diễn ở dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,
Hình 1.1 dưới đây mô tả các công đoạn của KDD:
Hình 1.1 Các bước thực hiện của quá trình khai phá dữ liệu
Theo quan điểm của học máy (Machine Learning), thì các kỹ thuật khai phá dữ liệu bao gồm:
Học có giám sát (Supervised Learning): Là quá trình học luật phân lớp
các đối tượng dựa trên một tập dữ liệu có giám sát (supervised data set), tức là tập các ví dụ (các bộ dữ liệu) huấn luyện trong đó mỗi ví dụ có chứa thông tin
đã biết về các thuộc tính và nhãn lớp của một đối tượng
Trang 12 Học không có giám sát (Unsupervised Learning): Là quá trình học luật
phân chia một tập các đối tượng thành các cụm (clusters) tương tự nhau dựa trên một tập dữ liệu không có giám sát (unsupervised data set), tức là tập các
ví dụ huấn luyện chỉ chứa thông tin về các thuộc tính mà không có thông tin
về nhãn lớp của các đối tượng
Học nửa giám sát (Semi-Supervised Learning): Là quá trình học luật phân chia một tập các đối tượng thành các lớp dựa trên một tập nhỏ các ví dụ huấn luyện chứa thông tin về các thuộc tính và nhãn lớp của một số đối tượng
Nếu căn cứ vào nhiệm vụ cần giải quyết, thì khai phá dữ liệu bao gồm các kỹ thuật sau:
Phân lớp và dự đoán (classification and prediction): Là việc xếp các
đối tượng vào những lớp đã biết trước Ví dụ, phân lớp các loài thực vật, phân lớp các bệnh nhân, Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định (decision tree), mạng nơ-ron nhân tạo (neural network),
Phân cụm (clustering/segmentation) : Là việc xếp các đối tượng theo
từng cụm tự nhiên
Luật kết hợp (association rules) : Là việc phát hiện các luật biểu diễn
tri thức dưới dạng đơn giản Ví dụ: “70% nữ giới vào siêu thị mua phấn thì có tới 80% trong số họ cũng mua thêm son”
Phân tích hồi quy (regression analysis) : Là việc học một hàm ánh xạ
một bộ dữ liệu thành một giá trị thực của đại lượng cần dự đoán Bài toán phân tích hồi quy tương tự như bài toán phân lớp, điểm khác nhau là ở chỗ đại lượng cần dự đoán là liên tục chứ không phải rời rạc như nhãn lớp
Trang 13 Phân tích các mẫu theo thời gian (sequential/temporal patterns) :
Tương tự như khai phá luật kết hợp nhưng có quan tâm đến tính thứ tự theo thời gian
Mô tả khái niệm và tổng hợp (concept description and summari-zation)
: Thiên về mô tả, tổng hợp và tóm tắt các khái niệm Ví dụ tóm tắt văn bản Hiện nay, các kỹ thuật khai phá dữ liệu có thể làm việc với rất nhiều kiểu
dữ liệu khác nhau Một số dạng dữ liệu điển hình là: CSDL quan hệ, CSDL giao tác, CSDL quan hệ hướng đối tượng, dữ liệu không gian và thời gian, CSDL đa phương tiện, dữ liệu văn bản và web,
Cho đến nay, khai phá dữ liệu đã và đang được ứng dụng rộng rãi trong nhiều lĩnh vực như: Phân tích dữ liệu hỗ trợ ra quyết định, Y học, Tin-sinh học (Bioinformatics), thương mại, tài chính, bảo hiểm, text mining, Rất nhiều tổ chức và công ty lớn trên thế giới đã và đang áp dụng thành công các
kỹ thuật khai phá dữ liệu vào hoạt động sản xuất, kinh doanh của mình và thu được những lợi ích to lớn Các công ty phần mềm lớn trên thế giới cũng rất quan tâm tới việc nghiên cứu và phát triển kỹ thuật khai phá dữ liệu: Oracle
đã tích hợp các công cụ khai phá dữ liệu vào bộ Oracle9i, IBM đã đi tiên phong trong việc phát triển các ứng dụng khai phá dữ liệu Các ứng dụng này được chia thành 3 nhóm: Phát hiện gian lận (fraud detection), hỗ trợ tiếp thị
và quản lý khách hàng, phát hiện và xử lý lỗi hệ thống mạng Bộ Khai phá thông minh (Intelligence Miner) là sản phẩm điển hình của IBM
Mặc dù nổi lên như là một lĩnh vực khoa học tiềm năng, phát triển rất nhanh chóng, nhưng khai phá dữ liệu cũng phải đối mặt với nhiều thách thức Các thách thức lớn thường được nhắc tới là:
- Số đối tượng cũng như số chiều (thuộc tính) trong cơ sở dữ liệu khai phá thường là rất lớn
Trang 14- Dữ liệu và tri thức luôn thay đổi 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ệ phức tạp giữa các thuộc tính
- 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
1.2 Vấn đề dữ liệu thiếu trong cơ sở dữ liệu cần khai phá
Như đã nói, mục tiêu của khai phá dữ liệu và khám phá tri thức từ CSDL
là tìm kiếm, phát hiện ra các tri thức mới, hữu ích tiềm ẩn Tuy nhiên, cho dù
kỹ thuật nào được áp dụng đi nữa, các kết quả khai phá cũng sẽ phụ thuộc trực tiếp vào chất lượng dữ liệu Chất lượng dữ liệu chịu ảnh hưởng bởi nhiều yếu tố, trong đó việc xử lý các giá trị thuộc tính thiếu đóng vai trò vô cùng quan trọng
Trong các ứng dụng khai phá dữ liệu, CSDL cần khai phá thường không đầy đủ, tức là có những giá trị thuộc tính bị thiếu Có nhiều nguyên nhân khác nhau dẫn tới hiện tượng này: thiết bị thu thập dữ liệu bị hỏng, sự thay đổi thiết
kế thí nghiệm, sự từ chối cung cấp dữ liệu nhằm bảo vệ tính riêng tư, sự sơ xuất khi nhập dữ liệu, các sự cố xảy ra trong quá trình truyền dữ liệu Làm thế nào để xử lý các các giá trị thuộc tính thiếu là một nhiệm vụ quan trọng hàng đầu của quá trình khám phá tri thức từ cơ sở dữ liệu Loại bỏ tất cả các bộ dữ liệu có chứa giá trị thuộc tính thiếu sẽ làm mất thông tin, các đặc trưng ban đầu của CSDL Xem xét tình trạng nguyên thủy, sử dụng dữ liệu sẵn có để có thể gán các giá trị thiếu sẽ là cách làm tốt nhất Tuy nhiên, xác định giá trị thực của dữ liệu thiếu là công việc khó khăn
Cho đến nay, nhiều phương pháp xử lý giá trị thiếu đã được đề xuất và
áp dụng [5, 10, 12] Các phương pháp này cho phép xử lý trực tiếp các giá trị
Trang 15thiếu, tuy nhiên chúng cũng có thể mang nhiễu vào tập dữ liệu Việc xử lý các giá trị thiếu cần phải được cân nhắc và thực hiện một cách thận trọng, nếu không sẽ làm cho tri thức khai phá bị sai lệch [5] Cho đến nay, xử lý giá trị thiếu trong các CSDL vẫn là đề tài thu hút sự quan tâm của nhiều nhà nghiên cứu và ứng dụng Tại nhiều trung tâm nghiên cứu trên thế giới có cả một bộ phận chuyên nghiên cứu về các phương pháp và xây dựng phần mềm xử lý giá trị thiếu trong các CSDL; chẳng hạn, Medical Statistics Unit, London School of Hygiene and Tropical Medicine London, United Kingdom - http://missingdata.lshtm.ac.uk/index.html; Webmaster team of SCI2S, Soft
Computing and Intelligent Information Systems, http://sci2s.ugr.es/MVDM/ Hầu hết các phần mềm phân tích dữ liệu thống kê, khai phá dữ liệu và học máy đều có nội dung liên quan đến xử lý giá trị thiếu
Một nhiệm vụ vô cùng quan trọng khi xây dựng một phương pháp xử lý giá trị thiếu là phải hiểu được cơ chế sinh ra các giá trị thiếu trong CSDL cần khai phá Nắm bắt được cơ chế sinh ra giá trị thiếu trong một tình huống cụ thể sẽ giúp xây dựng được một phương pháp xử lý thích hợp và hiệu quả Theo các nhà thống kê toán học, sự xuất hiện các giá trị thiếu trong một CSDL có thể phân thành ba trường hợp theo tính ngẫu nhiên như sau [3, 5]:
Trường hợp 1: Thiếu hoàn toàn ngẫu nhiên (Missing Completely At
Random – MCAR) Đây là mức độ ngẫu nhiên cao nhất Trường hợp này xảy
ra khi xác suất một giá trị của thuộc tính bị thiếu không phụ thuộc vào các giá trị đã biết cũng như bản thân giá trị bị thiếu Trong trường hợp này, bất kỳ phương pháp xử lý giá trị thiếu nào đều có thể được áp dụng mà không phải chịu sự rủi ro làm sai lệch dữ liệu
Về trực giác, có thể minh họa trường hợp MCAR bằng hình 1.2 dưới đây
Trang 16Hình 1.2 Phân bố giá trị thiếu trong trường hợp 1
Trường hợp 2: Thiếu ngẫu nhiên (Missing At Random – MAR) Đó là
khi xác suất xuất hiện một giá trị thiếu tại một thuộc tính có thể phụ thuộc vào các giá trị đã biết, nhưng không phụ thuộc vào bản thân giá trị bị thiếu
Về trực giác, có thể minh họa trường hợp MAR bằng hình 1.3 dưới đây
Hình 1.3 Phân bố giá trị thiếu trong trường hợp 2
Trường hợp 3: Thiếu không ngẫu nhiên (Not Missing At Random –
NMAR): khi xác suất xuất hiện một giá trị thiếu tại một thuộc tính phụ thuộc vào giá trị của thuộc tính đó
Về trực giác, có thể minh họa trường hợp NMAR bằng hình 1.4 dưới đây
Hình 1.4 Phân bố giá trị thiếu trong trường hợp 3
Trang 17Trước khi thực hiện một nhiệm vụ khai phá dữ liệu, người khai phá cần lựa chọn một phương pháp thích hợp cho việc xử lý các giá trị thiếu Và để làm được việc này, một công việc quan trọng là cần tìm hiểu kỹ lưỡng về cơ chế xuất hiện các giá trị thiếu trong CSDL Để có thể hình dung được hiện trạng phân bố của các thiếu giá trị trong một tập dữ liệu, người ta thường sử dụng một chương trình có khả năng mô tả được phân bố này Hình 1.5 dưới đây là kết quả
mô tả phân bố giá trị thiếu trong tập dữ liệu edu.data của kho dữ liệu UCI, (sử
dụng phần mềm của Webmaster team of SCI2S, http://sci2s.ugr.es/MVDM/)
Hình 1.5 Kết quản mô tả phân bố giá trị thiếu trong tập dữ liệu edu.data của UCI
Để khai phá CSDL không đầy đủ, có hai cách tiếp cận Cách thứ nhất chuyển đổi CSDL không đầy đủ thành CSDL đầy đủ trước khi khai phá bằng việc thực hiện các kỹ thuật tiền xử lý Các phương pháp xử lý giá trị thiếu theo cách tiếp cận này được gọi là các phương pháp thay thế trước (Prereplacing Methods) hay các phương pháp ngoại trú (External Methods) Cách thứ hai là chấp nhận sự hiện diện các giá trị thuộc tính thiếu, xây dựng
Trang 18các kỹ thuật thích hợp khám phá tri thức trực tiếp từ CSDL không đầy đủ Các phương pháp theo cách tiếp cận này được gọi là các phương pháp nhúng (Embeded Methods) hay các phương pháp nội trú (Internal Methods) Như vậy, các phương pháp thay thế trước sẽ thực hiện việc lấp đầy các giá trị thiếu trước khi thực hiện nhiệm vụ khai phá dữ liệu, còn các phương pháp nhúng xử
lý giá trị thiếu trong khi thực hiện khai phá dữ liệu
Phần lớn các kỹ thuật khai phá dữ liệu hiện nay không có phương pháp xử
lý giá trị thiếu nhúng trong chúng, ngoại trừ một vài phương pháp phân loại, như thuật toán phân lớp bằng cây quyết định C4.5 [Quinlan, 1993] và CART [Breiman, 1984], … Ngược lại, cho đến nay nhiều phương pháp thay thế trước đã được đề xuất và áp dụng Tuy nhiên, vẫn chưa có sự rõ ràng, phương pháp nào nên được sử dụng cho mỗi ứng dụng Đặc biệt, một vấn đề mang tính quyết định, là làm thế nào để có thể xử lý giá trị thiếu trong một CSDL dữ liệu khổng lồ
Các phương pháp thay thế trước được chia làm hai loại:
- Các phương pháp thống kê (statistical methods)
- Các phương pháp học máy (Machine learning methods)
Các phương pháp thống kê thay thế các giá trị thiếu dựa trên việc ước lượng các đặc trưng thóng kê của thuộc tính Các phương pháp học máy xử lý các giá trị thiếu bằng cách sử dụng cách tiếp cận học máy Các phương pháp học máy thường phức tạp hơn các phương pháp thống kê nhưng cho độ chính xác cao hơn
Để đánh giá một phương pháp xử lý giá trị thiếu, người ta xét tới các khía cạnh sau:
1 Có thể áp dụng đối với loại thuộc tính nào
Trang 192 Có thể áp dụng cho trường hợp phân bổ giá trị thiếu nào
3 Chi phí tính toán (computation cost)
4 Chất lượng dữ liệu thu được sau khi xử lý
Chất lượng dữ liệu được đánh giá thông qua chất lượng tri thức thu được khi áp dụng các kỹ thuật khai phá
Nhìn chung, hiện nay các nhà nghiên cứu và ứng dụng quan tâm nhiều hơn đến các phương pháp thay thế trước Các phương pháp này xử lý các giá trị thiếu trong CSDL độc lập với các kỹ thuật khai phá dữ liệu Với các CSDL đầy
đủ, đảm bảo chất lượng thu được sau khi áp dụng các kỹ thuật thay thế trước, người ta có thể áp dụng bất kỳ một kỹ thuật khai phá dữ liệu nào
1.3 Kết luận chương 1
Khai phá dữ liệu là một lĩnh vực khoa học mới xuất hiện, nhằm tự động hóa việc khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong các CSDL lớn, giúp chúng ta giải quyết tình trạng dữ liệu ngày một gia tăng trong những năm gần đây Các kết quả nghiên cứu lý thuyết cùng với những ứng dụng thành công các kỹ thuật khai phá dữ liệu trong nhiều lĩnh vực kinh tế, xã hội cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống
Một trong số các thách thức chủ yếu đối với việc nghiên cứu và áp dụng các kỹ thuật khai phá dữ liệu là vấn đề xử lý giá trị thuộc tính thiếu trong các
cơ sở dữ liệu Do nhiều nguyên nhân khác nhau, các CSDL cần khai phá thường không đầy đủ Cho dù kỹ thuật nào được áp dụng đi nữa, việc xử lý các giá trị thuộc tính thiếu đóng vai trò vô cùng quan trọng, ảnh hưởng trực tiếp đến chất lượng tri thức khai phá
Trang 20Chương 1 luận văn đã trình bày khái quát về khai phá dữ liệu, tóm tắt quá trình khai phá, các kỹ thuật, các ứng dụng và những thách thức; vấn đề giá trị thiếu trong CSDL khai phá, cơ chế sinh ra giá trị thiếu, các phương pháp tiếp cận và phân loại các phương pháp xử lý
Chương 2 tiếp theo của luận văn sẽ nghiên cứu một số phương pháp cơ bản, thường được sử dụng xử lý giá trị thiếu
Trang 21CHƯƠNG 2
CÁC PHƯƠNG PHÁP CƠ BẢN XỬ LÝ GIÁ TRỊ THIẾU
Như đã nói trong chương 1, hiện nay có nhiều phương pháp xử lý dữ liệu thiếu đã được đề xuất Tuy nhiên, các nghiên cứu lý thuyết và ứng dụng cho thấy, không có kỹ thuật nào được coi là tốt nhất Như Allison [6] đã nói “Giải pháp thực sự tốt cho vấn đề dữ liệu thiếu là không có gì”, (“The only really
good solution to the missing data problem is not to have any”) Các tình huống khác nhau đòi hỏi những giải pháp khác nhau Vì vậy, nghiên cứu các
ưu điểm, nhược điểm của mỗi phương pháp trong việc giải quyết một vấn đề khai phá dữ liệu cụ thể, từ đó có sự lựa chọn thích hợp là việc cần thiết
Nội dung Chương 2 này bao gồm:
- Trình bày một số phương pháp cơ bản cho việc xử lý dữ liệu thiếu, nêu những ưu điểm, nhược điểm của chúng;
- Thực hiện tính toán thực nghiệm trên một số tập dữ liệu có giám sát có các giá trị thiếu, lấy từ kho dữ liệu UCI [16] Mục đích tính toán thực nghiệm
là để so sánh hiệu năng của các phương pháp trình bày, thông qua thời gian làm đầy các giá trị thiếu và tỷ lệ lỗi phân lớp khi áp dụng một thuật toán phân lớp trên tập dữ liệu đầy đủ thu được Thuật toán phân lớp sử dụng là thuật toán cây quyết định C4.5
2.1 Các phương pháp thống kê
2.1.1 Phương pháp Trung bình-Mốt (Mean-Mode - MM)
Cho CSDL DBo o1, 2, , o N gồm N đối tượng, trong đó mỗi đối tượng được mô tả bằng M thuộc tính X X1, 2, ,X Ký hiệu M x là giá trị của i j thuộc tính thứ j ( X j) tại đối tượng thứ i ( ) o , với i 1 i N và 1 j M )
Trang 22Đối tượng o được gọi là đầy đủ nếu i x i j với mọi j1, ,M, trường hợp ngược lại o được gọi là không đầy đủ Với đối tượng i o , nếu i x i j thì
ta nói đối tượng o có giá trị thuộc tính i X bị thiếu Với thuộc tính j X , nếu j
i j
x thì ta nói thuộc tính X bị thiếu giá trị tại đối tượng j o i
Phương pháp Trung bình-Mốt áp dụng cho cả thuộc tính định lượng lẫn thuộc tính định tính Ý tưởng của phương pháp này là sử dụng giá trị trung bình khi thuộc tính là thuộc tính định lượng và mode (giá trị có tần số xuất hiện lớn nhất) khi thuộc tính là định tính, trong toàn bộ tập dữ liệu, để làm đầy các giá trị thiếu [5, 6] Các bước của phương pháp này là như sau (Hình 2.1)
Hình 2.1 Thuật toán MM
Phương pháp Trung bình-Mốt là một trong những phương pháp thường được sử dụng nhất Ưu điểm nổi trội của phương pháp Trung bình-Mốt là đơn giản, chi phí thời gian thực hiện thấp và có thể áp dụng cho cả thuộc tính định lượng lẫn thuộc tính định tính
Hai nhược điểm của phương pháp Trung bình-Mốt là:
- Việc sử dụng một hằng số (giá trị trung bình hay mốt) để thay thế giá trị thiếu sẽ có thể làm thay đổi đặc trưng của tập dữ liệu thực
1 Với mỗi thuộc tính có chứa giá trị thiếu
2 Nếu thuộc tính là định lượng, tính toán giá trị trung bình từ tất cả các giá trị không thiếu
3 Trái lại, nếu thuộc tính là định tính, đếm số lần xuất hiện và xác định giá trị xuất hiện với tần suất cao nhất
4 Thay thế giá trị thiếu bằng giá trị vừa tính toán được
Trang 23- Không tính đến mối quan hệ giữa các thuộc tính, điều này có thể dẫn đến các kết quả khai phá dữ liệu (chẳng hạn khai phá luật kết hợp) bị sai lệch
- Nếu trong số các giá trị đã biết của thuộc tính có giá trị bất thường, nó
sẽ ảnh hưởng lớn tới giá trị trung bình, từ đó tạo ra sự sai lệch không đáng có đối với các giá trị thiếu được thay thế
2.1.2 Phương pháp Trung bình-Mốt dựa vào cụm tự nhiên
(Natural Cluster Based Mean-Mode - NCBMM)
Phương pháp Trung bình-Mốt dựa vào cụm tự nhiên là một biến thể của phương pháp Trung bình-Mốt Nó có thể được áp dụng để gán giá trị thiếu cho
cả thuộc tính định lượng và định tính trong tập dữ liệu có giám sát (tức là tập
dữ liệu trong đó mỗi đối tượng đều được gán một nhãn lớp) Trước tiên, người
ta phân chia tập dữ liệu thành các cụm, sao cho các bộ dữ liệu trong cùng một
cụm đều có nhãn lớp như nhau, (như vậy số cụm được tạo ra sẽ bằng số nhãn
lớp khác nhau có trong tập dữ liệu) Sau đó, trong mỗi cụm, giá trị trung bình (mean) được sử dụng để gán trị cho các giá trị thiếu của mỗi thuộc tính số, giá trị mode được sử dụng để lấp đầy các giá trị thiếu của mỗi thuộc tính biểu tượng Nội dung phương pháp NCBMM được mô tả trong Hình 2.2 [5]
4 Với mỗi thuộc tính định tính tìm giá trị có tần số cao nhất (mode)
5 Thay các giá trị thiếu bằng giá trị trung bình hoặc mốt tương ứng
Trang 24nó cũng những ưu và nhược điểm như phương pháp MM Tuy nhiên, thời gian thực hiện lâu hơn và để thu được các ước lượng tốt cho các giá trị thiếu, số bộ
dữ liệu trong các cụm phân theo nhãn lớp phải đủ lớn (lớn hơn 30)
2.1.3 Thay giá trị thiếu bằng giá trị cho cùng độ lệch chuẩn (Replacement Under Same Standard Deviation - RUSSD)
Phương pháp này áp dụng cho thuộc tính định lượng Ý tưởng của phương
pháp này là khôi phục tất cả các giá trị thiếu bằng một giá trị không làm thay đổi
độ lệch chuẩn s của thuộc tính [Pyle, 1999] Nội dung phương pháp này được
mô tả trong hình 2.3 [5, 6]
Hình 2.3 Thuật toán RUSD
Phương pháp RUSSD nhằm tránh thay thế giá trị thiếu bằng một giá trị
lạ, gây xáo trộn lớn đối với phân bố giá trị của thuộc tính Tuy vậy, việc tìm kiếm một giá trị không làm thay đổi độ lệch chuẩn của thuộc tính có thể sẽ tiêu tốn nhiều thời gian Hơn nữa, sử dụng một hằng số để thay thế tất cả các giá trị thiếu cũng có thể làm thay đổi đặc trưng của tập dữ liệu thực
2.1.4 Hồi quy tuyến tính (Linear regression – LR)
Khi hai thuộc tính định lượng nào đó có mối quan hệ tuyến tính với nhau, chúng ta có thể xây dựng một phương trình hồi quy tuyến tính, trong đó thuộc
1 Với mỗi thuộc tính định lượng có chứa giá trị thiếu
2 Tính toán độ lệch chuẩn SD1 từ tất cả các giá trị không thiếu
3 Thử giá trị sv bất kỳ đầu tiên (giá trị bổ sung thêm)
4 Tính toán giá trị trung bình và độ lệch chuẩn SDa từ tất cả các giá trị không thiếu và giá trị sv vừa thêm vào thay cho các giá trị thiếu
5 Nếu SDa khác SD1, lặp lại bước (3) và (4) bằng cách thay giá trị sv mới
6 Thay thế các giá trị thiếu trong thuộc tính đó bằng giá trị sv mới
Trang 25tính có giá trị thiếu là biến phụ thuộc, biến còn lại là biến độc lập và sử dụng phương trình hồi quy cho việc dự đoán các giá trị thiếu của biến phụ thuộc thông qua các giá trị đã biết của biến độc lập [19]
Phương pháp hồi quy tuyến tính thường gặp phải hai vấn đề Vấn đề thứ nhất, mô hình quan hệ giữa các thuộc tính có phải tuyến tính không Nếu mối quan hệ này là không tuyến tính, các giá trị thiếu ước lượng được có thể bị sai lệch lớn so với các giá trị thực Vấn đề thứ hai, thường thì trong cùng một bộ
dữ liệu, các thuộc tính có quan hệ chặt với thuộc tính có giá trị thiếu cũng có giá trị thiếu
2.2 Các phương pháp học máy
2.2.1 Phương pháp Trung bình-Mốt dựa vào cụm sinh bởi thuộc tính gần nhất (Attribute Rank Cluster Based Mean-Mode algorithm - RCBMM)
RCBMM có thể được áp dụng để gán trị cho các giá trị thiếu của các thuộc tính định tính trong tập dữ liệu có giám sát hoặc không có giám sát Trước tiên, với một thuộc tính định tính có giá trị thiếu, phương pháp này tính khoảng cách giữa nó tới mỗi thuộc tính định tính khác trong tập dữ liệu Xác định thuộc tính gần nhất (có khoảng cách nhỏ nhất) Thứ hai, căn cứ vào giá trị của thuộc tính gần nhất, phân chia tập dữ liệu thành các cụm, sao cho các bộ dữ liệu trong cùng một cụm phải có cùng một giá trị Thứ ba, giá trị mode của mỗi cụm được sử dụng để lấp đầy các giá trị thiếu Quá trình này được áp dụng cho mỗi thuộc tính có giá trị thiếu Nội dung phương pháp RCBMM được mô tả trong hình 2.4 [5,6]
Trang 26Hình 2.4 Thuật toán RCBMM
Có nhiều phương pháp tính toán khoảng cách giữa các thuộc tính định tính Một phương pháp thường được sử dụng là phương pháp áp dụng khoảng cách Mantaras [18]
card b là số đối tượng nhận giá trị Bb j, j1,2, ,q
Coi A và B là hai biến ngẫu nhiên rời rạc với phân bố xác suất tương ứng:
1 Với mỗi thuộc tính định tính ai có giá trị thiếu
2 Sắp thứ tự tất cả các thuộc tính định tính khác theo khoảng cách đến ai
Trang 27Khi đó khoáng cách Mantaras giữa A và B được định nghĩa bởi:
(Entropy đồng thời của A và B)
Nhìn chung, RCBMM là phương pháp cho độ chính xác cao hơn các phương pháp thống kê Tuy nhiên, RCBMM đòi hỏi một khối lượng tính toán nhiều hơn Hơn nữa, cũng giống như phương pháp hồi quy, việc xác định thuộc tính gần nhất đối với thuộc tính có giá trị thiếu, nhiều khi là một công việc khó thực hiện
2.2.2 Phương pháp Trung bình – Mốt dựa vào phân cụm Means (K-means clustering based Mean - Mode - KMCMM)
k-KMCMM có thể được áp dụng để điền đầy các giá trị thiếu cho các thuộc tính định lượng không phụ thuộc vào nhãn lớp Vì vậy, nó có thể được áp dụng cho cả dữ liệu có giám sát và dữ liệu không có giám sát Nội dung phương pháp KMCMM được mô trong hình 2.5 [5,6]
Trang 28Hình 2.5 Thuật toán KMCMM
Hệ số tương quan
Giả sử có hai thuộc tính định lượng X và Y và trong tập dữ liệu, có n cặp
dữ liệu về X và Y là ( ,x y1 1),( ,x y2 2), ,( ,x y Khi đó hệ số tương quan giữa n n)
X và Y được tính theo công thức:
XY XY
XX YY
S r
n
,
1 Với mỗi thuộc tính định lượng có giá trị thiếu a i
2 Sắp thứ tự tất cả thuộc tính định lượng khác theo giá trị tuyệt đối tăng dần của hệ số tương quan giữa mỗi thuộc tính với a i
3 Sử dụng thuật toán K-means phân tất cả các bộ dữ liệu của tập dữ liệu thành các cụm dựa vào giá trị của thuộc tính a có hệ số tương quan h
Trang 29
1
1 n i i
n
Thuật toán phân cụm k-means [6]
Thuật toán K-means là thuật toán phân cụm các đối tượng dựa trên các thuộc tính định lượng Thuật toán phân cụm k-means thực hiện như sau: Trước
tiên, thuật toán lựa chọn ngẫu nhiên k đối tượng Các giá trị thuộc tính a của k h đối tượng này sẽ là k giá trị trung bình đầu tiên của k cụm Mỗi đối tượng còn
lại sẽ được gán vào một cụm gần nhất theo khoảng cách giữa đối tượng đó tới giá trị trung bình của cụm Sau đó, thuật toán tính toán giá trị trung bình mới của mỗi cụm Quá trình này lặp lại cho tới khi tiêu chuẩn dừng thỏa mãn Tiêu
chuẩn dừng thường được sử dụng là tổng sai số bình phương E, xác định bởi:
Tiêu chuẩn này nhằm tạo ra sự khác biệt lớn nhất có thể được giữa các đối tượng trong các cụm Nội dung của phương pháp phân cụm được mô trong hình 2.6
Hình 2.6 Thuật toán phân cụm k-means
Cũng như phương pháp RCBMM, phương pháp KMCMM là phương pháp học máy, cho độ chính xác cao hơn các phương pháp thống kê Tuy nhiên, KMCMM đòi hỏi một khối lượng tính toán khá lớn Hơn nữa, việc xác định thuộc tính tương quan mạnh với thuộc tính có giá trị thiếu và số cụm k
1 Chọn ngẫu nhiên k đối tượng làm trung tâm ban đầu của k cụm
Trang 30để phân cụm các giá trị nhiều khi cũng là những công việc khó thực hiện
2.2.3 Phương pháp k-láng giềng gần nhất (k-Nearest Neighbors – kNN)
Phương pháp này sử dụng k bộ dữ liệu gần nhất đối với bộ dữ liệu có giá trị thiếu - láng giềng gần nhất (k-Nearest Neighbours) để ước lượng giá trị thiếu Trường hợp k = 1 được gọi là phương pháp láng giềng gần nhất Nội dung phương pháp kKMCMM được mô trong hình 2.7 [3, 5]
Cho hai bộ dữ liệu I i (x x i1, i2, ,x i m) và I j (x j1,x j2, ,x j m) trong
CSDL có m thuộc tính X X1, 2, ,X Khoảng cách giữa m I và i I được tính j
1 Với mỗi bộ dữ liệu I có chứa giá trị thiếu; i
2 Với mỗi bộ dữ liệu I không chứa giá trị thiếu; j
3 Tính toán khoảng cách distance I I( , )i j giữa I và i I ; j
4 Lựa chọn k bộ dữ liệu gần I nhất (k láng giềng gần nhất); i
5 Thay thế mỗi giá trị thiếu trong I bằng giá trị trung bình (trường hợp i
thuộc tính định lượng) hay giá trị xuất hiện thường xuyên nhất (trường hợp thuộc tính định tính) trong số các giá trị tương ứng của k-láng giềng gần nhất
Trang 31neu x x x thieu x thieu
I x x x x x = (102.6, yes, yes, yes, ?)
và giả sử maximum và minimum của các giá trị đã biết của thuộc tính định lượng X lần lượt là 102.6 và 96.4 Khi đó 1
Ưu điểm chính của k-láng giềng gần nhất là:
- Có thể gán giá trị thiếu cho cả giá trị thiếu của thuộc tính số lẫn thuộc tính biểu tượng với độ chính xác cao
- Không cần phải xây dựng mô hình dự đoán giá trị cho mỗi thuộc tính
có dữ liệu thiếu Thật vậy, phương pháp k-láng giềng gần nhất không xây dựng mô hình tường minh (phương trình hồi quy hoặc một cây quyết định,
Trang 32…) để dự đoán giá trị thiếu, mà chỉ sử dụng tập dữ liệu đã cho Do đó, thuật toán k-láng giềng gần nhất có thể dễ dàng áp dụng cho việc dự đoán giá trị thiếu của bất kỳ thuộc tính nào, chỉ cần lựa chọn một metric thích hợp sử dụng trong tính toán khoảng cách giữa các bộ dữ liệu Phương pháp k-láng giềng gần nhất còn cho phép xử lý giá trị thiếu trong trường hợp có nhiều giá trị thiếu trong một bộ dữ liệu
Hạn chế lớn nhất của phương pháp k-láng giềng gần nhất là để xác định
k bộ dữ liệu tương tự nhất, thuật toán sẽ phải tìm kiếm trong toàn bộ tập dữ liệu Việc này có thể trở thành không khả thi nếu tập dữ liệu có kích thước rất
lớn, một tình huống thường gặp phải trong khai phá dữ liệu
Phương pháp loại bỏ các bộ dữ liệu có chứa giá trị thiếu có ưu điểm là đơn giản, ít tốn thời gian hơn bất kỳ phương pháp nào khác Nhưng nó lại có
có hai điểm hạn chế quan trọng Thứ nhất, nếu chúng ta áp dụng vào trong thực tế có thể gây mất mát nhiều dữ liệu Ví dụ, giả sử cơ sở dữ liệu cần khai
Trang 33phá có 40 thuộc tính và 1000 bộ dữ liệu; xác suất một bộ dữ liệu có ít nhất một giá trị thuộc tính bị thiếu là 0.80%, khi đó nếu áp dụng phương pháp Loại
bỏ các bộ dữ liệu có chứa giá trị thiếu thì chúng ta chỉ có thể sử dụng 200 bộ
dữ liệu Vấn đề thứ hai là nếu phân bố dữ liệu thiếu trong tập dữ liệu không thuộc trường hợp 1 (MCAR) thì việc loại bỏ tất cả các bộ dữ liệu có giá trị thiếu sẽ làm sai lệch nghiêm trọng kết quả khai phá [12]
2.3.2 Phương pháp C4.5
C4.5 là một thuật học rất quen thuộc trong khai phá dữ liệu và học máy
do J R Quinlan đề xuất [20], nhằm giải bài toán phân lớp bằng cách xây dựng cây quyết định Cây quyết định là một cấu trúc cây, biểu diễn một vấn
đề quyết định Mỗi nút trong (không phải nút lá) gắn với một thuộc tính điều kiện, mỗi nhánh đi ra từ một nút trong gắn với một giá trị của thuộc tính điều kiện tương ứng, mỗi nút lá gắn với một giá trị thuộc tính quyết định (nhãn lớp) Cây quyết định được xây dựng dựa trên một tập dữ liệu huấn luyện bao gồm các đối tượng mẫu Mỗi đối tượng được mô tả bởi một tập giá trị các thuộc tính và nhãn lớp Để xây dựng cây quyết định, tại mỗi nút trong cần xác định một thuộc tính thích hợp để kiểm tra, phân chia dữ liệu thành các tập con Quá trình xây dựng một cây quyết định bắt đầu bằng một cây rỗng, toàn
bộ tập mẫu huấn luyện và là như sau:
1 Nếu tại nút hiện thời, tất cả các đối tượng huấn luyện đều thuộc vào một lớp nào đó thì cho nút này thành nút lá có tên là nhãn lớp chung của các đối tượng
2 Trường hợp ngược lại, sử dụng một độ đo, chọn thuộc tính điều kiện phân chia tốt nhất tập mẫu huấn luyện có tại nút
3 Tạo một lượng nút con của của nút hiện thời bằng số các giá trị khác nhau của thuộc tính được chọn Gán cho mỗi nhánh từ nút cha đến nút con