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

nghiên cứu phương pháp cây quyết định và cài đặt mô phỏng thuật toán id3

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 (817.11 KB, 78 trang )

1

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


ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN






DƢƠNG THỊ NHUNG



NGHIÊN CỨU PHƢƠNG PHÁP CÂY QUYẾT










ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN




DƢƠNG THỊ NHUNG


NGHIÊN CỨU PHƢƠNG PHÁP CÂY QUYẾT ĐỊNH
VÀ CÀI ĐẶT MÔ PHỎNG THUẬT TOÁN ID3


Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS VŨ ĐỨC THI




Thái Nguyên 2010


2

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


LỜI CAM ĐOAN


Tôi xin cam đoan toàn bộ nội dung luận văn này là do tôi tự sƣu tầm,
tra cứu thông tin trên mạng internet, trong một số sách tham khảo để sắp xếp, hoàn
thiện cho phù hợp với nội dung yêu cầu của đè tài.
Đến nay, nội dung luận văn của tôi chƣa từng đƣợc công bố hay xuất bản
dƣới bất kỳ hình thức nào. Nếu sai tôi xin chịu hoàn toàn trách nhiệm.

Ngày 10 tháng 10 năm 2010
Tác giả


Dƣơng Thị Nhung
3

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


LỜI CẢM ƠN
Để hoàn thành luận văn này tôi đã nhận đƣợc sự giúp đỡ tận tình của các
thầy cô Khoa Công nghệ thông tin – Đại học Thái Nguyên, các thầy cô viện công
nghệ thông tin – viện Khoa học và công nghệ Việt Nam, các bạn bè đông nghiệp.
Đặc biệt là PGS.TS Vũ Đức Thi, ngƣời thầy trực tiếp hƣớng dẫn tôi trong quá trình
nghiên cứu và thực hiện luận văn.
Nhân dịp này tôi xin đƣợc bày tỏ lời cảm ơn tới tất cả các thầy cô giáo viện
Công nghệ thông tin – Viện Khoa học và công nghệ Việt Nam, các thầy cô ở khoa
Công nghệ thông tin – Đại học Thái nguyên đã giảng dạy và tạo mọi điều kienẹ
thuận lợi giúp đỡ chúng tôi trong quá trình học tập, nghiên cứu.
Tôi xin trân trọng cảm ơn PGS.TS. Vũ Đức Thi – Viện công nghệ thông tin,
ngƣời thầy trực tiếp hƣớng dẫn, đƣa ra ý tƣởng, định hƣớng, đóng góp các ý kiến
chuyên môn và tận tình giúp đỡ tôi trong suốt quá trình nghiên cứu và thực hiện
luận văn này.

Tôi xin cảm ơn các bạn bè đồng nghiệp và gia đình đã giúp đỡ, đóng góp ý
kiến và động viên tôi trong suốt qua trình học, quá trình nghiên cứu và hoàn thành
luận văn này.


Tác giả
Dƣơng Thị Nhung
4

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


MỤC LỤC
LỜI MỞ ĐẦU 1
Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ 2
KHAI PHÁ DỮ LIỆU 2
1.1. Khái quát chung về phát hiện tri thức và khai phá dữ liệu. 2
1.2. Quá trình khám phá tri thức 3
1.2.1. Hình thành và định nghĩa bài toán 4
1.2.2. Thu thập và tiền xử lý dữ liệu 4
1.2.3. KPDL và rút ra các tri thức 5
1.2.4. Phân tích và kiểm định kết quả 5
1.2.5. Sử dụng các tri thức phát hiện đƣợc 5
1.3. Quá trình KPDL 6
1.3.1. Gom dữ liệu ( gatherin ) 6
1.3.2. Trích lọc dữ liệu ( selection ) 7
1.3.3. Làm sạch và tiền xử lý dữ liệu ( cleansing preprocessing preparation ). 7
1.3.4. Chuyển đổi dữ liệu ( transformation ) 7
1.3.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery) 7
1.3.6. Đánh giá kết quả ( evaluation of result ) 7

1.4. Chức năng của KPDL 8
1.5. Các kỹ thuật KPDL 8
1.5.1. Phân lớp dữ liệu: 8
1.5.2. Phân cụm dữ liệu: 9
1.5.3. Khai phá luật kết hợp: 9
1.5.4. Hồi quy: 9
1.5.5. Giải thuật di truyền: 9
1.5.6. Mạng nơron: 9
1.5.7. Cây quyết định. 10
1.6. Các dạng dữ liệu có thể khai phá đƣợc 10
1.7. Các lĩnh vực liên quan và ứng dụng của KPDL 10
5

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


1.7.1. Các lĩnh vực liên quan đến khám phá tri thức và KPDL 10
1.7.2. Ứng dụng của KPDL 11
1.8. Các thách thức và hƣớng phát triển của KPDL. 12
Phần 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ
LIỆU BẰNG CÂY QUYẾT ĐỊNH 13
2.1 Cây quyết định 13
2.1.1 Mô tả 13
2.1.2 Định nghĩa cây quyết định 13
2.1.3 Ƣu điểm của cây quyết định. 15
2.1.4 Vấn đề xây dựng cây quyết định 16
2.1.5 Rút ra các luật từ cây quyết định. 17
2.2 Các thuật toán KPDL bằng cây quyết định 18
2.2.1 Thuật toán CLS 18
2.2.2. Thuật toán ID3 23

