xử lý giá trị thiếu trong khai phá dữ liệu

66 334 0
xử lý giá trị thiếu trong khai phá 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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1 ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN  ĐOÀN XUÂN NGỌC XỬ LÝ GIÁ TRỊ THIẾU 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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2 LỜ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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3 MỤ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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4 2.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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 DANH 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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6 DANH 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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 MỞ ĐẦ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. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8 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ị 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. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 9 CHƢƠNG 1 KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VÀ VẤN ĐỀ DỮ LIỆU THIẾU 1.1 Khai phá dữ liệ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. Theo đó, lƣợng thông tin đƣợc lƣu trữ trên các thiết bị nhớ tăng nhanh mỗi ngày. Thống kê sơ bộ cho thấy, lƣợng thông tin trên các hệ thống thông tin cứ sau 20 tháng lại tăng lên gấp đôi [6, 17]. 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 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ề Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 phạ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. [...]... 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á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... 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 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 21 CHƢƠ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 đã... 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... liệu cần khai Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 33 phá 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... 10, 12] Các phƣơng pháp này cho phép xử lý trực tiếp các giá trị Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 15 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] Cho đến nay, xử lý giá trị thiếu trong các CSDL vẫn... 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. .. [Pyle, 1999] Nội dung phƣơng pháp này đƣợc mô tả trong hình 2.3 [5, 6] 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,... Nội dung phƣơng pháp kKMCMM đƣợc mô trong hình 2.7 [3, 5] 1 Với mỗi bộ dữ liệu I i có chứa giá trị thiếu; 2 Với mỗi bộ dữ liệu I j không chứa giá trị thiếu; 3 Tính toán khoảng cách distance( Ii , I j ) giữa I i và I j ; 4 Lựa chọn k bộ dữ liệu gần I i nhất (k láng giềng gần nhất); 5 Thay thế mỗi giá trị thiếu trong I i bằng giá trị trung bình (trƣờng hợp thuộc tính định lƣợng) hay giá trị xuất hiện thƣờng... 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 . 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. 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ữ. 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à

Ngày đăng: 25/11/2014, 17:14

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan