Tải bản đầy đủ (.pdf) (66 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (777.98 KB, 66 trang )


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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


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


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


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


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


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


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


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


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


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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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ị

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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 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 -
Webmaster team of SCI
2
S, Soft
Computing and Intelligent Information Systems, .

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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


16

Hì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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


17
Trƣớ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 SCI
2
S,

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


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


18
cá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


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


19
2. 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á.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


20
Chƣơ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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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 đã đƣợ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
 
, , ,
N
DB o o o
12

gồm N đối tƣợng, trong đó mỗi đối
tƣợng đƣợc mô tả bằng M thuộc tính
12
, , ,
M
X X X
. Ký hiệu
ij
x
là giá trị của
thuộc tính thứ j
()
j
X
tại đối tƣợng thứ i
()
i

o
, với
iN1

jM1
).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


22
Đối tƣợng
i
o
đƣợc gọi là đầy đủ nếu
ij
x 
với mọi
 
, ,jM 1
, trƣờng
hợp ngƣợc lại
i
o
đƣợc gọi là không đầy đủ. Với đối tƣợng
i
o
, nếu
ij
x 

thì
ta nói đối tƣợng
i
o
có giá trị thuộc tính
j
X
bị thiếu. Với thuộc tính
j
X
, nếu
ij
x 
thì ta nói thuộc tính
j
X
bị thiếu giá trị tại đối tƣợng
i
o
.
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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


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].






Hình 2.2. Thuật toán NCBMM
Vì NCBMM là một biến thể của phƣơng pháp Trung bình-mốt (MM) nên
1. Chia tất cả các bộ dữ liệu thành các cụm có cùng nhãn lớp
2. Với mỗi cụm:
3. Với mỗi thuộc tính định lƣợng có giá trị thiếu, tính giá trị trung bình
của tất cả các giá trị không thiếu
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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


24
nó 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 SD
1
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 SD
a
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 SD
a
khác SD
1
, 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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


25
tí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].


×