2.2.3. Thuật toán C4.5 38
2.2.4. Thuật toán SLIQ 52
2.2.5. Cắt tỉa cây quyết định 61
2.2.6. Đánh giá và kết luận về các thuật toán xây dựng cây quyết định. 66
Phần 3: CÀI ĐẶT MÔ PHỎNG THUẬT TOÁN ID3 69
3.1. Mô tả bài toán 69
3.2. Màn hình nhập dữ liệu của chƣơng trình 69
3.3. Màn hình phân tích dữ liệu đƣa ra kết quả của chƣơng trình 70
Phần 4: KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 72
Tài Liệu Tiếng Việt 72
Tài Liệu Tiếng Anh 72
Danh Sách Website 72

1

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


LỜI MỞ ĐẦU
Trong nhiều năm qua, cùng với sự phát triển của công nghệ thông tin và ứng
dụng của công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, thì lƣợng dữ
liệu đƣợc các cơ quan thu thập và lƣu trữ ngày một nhiều lên. Theo thống kê thì
trong lƣợng dữ liệu đó chỉ có khoảng từ 5% đến 10% dữ liệu là luôn đƣợc phân tích,
số còn lại ngƣời ta không biết sẽ phải làm gì với chúng. Tuy nhiên con ngƣời vẫn
tiếp tục thu thập và lƣu trữ dữ liệu vì cho rằng chúng ẩn chứa những giá trị nhất
định nào đó, chẳng hạn có thể cung cấp cho họ thông tin đƣa ra quyết định chiến
lựoc một cách nhanh chóng trong một lúc nào đó. Chính do lƣợng dữ liệu đƣợc lƣu
trữ ngày càng nhiều lên đến mức khổng lồ thì các phƣơng pháp quản trị và khai thác
dữ liệu truyền thống ngày càng không đáp ứng đƣợc nhu cầu của thực tế và đã làm

phát triển một khuynh hƣớng kỹ thuật mới đó là Kỹ thuật khám phá tri thức và
KPDL (Khai phá dữ liệu).
Kỹ thuật khám phá tri thức và KPDL đã và đang đƣợc nghiên cứu, ứng dụng
trong nhiều lĩnh vực khác nhau trên thế giới. Tại Việt Nam, kỹ thuật này còn tƣơng
đối mới mẻ tuy nhiên cũng đang đƣợc nghiên cứu và dần đƣa vào một số ứng dụng
thực tế; đặc biệt trong lĩnh vực giáo dục đào tạo thì chƣa có một ứng dụng thiết thực
nào. Hiện nay vấn đề khám phá tri thức và KPDL cũng đang thu hút đƣợc sự quan
tâm của nhiều ngƣời và nhiều công ty phát triển ứng dụng công nghệ thông tin ở
nƣớc ta.
Luận văn này bao gồm các nội dung sau:
Chƣơng 1: Tổng quan về phát hiện tri thức và khai phá dữ liệu.
Chƣơng 2: Cây quyết định và các thuật toán khai phá dữ liệu bằng cây quyết định.
Chƣơng 3: Cài đặt mô phỏng thuật tóan ID3
2

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


Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ
KHAI PHÁ DỮ LIỆU
1.1. Khái quát chung về phát hiện tri thức và khai phá dữ liệu.
Trong vài thập kỷ gần đây, khả năng tạo sinh và lƣu trữ dữ liệu của con
ngƣời đã tăng lên nhanh chóng. Lƣợng dữ liệu lớn đƣợc lƣu trữ dẫn đến một đòi hỏi
cấp bách phải có những kỹ thuật mới, những công cụ tự động mới trợ giúp con
ngƣời một cách thông minh trong việc chuyển đổi một lƣợng lớn dữ liệu thành
thông tin hữu ích và tri thức. Vì vậy mà kỹ thuật khám phá tri thức (Knowledge
Discovery) đã ra đời và ngày càng phát triển để đáp ứng nhu cầu của con ngƣời
trong việc xử lý các kho dữ liệu lớn.
Vậy tri thức ở đây là gì? Thông thƣờng chúng ta coi dữ liệu nhƣ là một dãy
các bit, các số và các ký hiệu, hoặc các “đối tƣợng” đƣợc gửi cho một chƣơng trình

dƣới một định dạng nhất định nào đó. Chúng ta sử dụng các bit để đo lƣờng thông
tin và xem nó nhƣ là dữ liệu đã đƣợc lọc bỏ dƣ thừa, đƣợc rút gọn tới mức tối thiểu.
Bít đƣợc dùng làm đơn vị đặc trƣng cho dữ liệu. Chúng ta có thể xem tri thức nhƣ là
các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng. Các
mối quan hệ này có thể đƣợc hiểu, đƣợc phát hiện ra, hoặc có thể đƣợc học. Nói
cách khác, tri thức có thể coi là dữ liệu có độ trừu tƣợng và tổ chức cao.
Hiện nay khám phá tri thức đang phát triển mạnh mẽ trong nhiều ngành học
thuật. Nó đƣợc kết hợp cùng với việc quản lý cơ sở dữ liệu, khoa học thống kê, học
máy, nghiên cứu mối quan hệ giữa các lĩnh vực nhằm rút ra các tri thức có ích từ
tập hợp lớn dữ liệu.
Khám phá tri thức là quá trình nhận biết cái logic, cái mới lạ, những tri thức
tiềm tàng hữu ích từ cơ sở dữ liệu, và cuối cùng là việc hiểu đƣợc các mẫu các mô
hình trong dữ liệu.
Còn thuật ngữ KPDL (Khai phá dữ liệu) ra đời vào những năm cuối của thập kỷ
1980. Có rất nhiều định nghĩa khác nhau về "KPDL" đã đƣợc đƣa ra. Giáo sƣ Tom
3

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


Mitchell đã đƣa ra định nghĩa về KPDL nhƣ sau: “KPDL là việc sử dụng dữ liệu
lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tƣơng lai.”.
Với một cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad đã phát biểu: ”KPDL thƣờng
đƣợc xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích
xuất những thông tin ẩn, trƣớc đây chƣa biết và có khả năng là hữu ích, dƣới dạng
các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu.”. Còn các nhà thống kê thì xem
" KPDL nhƣ là một quá trình phân tích đƣợc thiết kế thăm dò một lƣợng cực lớn
các dữ liệu nhằm phát hiện ra các mẫu thích hợp và/ hoặc các mối quan hệ mang
tính hệ thống giữa các biến và sau đó sẽ hợp thức hoá các kết quả tìm đƣợc bằng
cách áp dụng các mẫu đã phát hiện đƣợc cho tập con mới của dữ liệu". Nói chung,

KPDL là cốt lõi của quá trình khám phá tri thức. Nó gồm có các giải thuật KPDL
chuyên dùng, dƣới một số quy định về hiệu quả tính toán chấp nhận đƣợc. KPDL là
nhằm tìm ra những mẫu mới, mẫu có tính chất không tầm thƣờng, những thông tin
tiềm ẩn mang tính dự đoán chƣa đƣợc biết đến và có khả năng mang lại ích lợi.
Nói tóm lại, mục đích chung của việc khám phá tri thức và KPDL là tìm ra
các mẫu đƣợc quan tâm nhất và/ hoặc các mô hình tồn tại trong cơ sở dữ liệu,
nhƣng chúng lại bị che dấu bởi một số lƣợng lớn dữ liệu.
1.2. Quá trình khám phá tri thức
Quá trình khám phá tri thức đƣợc tiến hành qua 5 bƣớc sau:
4

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



Hình 1.1. Quá trình khám phá tri thức
1.2.1. Hình thành và định nghĩa bài toán
Đây là bƣớc tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bƣớc này quyết
định cần rút ra những tri thức dạng nhƣ thế nào, đồng thời lựa chọn các phƣơng
pháp KPDL thích hợp với mục đích ứng dụng và bản chất của dữ liệu.
1.2.2. Thu thập và tiền xử lý dữ liệu
Trong bƣớc này dữ liệu đƣợc thu thập ở dạng thô (nguồn dữ liệu thu thập có thể
là từ các kho dữ liệu hay nguồn thông tin internet). Trong giai đoạn này dữ liệu
cũng đƣợc tiền xử lý để biến đổi và cải thiện về chất lƣợng cho phù hợp với phƣơng
pháp KPDL đƣợc chọn lựa trong bƣớc một.
Bƣớc này thƣờng chiếm nhiều thời gian nhất trong quá trình khám phá tri thức.
Các công việc tiền xử lý dữ liệu bao gồm :
1. Xử lý dữ liệu bị mất/ thiếu: Các dữ liệu bị thiếu sẽ đƣợc thay thế bởi các
giá trị thích hợp.
2. Khử sự trùng lặp: các đối tƣợng dữ liệu trùng lặp sẽ bị loại bỏ. Kỹ thuật

này không đƣợc sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu.
3. Giảm nhiễu: dữ liệu nhiễu và các đối tƣợng tách rời khỏi phân bố chung
sẽ bị loại bỏ khỏi tập dữ liệu.
5

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


4. Chuẩn hoá: thông thƣờng là chuẩn hoá miền giá trị của dữ liệu cho phù
hợp.
5. Rời rạc hoá: chính là việc biến đổi các dữ liệu dạng số về dữ liệu với các
giá trị rời rạc.
6. Rút trích và xây dựng đặc trƣng mới từ các thuộc tính đã có.
7. Giảm chiều: là loại bỏ bớt các thuộc tính chứa ít thông tin.
1.2.3. KPDL và rút ra các tri thức
Đây là bƣớc quan trọng nhất trong tiến trình khám phá tri thức. Kết quả của
bƣớc này là trích ra đƣợc các mẫu và/hoặc các mô hình ẩn dƣới một khối lƣợng lớn
dữ liệu. Một mô hình có thể là một biểu diễn cấu trúc tổng thể một thành phần của
hệ thống hay cả hệ thống trong cơ sở dữ liệu, hoặc miêu tả cách dữ liệu đƣợc nảy
sinh. Còn một mẫu là một cấu trúc cục bộ có liên quan đến vài biến và vài trƣờng
hợp trong cơ sở dữ liệu.
1.2.4. Phân tích và kiểm định kết quả
Bƣớc thứ tƣ là hiểu các tri thức đã tìm đƣợc, đặc biệt là làm sáng tỏ các mô tả
và dự đoán. Trong bƣớc này, kết quả tìm đƣợc sẽ đƣợc biến đổi sang dạng phù hợp
với lĩnh vực ứng dụng và dễ hiểu hơn cho ngƣời dùng.
1.2.5. Sử dụng các tri thức phát hiện đƣợc
Trong bƣớc này, các tri thức khám phá đƣợc sẽ đƣợc củng cố, kết hợp lại
thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức
đó. Các mô hình rút ra đƣợc đƣa vào những hệ thống thông tin thực tế dƣới dạng
các môdun hỗ trợ việc đƣa ra quyết định.

Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với
nhau trong bối cảnh chung của hệ thống. Các kỹ thuật đƣợc sử dụng trong giai đoạn
trƣớc có thể ảnh hƣởng đến hiệu quả của các giải thuật đƣợc sử dụng trong những
giai đoạn tiếp theo. Các bƣớc của quá trình khám phá tri thức có thể đƣợc lặp đi lặp
6

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


lại một số lần, kết quả thu đƣợc có thể đƣợc lấy trung bình trên tất cả những lần
thực hiện.
1.3. Quá trình KPDL
KPDL là hoạt động trọng tâm của quá trình khám phá tri thức. Thuật ngữ
KPDL còn đƣợc một số nhà khoa học gọi là khám phá tri thức trong cơ sở dữ liệu (
knowledge discovery in database ), do Fayyad Smyth và Piatestky-Shapiro đƣa ra
năm 1989 . Quá trình này gồm có 6 bƣớc:

Hình 1.2. Quá trình KPDL
Quá trình KPDL bắt đầu với kho dữ liệu thô và kết thúc với tri thức đƣợc chiết
xuất ra. Các bƣớc của quá trình nhƣ sau:
1.3.1. Gom dữ liệu ( gatherin )
Tập hợp dữ liệu là bƣớc đầu tiên trong KPDL. Bƣớc này lấy dữ liệu từ trong một
cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu từ những nguồn cung ứng web.
7

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


1.3.2. Trích lọc dữ liệu ( selection )
Ở giai đoạn này dữ liệu đƣợc lựa chọn và phân chia theo một số tiêu chuẩn

nào đó.
1.3.3. Làm sạch và tiền xử lý dữ liệu ( cleansing preprocessing preparation ).
Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhƣng thực tế nó là một bƣớc
rất quan trọng trong quá trình KPDL. Một số lỗi thƣờng mắc phải trong khi gom dữ
liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặt chẽ. Vì vậy dữ liệu
thƣờng chứa các giá trị vô nghĩa và không có khả năng kết nối lại với nhau.
Ví dụ Sinh viên có tuổi =200. Giai đoạn thứ ba này nhằm xử lý các dữ liệu nhƣ
trên. Những dữ liệu dạng này thƣờng đƣợc xem là thông tin dƣ thừa, không có giá
trị. Bởi vậy đây là một quá trình rất quan trọng. Nếu dữ liệu không đƣợc làm sạch-
tiền xử lý - chuẩn bị trƣớc thì sẽ gây nên những kết quả sai lệch nghiêm trọng về
sau.
1.3.4. Chuyển đổi dữ liệu ( transformation )
Trong giai đoạn này, dữ liệu có thể đƣợc tổ chức và sử dụng lại. Mục đích của
việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn với mục đích KPDL.
1.3.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery)
Đây là bƣớc tƣ duy trong KPDL. Ở trong giai đoạn này nhiều thuật toán khác
nhau đã đƣợc sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thƣờng dùng để
trích mẫu dữ liệu là thuật toán phân loại dữ liệu, kết hợp dữ liệu, thuật toán mô hình
hoá dữ liệu tuần tự.
1.3.6. Đánh giá kết quả ( evaluation of result )
Đây là giai đoạn cuối cùng trong quá trình KPDL, ở giai đoạn này các mẫu dữ
liệu đƣợc chiết xuất ra bởi phần mềm KPDL. Không phải mẫu dữ liệu nào cũng hữu
ích, đôi khi nó còn bị sai lệch. Vì vậy cần phải đƣa ra những tiêu chuẩn đánh giá độ
ƣu tiên cho các mẫu dữ liệu để rút ra đƣợc những tri thức cần thiết.
8

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


1.4. Chức năng của KPDL

KPDL có hai chức năng chính: mô tả (description) và dự đoán (prediction).
Công việc KPDL mô tả sẽ mô tả các tính chất hoặc đặc tính chung của dữ liệu
trong cơ sở dữ liệu, nghĩa là phân tích và mô tả một tập mẫu đã biết (a set of known
sample) trong khả năng nhận thức của con ngƣời nhằm giúp họ hiểu rõ hơn, sâu hơn
về dữ liệu.
Còn công việc KPDL dự đoán sẽ thực hiện việc suy luận dựa trên dữ liệu hiện
hành để cho ra các dự báo, nghĩa là phân tích tập dữ liệu huấn luyện và tạo ra một
hoặc vài mô hình cho phép dự đoán các mẫu mới chƣa biết (unseen new examples).
1.5. Các kỹ thuật KPDL
Có nhiều kỹ thuật khác nhau đƣợc sử dụng để KPDL nhằm thực hiện hai chức
năng mô tả và dự đoán. Với mỗi chức năng thì có các kỹ thuật KPDL tƣơng ứng với
nó.
- Kỹ thuật KPDL mô tả: có nhiệm vụ mô tả các tính chất hoặc các đặc tính
chung của dữ liệu trong CSDL hiện có. Một số kỹ thuật khai phá trong nhóm
này là: phân cụm dữ liệu (Clustering), tổng hợp (Summarisation), trực quan
hoá (Visualization), phân tích sự phát triển và độ lệch (Evolution and
deviation analyst),….
- Kỹ thuật KPDL dự đoán: có nhiệm vụ đƣa ra các dự đoán dựa vào việc suy
diễn trên cơ sở dữ liệu hiện thời. Một số kỹ thuật khai phá trong nhóm này là:
phân lớp (Classification), hồi quy (Regression), cây quyết định (Decision
tree), thống kê (statictics), mạng nơron (neural network), luật kết hợp
(association rules),….
Một số kỹ thuật phổ biến thƣờng đƣợc sử dụng để KPDL hiện nay là :
1.5.1. Phân lớp dữ liệu:
Mục tiêu của phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu. Quá
trình gồm hai bƣớc: xây dựng mô hình, sử dụng mô hình để phân lớp dữ liệu. Mô
9

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



hình đƣợc sử dụng để dự đoán nhãn lớp khi mà độ chính xác của mô hình chấp nhận
đƣợc.
1.5.2. Phân cụm dữ liệu:
Mục tiêu của phân cụm dữ liệu là nhóm các đối tƣợng tƣơng tự nhau trong tập
dữ liệu vào các cụm, sao cho những đối tƣợng thuộc cùng một lớp là tƣơng đồng
nhau.
1.5.3. Khai phá luật kết hợp:
Mục tiêu của phƣơng pháp này là phát hiện và đƣa ra mối liên hệ giữa các giá
trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật luật kết hợp là tập luật kết hợp
tìm đƣợc. Phƣơng pháp khai phá luật kết hợp gồm có hai bƣớc:
- Bƣớc 1: Tìm ra tất cả các tập mục phổ biến. Một tập mục phổ biến đƣợc xác
định thông qua việc tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu.
- Bƣớc 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, luật phải thoả mãn
độ hỗ trợ và độ tin cậy cực tiểu.
1.5.4. Hồi quy:
Phƣơng pháp hồi quy tƣơng tự nhƣ là phân lớp dữ liệu. Nhƣng khác ở chỗ nó
dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu dùng để dự đoán các giá trị
rời rạc.
1.5.5. Giải thuật di truyền:
Là quá trình mô phỏng theo tiến hoá của tự nhiên. Ý tƣởng chính của giải thuật
là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự nhiên và tiến hoá trong sinh
học.
1.5.6. Mạng nơron:
Đây là một trong những kỹ thuật KPDL đƣợc ứng dụng phổ biến hiện nay. Kỹ
thuật này phát triển dựa trên một nền tảng toán học vững vàng, khả năng huấn luyện
trong kỹ thuật này dựa trên mô hình thần kinh trung ƣơng của con ngƣời.
10

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



Kết quả mà mạng nơron học đƣợc có khả năng tạo ra các mô hình dự báo, dự
đoán với độ chính xác và độ tin cậy cao. Nó có khả năng phát hiện ra đƣợc các xu
hƣớng phức tạp mà kỹ thuật thông thƣờng khác khó có thể phát hiện ra đƣợc. Tuy
nhiên phƣơng pháp mạng nơ ron rất phức tạp và quá trình tiến hành nó gặp rất nhiều
khó khăn: đòi hỏi mất nhiều thời gian, nhiều dữ liệu, nhiều lần kiểm tra thử nghiệm.
1.5.7. Cây quyết định.
Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp
và dự báo. Các đối tƣợng dữ liệu đƣợc phân thành các lớp. Các giá trị của đối tƣợng
dữ liệu chƣa biết sẽ đƣợc dự đoán, dự báo. Tri thức đƣợc rút ra trong kỹ thuật này
thƣờng đƣợc mô tả dƣới dạng tƣờng minh, đơn giản, trực quan, dễ hiểu đối với
ngƣời sử dụng.
1.6. Các dạng dữ liệu có thể khai phá đƣợc
- CSDL quan hệ
- CSDL đa chiều
- CSDL giao dịch
- CSDL quan hệ - đối tƣợng
- CSDL không gian và thời gian
- CSDL đa phƣơng tiện.
1.7. Các lĩnh vực liên quan và ứng dụng của KPDL
1.7.1. Các lĩnh vực liên quan đến khám phá tri thức và KPDL
Khám phá tri thức và KPDL đƣợc ứng dụng trong nhiều ngành và lĩnh vực
khác nhau nhƣ: tài chính ngân hàng, thƣơng mại, y tế, giáo dục, thống kê, máy học,
trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán toán học, tính toán song song với tốc độ
cao, thu thập cơ sở tri thức cho hệ chuyên gia,…Trong đó KPDL rất gần gũi với
lĩnh vực thống kê, sử dụng các phƣơng pháp thống kê để phát hiện ra các mẫu, các
luật bên trong dữ liệu. Kho dữ liệu và các công cụ phân tích trực tuyến cũng liên
quan đến khám phá tri thức và KPDL.
11


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



Hình 1.3. Các lĩnh vực liên quan đến KPDL
1.7.2. Ứng dụng của KPDL
KPDL đƣợc vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn
dữ liệu phong phú đƣợc lƣu trữ trong các hệ thống thông tin. Tuỳ theo bản chất của
từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận khác nhau.
KPDL đƣợc vận dụng có hiệu quả để giải quyết các bài toán phức tạp trong
những ngành đòi hỏi kỹ thuật cao nhƣ: tìm kiếm mỏ dầu từ ảnh viễn thám, xác định
vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh báo hỏng hóc trong các hệ
thống sản xuất.
Phân nhóm và dự đoán là những công cụ rất cần thiết cho việc quy hoạch và
phát triển hệ thống quản lý và sản xuất trong thực tế nhƣ: dự đoán tải sử dụng điện
năng cho các công ty cung cấp điện, lƣu lƣợng viễn thông cho các công ty điện
thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị
trƣờng cho các công ty tài chính hay phân nhóm khách hàng tiềm năng.
Ngoài ra KPDL còn đƣợc áp dụng trong việc giải quyết các vấn đề xã hội
nhƣ: phát hiện tội phạm hay tăng cƣờng an ninh xã hội và mang lại những hiệu quả
thiết thực cho các hoạt động trong đời sống hàng ngày.
KPDL
Cơ sở dữ liệu
Thống kê
Y tế, giáo dục
Tài chính ngân
hàng
Máy học, trí tuệ
nhân tạo

……
Thông tin học
Thƣơng mại
12

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


Một số ứng dụng cụ thể nhƣ sau :
- KPDL đƣợc sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định.
- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thông tin di
truyền, tìm mối liên hệ giữa các hệ gen và chuẩn đoán một số bệnh di truyền.
- Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng, chuẩn đoán
bệnh.
- Tài chính và thị trƣờng chứng khoán: KPDL dùng để phân tích tình hình tài
chính, phân tích đầu tƣ, phân tích cổ phiếu.
- Khai thác dữ liệu web.
- Trong thông tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều khiển và
lập lịch trình.
- Trong thông tin thƣơng mại: dùng để phân tích dữ liệu ngƣời dùng, phân tích
dữ liệu marketing, phân tích đầu tƣ, phát hiện các gian lận.
1.8. Các thách thức và hƣớng phát triển của KPDL.
Việc khám phá tri thức và KPDL hiện nay đang phát triển rất mạnh mẽ và đạt
đƣợc nhiều thành tựu quan trọng trong một số lĩnh vực, song những việc này vẫn
gặp phải một số khó khăn cần giải quyết nhƣ:
- Đối với các cơ sở dữ liệu quá lớn với số lƣợng bản ghi lớn hơn 1012 bản ghi,
số thuộc tính lớn hơn 102 thuộc tính thì khó khăn trong việc tìm ra mối quan hệ
giữa các thuộc tính và tổng quát hoá dữ liệu.
- Một vấn đề khó khăn nữa là theo thời gian thì một số kết quả tri thức rút ra từ
tập mẫu dữ liệu không còn phù hợp nữa.

- Dữ liệu bị thiếu hoặc bị nhiễu.
- Quan hệ giữa các trƣờng thuộc tính phức tạp
- Khó khăn trong việc sử dụng các kết quả của data mining vào trong thực tế,
việc kết hợp tri thức thu đƣợc thành hệ thống và biến đổi về dạng thích hợp cho
13

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


ngƣời dùng có thể hiểu và đánh giá đƣợc cũng nhƣ tích hợp kết quả khai phá dữ liệu
với các hệ thống khác gặp khó khăn.
Hƣớng phát triển của khám phá tri thức và KPDL là vƣợt qua đƣợc tất cả
những thách thức trên; chú trọng vào việc mở rộng ứng dụng để đáp ứng cho mọi
lĩnh vực trong đời sống xã hội; tăng tính hữu ích của việc KPDL trong những lĩnh
vực đã sử dụng nó; tạo ra các phƣơng pháp KPDL linh động, uyển chuyển để xử lý
số lƣợng dữ liệu lớn một cách hiệu quả; tạo ra tƣơng tác ngƣời sử dụng tốt, giúp
ngƣời sử dụng tham gia điều khiển quá trình KPDL, định hƣớng hệ thống KPDL
trong việc phát hiện các mẫu đáng quan tâm; tích hợp KPDL vào trong các hệ cơ sở
dữ liệu; ứng dụng KPDL để KPDL web trực tuyến. Một vấn đề quan trọng trong
việc phát triển khám phá tri thức và KPDL đó là an toàn và bảo mật thông tin trong
KPDL.
Phần 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU
BẰNG CÂY QUYẾT ĐỊNH
2.1 Cây quyết định
2.1.1 Mô tả
Cây quyết định (decision tree) là công cụ dùng để phân lớp dữ kiện, nó có
cấu trúc cây. Mỗi cây quyết định là một tƣợng trƣng cho một sự quyết định của một
lớp các dữ kiện nào đó. Mỗi nút trong cây là tên của một lớp hay một phép thử
thuộc tính c ụ thể nào đó, phép thử này phân chia không gian trạng thái các dữ kiện
tại nút đó thành các kết quả có thể đạt đƣợc của phép thử. Mõi tập con đƣợc phân

chia của phép thử là không gian con của các sự kiện, nó tƣơng ứng với một vấn đề
con của sự phân lớp.
2.1.2 Định nghĩa cây quyết định
Trong lý thuyết quyết định, một cây quyết định (decision tree) là một đồ thị
của các quyết định và hậu quả có thể của nó (bao gồm cả rủi ro và hao phí tài
nguyên ). Cây quyết định đƣợc sử dụng để xây dựng một kế hoạch nhằm đạt đƣợc
14

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


mục tiêu mong muốn. Các cây quyết định đƣợc dùng để hỗ trợ quá trình ra quyết
định. Cây quyết định là một dạng đặc biệt của cấu trúc cây.
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo
(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật /hiện tƣợng tới
các kết luận về giá trị mục tiêu của sự vật/hiện tƣợng. Mỗi nút trong (internal node)
tƣơng ứng với một biến; đƣờng nối giữa nó với nút con của nó thể hiện giá trị cụ thể
cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trƣớc các
giá trị dự đoán của biến đƣợc biểu diễn bởi đƣờng đi từ nút gốc tới nút lá đó. Kỹ
thuật học máy dùng trong cây quyết định đƣợc gọi là học bằng cây quyết định, hay
chỉ gọi với cái tên ngắn gọn là cây quyết định.
Cây quyết định có thể đƣợc mô tả nhƣ là sự kết hợp của các kỹ thuật toán học và
tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hoá một tập dữ liệu cho
trƣớc.
Cây quyết định có 2 tên khác:
 Cây hồi quy : ƣớc lƣợng các hàm giá có giá trị là số thực thay vì
đƣợc sử dụng cho các nhiệm vụ phân loại.
 Cây phân loại: có chứa các biến phân loại nhƣ: giới tính ( nam hay
nữ), kết quả của một trận đấu (thắng hay thua).
Ví dụ: Cây quyết định phân lớp mức lƣơng có các dữ kiện sau:

ID ( Định danh ), age (tuổi), salary (lƣơng).
Phân lớp mức lƣơng có 2 lớp: good, bad.
Tập dữ liệu nhƣ sau:
ID
Age
Salary
Class
1
30
65
Good
2
23
15
Bad
15

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


3
40
7
Good
4
55
40
Bad
5
55

100
Good
6
45
60
good
Bảng 2.1 : Tập dữ liệu huấn luyện quyết định phân lớp mức lƣơng
Cây quyết định phân lớp mức lƣơng có dạng nhƣ sau:


Hình 2.1 Cây quyết đinh phân lớp mức lƣơng
2.1.3 Ƣu điểm của cây quyết định.
So với các phƣơng pháp KPDL khác, cây quyết định có một số ƣu điểm sau:
- Cây quyết định tƣơng đối dễ hiểu. Ngƣời ta có thể hiểu đƣợc mô hình của cây
quyết định chỉ cần sau khi đƣợc giải thích ngắn gọn.
- Kỹ thuật KPDL bằng cây quyết định chỉ đòi hỏi dữ liệu đƣợc chuẩn bị một
cách cơ bản, đôi khi không cần thiết phải xử lý dữ liệu trƣớc khi tiến hành khai phá.
Trong khi đó, các kỹ thuật khác thƣờng đỏi hỏi phải có các thao tác xử lý dữ liệu
Age?
≤ 35
salary
> 35
salary
≤ 40
>40
bad
good
≤5
0
>5

0
bad
good
16

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


phức tạp hơn nhƣ: chuẩn hoá dữ liệu, tạo ra các biến phụ hay loại bỏ các giá trị
rỗng.
- Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số, liên tục và dữ liệu
dạng phân loại rời rạc. Các kỹ thuật khác thƣờng chuyên để phân tích các bộ dữ liệu
chỉ gồm các thuộc tính có giá trị hoặc liên tục (dạng số) hoặc rời rạc. Chẳng hạn,
các luật quan hệ chỉ có thể dùng cho các biến tên loại rời rạc, trong khi mạng nơron
chỉ có thể dùng cho các biến có giá trị bằng số.
- Cây quyết định là một mô hình hộp trắng. Nếu có thể quan sát một tình huống
cho trƣớc trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó bằng logic
boolean.
- Có thể thẩm định một mô hình cây quyết định bằng các kiểm tra thống kê.
Điều này làm cho ta có thể tin tƣởng vào kết quả của mô hình.
Cây quyết định có thể xử lý một lƣợng rất lớn dữ liệu và đƣa ra các kết quả
phân tích trong thời gian đủ ngắn. Chính vì vậy nó giúp cho các nhà chiến lƣợc đƣa
ra các quyết định kịp thời nhanh chóng dựa vào việc phân tích cây quyết định, trong
thời đại công nghệ thông tin mà ai có đƣợc thông tin và đƣa ra quyết định sớm thì
ngƣời đó gần nhƣ nắm chắc phần thắng trong kinh doanh.
2.1.4 Vấn đề xây dựng cây quyết định
Xây dựng cây quyết định là việc làm quan trọng nhất trong việc sử dụng cây
quyết định để KPDL. Có nhiều thuật toán khác nhau để xây dựng cây quyết định.
Một số thuật toán cơ bản là: CLS, ID3, C4.5, SLIQ, SPRINT, EC4.5, C5.0…Quá
trình xây dựng cây quyết định dù đƣợc thực hiện bằng thuật toán nào, thì nói chung

đều chia ra làm ba giai đoạn cơ bản nhƣ sau.
a. Xây dựng cây
Trong giai đoạn này, tập dữ liệu huấn luyện đƣợc chia một cách đệ quy cho
đến khi các mẫu dữ liệu huấn luyện ở mỗi nút lá là thuộc cùng một lớp, hay còn gọi
là các nút lá đều thuần khiết. Ngoại trừ các nút lá ra thì các nút không phải là nút lá
17

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


đều đƣợc kiểm tra các thuộc tính đề tìm ra thuộc tính "chiến thắng" đƣợc chọn cho
việc phân tách tiếp theo. Nhãn của nút có phép tách này là nhãn của thuộc tính
"chiến thắng" đồng thời tập dữ liệu tại nút này đƣợc phân tách ra làm các tập con
theo các giá trị của thuộc tính đó.
b. Cắt tỉa cây
Thông thƣờng thì cây đƣợc sinh ra trong giai đoạn xây dựng và hoạt động tốt
trên tập dữ liệu huấn luyện, tuy nhiên cây có thể hoạt động không chính xác trên các
tập dữ liệu bị nhiễu hoặc bị thiếu. Vì vậy cần phải có giai đoạn cắt tỉa cây để tối ƣu
hoá cây, đó là tối ƣu hoá về độ lớn và độ chính xác của sự phân lớp các mẫu dữ
liệu.
c. Đánh giá cây
Giai đoạn này đánh giá độ chính xác của cây kết quả. Việc đánh giá cây tƣơng
đối đơn giản. Đánh giá bằng cách cho một tập dữ kiện vào và so sánh nhãn của lớp
đã dự đoán với nhãn của lớp trên thực tế đạt đƣợc. Tiêu chí để đánh giá độ chính
xác của cây quyết định là tỷ số các mẫu đƣợc phân lớp chính xác trên tổng số các
mẫu đƣa vào.
2.1.5 Rút ra các luật từ cây quyết định.
Có thể chuyển đổi qua lại giữa mô hình cây quyết định và mô hình dạng luật.
Sau khi xây dựng đƣợc cây quyết định ta có thể rút ra đƣợc tập các luật dạng
IF THEN và ngƣợc lại. Từ hai mô hình này chúng ta có thể rút ra đƣợc các quy

luật, mô hình từ trong cơ sở dữ liệu.
Ví dụ: từ cây quyết định phân lớp mức lƣơng (Hình 2.1) ta có thể rút ra đƣợc
một số luật sau:
IF (Age <= 35) AND (salary<=40) THEN class = bad
IF (Age<=35) AND (salary>40) THEN class = good
18

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


IF (Age>35) AND (salary <=50 ) THEN class = bad
IF (Age > 35) AND(salary>50) THEN class = good
2.2 Các thuật toán KPDL bằng cây quyết định
Kỹ thuật khai phá dữ liệu bằng cây quyết định là kỹ thuật thuật đƣợc trình bày
trọng tâm trong luận văn này.
Từ rất lâu, ngƣời ta đã quan tâm đến việc phân loại dữ liệu bằng cây quyết
định. Mỗi cách phân loại đƣợc ghi chép lại và sau đó đƣợc công bố nhƣ là một kỹ
thuật KPDL. Mỗi kỹ thuật theo thời gian và theo nhu cầu cần sử dụng đã dần bộc lộ
những điểm mạnh và điểm yếu của mình, cũng nhƣ không ngừng đƣợc cải tiến để
phục vụ mục đích KPDL.
2.2.1 Thuật toán CLS
Xây dựng cây quyết định lần đầu tiên đƣợc Hoveland và Hint giới thiệu trong
Concept Learning System (CLS) vào cuối những năm 50 của thế kỷ 20. Sau đó gọi
tắt là thuật toán CLS. Thuật toán CLS đƣợc thiết kế theo chiến lƣợc chia để trị từ
trên xuống và gồm các bƣớc sau:
1) Tạo một nút T, nút này gồm tất cả các mẫu của tập huấn luyện.
2) Nếu tất cả các mẫu trong T có thuộc tính quyết định mang giá trị "yes"
(hay thuộc cùng một lớp), thì gán nhãn cho nút T là "yes" và dừng lại. T lúc
này là nút lá.
3) Nếu tất cả các mẫu trong T có thuộc tính quyết định mang giá trị

"no" (hay thuộc cùng một lớp), thì gán nhãn cho nút T là "no" và dừng lại. T
lúc này là nút lá.
4) Trƣờng hợp ngƣợc lại các mẫu của tập huấn luyện thuộc cả hai lớp
"yes" và "no" thì:
i. Chọn một thuộc tính X trong tập thuộc tính của tập mẫu dữ
liệu, X có các giá trị v
1
,v
2
, …v
n
.
19

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


ii. Chia tập mẫu trong T thành các tập con T
1
, T
2
,….,T
n
. chia theo
giá trị của X.
iii. Tạo n nút con T
i
(i=1,2…n) với nút cha là nút T.
iv. Tạo các nhánh nối từ nút T đến các nút T
i

(i=1,2…n)
5) Thực hiện lặp cho các nút con T
i
(i =1,2 n) và quay lại bƣớc 2.
Ví dụ: Cho tập dữ liệu huấn luyện thể hiện trong bảng dữ liệu 2.2, xây dựng
cây quyết định đi chơi tennis.
Day
Outlook
Temparatur
e
Humidity
Wind
Play tennis
D1
Sunny
Hot
High
Weak
No
D2
Sunny
Hot
High
Strong
No
D3
Overcast
Hot
High
Weak

Yes
D4
Rain
Mild
High
Weak
Yes
D5
Rain
Cool
Normal
Weak
Yes
D6
Rain
Cool
Normal
Strong
No
D7
Overcast
Cool
Normal
Strong
Yes
D8
Sunny
Mild
High
Weak

No
D9
Sunny
Cool
Normal
Weak
Yes
D10
Rain
Mild
Normal
Weak
Yes
D11
Sunny
Mild
Normal
Strong
Yes
20

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


D12
Overcast
Mild
High
Strong
Yes

D13
Overcast
Hot
Normal
Weak
Yes
D14
Rain
Mild
High
Strong
No
Bảng 2.2 tập dữ liệu huấn luyện quyết định chơi tennis
Bảng dữ liệu trên là một tập các mẫu mô tả quyết định đi chơi tennis. Trong
bảng, thuộc tính Day đƣợc dùng để định danh (chỉ số). Các thuộc tính outlook
(quang cảnh bầu trời), temperature (nhiệt độ), humidity (độ ẩm), wind (gió) là các
thuộc tính ứng cử viên đƣợc dùng để xét. Còn thuộc tính play tennis là thuộc tính
khẳng định đƣợc dùng để phân lớp các mẫu dữ liệu. Khi đó cây quyết định đƣợc
xây dựng theo thuật toán CLS đối với tập dữ liệu trong bảng 2.2 đƣợc xây dựng nhƣ
sau:
- Chọn thuộc tính outlook = {sunny, overcast, rain} ta có cây nhƣ sau:


Hình 2.2
Với giá trị thuộc tính Outlook ="overcast" các giá trị thuộc tính play tennis của
{D3,D7,D12,D13} đếu có giá trị là yes, chúng thuộc cùng một lớp "yes", đây là nút
lá có nhãn là "yes".
Outlook
[ D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14
]

Overcast

Sunny
Rain

[D1,D2,D8,D9,D11]
(Cần mở rộng)
[ D3,D7,D12,D13]
yes
[D4,D5,D6,D10,D14]
(cần mở rộng)

×