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
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
PHẠM THỊ PHƢƠNG THẢO
SỬ DỤNG CÂY QUYẾT ĐỊNH 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Ĩ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: GS.TS Vũ Đức Thi
Thái nguyên – Năm 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ii
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 15 tháng 09 năm 2011
Tác giả
Phạm Thị Phương Thảo
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii
LỜI CẢM ƠN
Trong suốt quá trình học tập và thực hiện đề tài, em đã nhận đƣợc sự giúp đỡ
tận tình và những chỉ bảo ân cần của các Thày cô trong 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ô trong trƣờng đại học Công nghệ
Thông tin và Truyền thông, cùng các bạn bè đồng nghiệp. Đặc biệt là sự giúp đỡ
của GS.TS Vũ Đức Thi, ngƣời thầy trực tiếp hƣớng dẫn, đƣa ra ý trƣởng, định
hƣớng, đóng góp các ý kiến chuyên môn và tận tình giúp đỡ em trong suốt quá trình
nghiên cứu và thực hiện luận văn.
Qua đây cho phép em đƣợ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 và trƣờng đại học Công nghệ Thông tin và Truyền thông,
đã giảng dạy và tạo mọi điều kiện thuận lợi giúp đỡ chúng em trong quá trình học
tập, nghiên cứu.
Cuối cùng, tôi xin cảm ơn đến gia đình, các bạn bè đồng nghiệp đã chia sẻ
động viên giúp đỡ tôi về chuyên môn cũng nhƣ về mọi mặt trong cuộc sống, đó là
nguồn động viên khích lệ giúp tôi có nghị lực hơn để hoàn thành khoá học.
Học viên
Phạm Thị Phương Thảo
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iv
MỤC LỤC
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC CÁC BẢNG VÀ CÁC HÌNH TRONG LUẬN VĂN vi
LỜI MỞ ĐẦU 1
Chƣơng 1: 3
TÌM HIỂU NHỮNG KIẾN THỨC TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3
1.1. Tính cấp bách của việc khai phá dữ liệu. 3
1.2. Mục tiêu của khai phá dữ liệu. 4
1.3. Quá trình phát hiện tri thức. 6
1.4. Quá trình khai phá dữ liệu. 7
1.5. Các dạng dữ liệu có thể khai phá. 9
1.6. Các hƣớng tiếp cận và kỹ thuật áp dụng. 10
1.7. Một số lĩnh vực ứng dụng của khai phá dữ liệu. 10
1.8. Lựa chọn các kỹ thuật khai phá. 11
1.9. Một số phƣơng pháp khai phá dữ liệu phổ biến. 12
1.9.1.Cây quyết định và luật. 12
1.9.2. Phƣơng pháp suy diễn và quy nạp. 13
1.9.3. Luật kết hợp. 13
1.9.4. Phân nhóm và phân đoạn. 13
1.9.5. Mạng neural 14
1.9.6. Giải thuật di truyền 14
Chƣơng 2: 15
KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG CÂY QUYẾT ĐỊNH 15
2.1. Giới thiệu kỹ thuật khai phá dữ liệu sử dụng cây quyết định. 15
2.2. Thuật toán sử dụng cho việc xây dựng cây quyết định 17
2.2.1. Thuật toán CLS 17
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
v
2.2.2. Thuật toán ID3 22
2.2.3. Thuật toán C4.5 35
2.3. Rút gọn cây quyết định 47
2.4. Rút gọn các luật từ cây quyết định 54
2.5. Đánh giá, kết luận về các thuật toán xây dựng cây quyết định 55
Chƣơng 3: 57
CÀI ĐẶT THỬ NGHIỆM 57
3.1. Thiết kế tổng thể 57
3.2. Chuẩn bị dữ liệu 58
3.3. Thiết kế chƣơng trình 66
3.4. Kết qủa thực nghiệm và đánh giá 67
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 68
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC 70
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vi
DANH MỤC CÁC BẢNG VÀ CÁC HÌNH
TRONG LUẬN VĂN
Danh mục các bảng
Bảng 2.1 Tập dữ liệu huấn luyện quyết định chơi tennis 18
Bảng 2.2 Bảng thống kê mức độ nguy hiểm khi lái xe và độ tuổi của lái xe 42
Bảng 2.3. Bảng thông tin phân bổ lớp của thuộc tính Tuổi 42
Bảng 2.4. Bảng thông tin phân bổ lớp của thuộc tính Loại xe 43
Bảng 2.5: Tìm ngƣỡng cho phép tách với thuộc tính Tuổi 45
Bảng 3.1. Bảng dữ liệu về những giấu hiệu của bệnh nhân nhiễm cúm H1N1 58
Bảng 3.2. Bảng tập dữ liệu con ứng với Cổ họng = Ho thƣờng 61
Bảng 3.3. Bảng tập dữ liệu con ứng với Cổ họng = Ho khan 63
Bảng phụ lục: Logarit cơ số hai của các số nguyên từ 1 đến 100 70
Danh mục các hình
Hình 1.1: Quá trình phát hiện tri thức 6
Hình 1.2. Quá trình khai phá dữ liệu 7
Hình 2.1: Khai triển cây theo thuộc tính quang cảnh 18
Hình 2.2:Khai triển cây theo thuộc tính Quang cảnh-Nhiệt độ 19
Hình 2.3: Khai triển cây theo thuộc tính Quang cảnh-Nhiệt độ-độ ẩm 19
Hình 2.4: Khai triển cây theo thuộc tính Quang cảnh-nhiệt độ-độ ẩm-Gió 20
Hình 2.5:Khai triển cây theo thuộc tính quang cảnh-độ ẩm 21
Hình 2.6: Khai triển cây theo thuộc tính quang cảnh-độ ẩm -gió 21
Hình 2.7: Khai triển cây quyết định theo thuộc tính quang cảnh 29
Hình 2.8: Xây dựng cây theo thuộc tính độ ẩm 32
Hình 2.9: Khai triển cây theo thuộc tính quang cảnh –độ ẩm 32
Hình 2.10: Khai triển cây theo thuộc tính quang cảnh = “âm u” 33
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vii
Hình 2.11: Cây quyết định theo thuộc tính quang cảnh-độ ẩm-gió 35
Hình 2.12. Cây quyết định đi chơi Tennis sử dụng thuật toán ID3 35
Hình 2.13 : Khai triển cây theo thuộc tính Loại xe 45
Hình 2.14: Khai triển cây theo thuộc tính Loại xe-Tuổi 47
Hình 2.15. Cây kết quả sử dụng thuật toán C4.5 47
Hình 2.16: Cây trƣớc khi cắt tỉa 49
Hình 2.17. Cây trƣớc khi cắt tỉa 52
Hình 2.18. Cây sau khi cắt tỉa 53
Hình 3.1: Khai triển cây quyết định theo thuộc tính “Cổ Họng” 60
Hình 3.2: Khai triển cây quyết định theo thuộc tính Cổ Họng = “Ho có đờm” 61
Hình 3.3: Khai triển cây quyết định theo thuộc tính Đầu 63
Hình 3.4: Khai triển cây quyết định theo thuộc tính Mũi 64
Hình 3.5: Cây quyết định sử dụng thuật toán ID3 65
Hình 3.7. Giao diện chính của chƣơng trình 66
Hình 3.8. Dữ liệu đƣợc nhập vào cho chƣơng trình 66
Hình 3.9. Giao diện xây dựng cây quyết định 67
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
LỜI MỞ ĐẦU
Ngày nay các lĩnh vực khoa học kỹ thuật đang ngày một phát triển mạnh
mẽ. Đặc biệt là nghành khoa học máy tính rất phát triển, nó đƣợc ứng dụng rất
nhiều trong các lĩnh vực khác nhau của cuộc sống nhƣ: Giáo dục, Y tế, Kinh tế,
Khoa học, Xây dựng…
Với sự bùng nổ và phát triển của công nghệ thông tin trong những năm gần
đây, đã mang lại nhiều hiệu quả đối với khoa học cũng nhƣ các hoạt động thực tế,
sự phát triển mạnh mẽ của công nghệ thông tin đã làm cho khả năng thu thập và lƣu
trữ thông tin của các hệ thống thông tin tăng nhanh một cách nhanh chóng, lƣợng
dữ liệu mà chúng ta lƣu trữ trở nên quá nhiều, gây lung túng cho việc lấy ra đƣợc
những thông tin hữu ích. Do vậy, cần có những kỹ thuật và công cụ mới để tự động
chuyển đổi lƣợng dữ liệu khổng lồ kia thành các tri thức hữu ích. Từ đó, các kỹ
thuật khai phá dữ liệu đã trở thành một trong những lĩnh vực mới nhƣng thu hút
đƣợc rất nhiều nhà khoa học quan tâm nghiên cứu nhờ vào những ứng dụng cao
trong thực tiễn cuộc sống. Với hàng loạt các công trình nghiên cứu, giải pháp đƣợc
thử nghiệm và ứng dụng thành công vào đời sống đã chứng minh khai phá dữ liệu là
lĩnh vực nghiên cứu có nền tảng lý thuyết vững chắc.
Một trong những phƣơng pháp khai phá dữ liệu có hiệu quả, đƣợc ứng dụng
nhiều và là vấn đề quan trọng đƣợc nhiều nhà khoa học nghiên cứu nhiều năm qua
là phƣơng pháp Cây quyết định.
Với những khả năng ứng dụng thiết thực vào đời sống xã hội của phƣơng
pháp này, với niềm say mê khám phá mọi lĩnh vực khoa học công nghệ mới có
nhiều triển vọng, tôi đã chọn hƣớng nghiên cứu về đề tài “Sử dụng cây quyết định
trong khai phá dữ liệu” cho luận văn của mình. Luận văn đƣợc xây dựng và tổng
hợp các nội dung dựa trên một số nghiên cứu chủ yếu trong lĩnh vực khai phá dữ
liệu của các nhà nghiên cứu trong những năm gần đây ở một số hội nghị quốc tế và
một số bài báo đƣợc công bố trên các tạp chí chuyên nghành, trên Internet…
Luận văn này bao gồm các nội dung sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
Chương 1: Tìm hiểu những kiến thức tổng quan về khai phá dữ liệu.
Chƣơng này trình bày những nét khái quát nhất về khai phá dữ liệu, khai phá
dữ liệu trong quá trình phát hiện tri thức, các hƣớng tiếp cận, các lĩnh vực ứng dụng,
trình bày một số kỹ thuật áp dụng trong việc khai phá dữ liệu đƣợc sử dụng trong
thời gian qua.
Chương 2: Kỹ thuật khai phá dữ liệu sử dụng cây quyết định
Chƣơng này trình bày các phƣơng pháp khai phá dữ liệu bằng cây quyết định
đã sử dụng qua các thuật toán CLS, thuật toán ID3, thuật toán C4.5.
Chương 3: Cài đặt thử nghiệm
Chƣơng này trình bày và giải quyết bài toán khai phá dữ liệu bằng cây quyết
định. Cài đặt mô phỏng thuật toán ID3.
Kết luận và hướng phát triển
Tài liệu tham khảo
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
Chƣơng 1:
TÌM HIỂU NHỮNG KIẾN THỨC TỔNG QUAN
VỀ KHAI PHÁ DỮ LIỆU
1.1. Tính cấp bách của việc khai phá dữ liệu.
Sự phát triển của công nghệ thông tin và việc ứng dụng của công nghệ thông
tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng
nghĩa với lƣợng dữ liệu đƣợc thu thập, tích luỹ ngày càng nhiều lên. Ngƣời ta lƣu
trữ những dữ liệu này vì cho rằng trong đó ẩn chứa những giá trị nào đó. Tuy nhiên,
chỉ có một lƣợng nhỏ của những dữ liệu này là đƣợc phân tích, sử dụng một cách
hiệu quả. Số còn lại không biết phải làm gì nhƣng việc thu thập, lƣu trữ khá tốn kém
vẫn diễn ra thƣờng xuyên vì lo ngại rằng sẽ dung đến chúng trong một lúc nào đó.
Mặt khác, trong môi trƣờng cạnh tranh, ngày càng cần có những thông tin với tốc
độ nhanh để trợ giúp cho việc ra quyết định. Ngày càng có nhiều những câu hỏi
mang tính chất định tính cần phải trả lời dựa trên một khối lƣợng khổng lồ dữ liệu
đã có.
Nhƣ vậy, bên cạnh chức năng khai phá dữ liệu có tính chất tác nghiệp, sự
ứng dụng trong kinh doanh không còn là dữ liệu đơn thuần của các hệ thống nữa mà
cơ sở dữ liệu cần đem lại những “tri thức” hơn là chính dữ liệu đó.
Với những lý do nhƣ vậy, các phƣơng pháp quản trị, khai thác cơ sở dữ liệu
truyền thống, các ngôn ngữ hỏi ngày càng không đáp ứng yêu cầu đặt ra.
Để lấy đƣợc những thông tin có tính “tri thức” trong khối dữ liệu khổng lồ
này, ngƣời ta đi tìm những kỹ thuật có khả năng hợp nhất các dữ liệu từ các hệ
thống dữ liệu khác nhau, chuyển đổi thành một tập hợp các cơ sở dữ liệu ổn định,
có chất lƣợng đƣợc sử dụng chỉ riêng cho một vài mục đích nào đó. Các kỹ thuật đó
đƣợc gọi chung là kỹ thuật tạo kho dữ liệu (Data Warehousing) và môi trƣờng các
dữ liệu đó đƣợc gọi là các kho dữ liệu.
Tuy nhiên, việc sử dụng các cách khai thác dữ liệu theo khai thác truyền
thống mới chỉ dừng lại ở cách khai thác dữ liệu với các kỹ thuật cao để đƣa ra các
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4
dữ liệu tinh và chính xác hơn chứ chƣa đƣa ra đƣợc dữ liệu mang tính „tri thức”.
Kho dữ liệu đƣợc sử dụng để hỗ trợ cho phân tích trực tuyến có khả năng phân tích
dữ liệu, xác định xem giả thuyết đúng hay sai nhƣng không thể đƣa ra các giả
thuyết. Kỹ thuật học máy có thể đƣa ra giả thuyết nhƣng khả năng này lại rất hạn
chế trên các tập dữ liệu lớn trong kho dữ liệu. Phƣơng pháp thống kê cũng không có
cải tiến gì để phù hợp với sự phát triển của dữ liệu. Đây là lý do tại sao vẫn còn
khối lƣợng lớn dữ liệu vẫn chƣa đƣợc khai thác và thậm chí đƣợc lƣu chủ yếu trong
các kho dữ liệu không trực tuyến. Điều này đã tạo nên một lỗ hổng lớn trong việc
hỗ trợ phân tích và tìm hiểu dữ liệu, tạo ra khoảng cách giữa việc tạo ra dữ liệu và
việc khai thác các dữ liệu đó. Trong khi đó, càng ngày ngƣời ta càng nhận thấy rằng
nếu đƣợc phân tích thông minh thì dữ liệu sẽ là một nguồn tài nguyên quí hiếm
trong cạnh tranh trên thƣơng trƣờng. Một giải pháp công nghệ mới đƣợc nghiên
cứu, đáp ứng cả nhu cầu trong khoa học cũng nhƣ trong hoạt động thực tiễn. Đó
chính là công nghệ phát hiện tri thức và khai phá dữ liệu (Knowledge Discovery
and Data Mining – KDD).
1.2. Mục tiêu của khai phá dữ liệu.
Trong những thập niên gần đây, lƣợng thông tin đƣợc lƣu trữ trên các thiết
bị nhƣ đĩa cứng, CD-ROM, băng từ,….không ngừng tăng lên. Sự tích luỹ dữ liệu
này xẩy ra với tốc độ chóng mặt. Nguời ta ƣớc đoán, lƣợng thông tin trên toàn cầu
tăng khoảng gấp đôi sau hai năm. Đồng thời theo đó, số lƣợng cũng nhƣ dung lƣợng
của các cơ sở dữ liệu tăng lên một cách nhanh chóng.
Trong lĩnh vực kinh doanh, những nhà quản lý quả thực đang ngập trong dữ
liệu nhƣng lại cảm thấy thiếu tri thức và thông tin hữu ích. Lƣợng dữ liệu khổng này
thực sự đã trở thành nguồn tài nguyên rất giá trị bởi thông tin là yếu tố then chốt
trong mọi hoạt động thƣơng mại vì thông tin giúp ngƣời điều hành và nhà quản lý
có cái nhìn sâu sắc, chính xác, khách quan vào tiến trình kinh doanh của doanh
nghiệp trƣớc khi ra quyết định. Việc khai thác những thông tin tiềm ẩn mang tính
dự đoán từ những cơ sở dữ liệu lớn là mục tiêu chính của khai phá dữ liệu. Những
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
công cụ khai phá dữ liệu có thể dự đoán những xu hƣớng trong tƣơng lai do đó cho
phép các tổ chức, doanh nghiệp ra quyết định kịp thời đƣợc định hƣớng bởi tri thức
mà công nghệ khai phá dữ liệu đem lại. Sự phân tích dữ liệu một cách tự động và
mang tính dự báo của khai phá dữ liệu khiến nó có ƣu thế hơn hẳn so với sự phân
tích thông thƣờng dựa trên những sự kiện trong quá khứ của các hệ hỗ trợ ra quyết
định truyền thống trƣớc đây. Công cụ khai phá dữ liệu cũng có thể trả lời các câu
hỏi trong lĩnh vực kinh doanh mà trƣớc đây đƣợc xem là tốn nhiều thời gian để xử
lý.
Với tất cả các ƣu thế trên, khai phá dữ liệu đã chứng tỏ đƣợc tính hữu dụng
của nó trong mỗi môi trƣờng kinh tế, xã hội đầy tính cạnh tranh ngày nay. Giờ đây
khai phá dữ liệu đã và đang trở thành một trong những hƣớng nghiên cứu chính của
lĩnh vực khoa học máy tính và công nghệ tri thức. Phạm vi ứng dụng ban đầu của
khai phá dữ liệu chỉ là trong lĩnh vực thƣơng mại và tài chính. Nhƣng ngày nay,
khai phá dữ liệu đã đƣợc ứng dụng rộng rãi trong các lĩnh vực khác nhau nhƣ: Tin
sinh học, điều trị y học, viễn thông, giáo dục, trí tuệ nhân tạo, cơ sở dữ liệu, thuật
toán học, thu thập tri thức cho các hệ chuyên gia. Đặc biệt, khai phá dữ liệu 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ê để mô hình dữ liệu và
phát hiện các luật…
Qua những nội dung đã trình bày ở trên, chúng ta có thể hiểu một cách sơ
lƣợc rằng khai phá dữ liệu là quá trình tìm kiếm thông tin hữu ích, tiềm ẩn và mang
tính dự báo trong các cơ sở dữ liệu lớn. Khai phá dữ liệu là cốt lõi của quá trình
khám phá tri thức. Khai phá dữ liệu 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ự động chƣa đƣợc biết
đến và có khả năng mang lại ích lợi.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6
1.3. Quá trình phát hiện tri thức.
Quá trình phát hiện tri thức đƣợc tiến hành qua 5 bƣớc sau:
Hình 1.1: Quá trình phát hiện tri thức
Bước 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, 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
khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu.
Bước 2: Thu thập và tiền xử lý dữ liệu
Bƣớc thứ hai là thu thập và xử lý thô còn đƣợc gọi là tiền xử lý dữ liệu nhằm
loại bỏ nhiễu xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu khi cần
thiết. Bƣớc xử lý này thƣờng chiếm nhiều thời gian nhất trong quá trình phát hiện tri
thức.
Bước 3: Khai phá dữ liệu và rút ra các tri thức
Bƣớc thứ 3 là khai phá dữ liệu hay nói cách khác là trích ra đƣợc các mẫu
hoặc/ và các mô hình ẩn dƣới các dữ liệu. Đây là bƣớc quan trọng nhất trong tiến
trình phát hiện tri thức.
Bước 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.
Hình thành và
Định nghĩa bài toán
Thu thập và
Tiền xử lý dữ liệu
Khai phá dữ liệu
Rút ra các tri thức
Phân tích và kiểm định
kết quả
Sử dụng các tri thức
phát hiện đƣợc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
Bước 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 phát hiện 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 phát hiện tri thức có thể đƣợc lặp đi lặp
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.4. Quá trình khai phá dữ liệu.
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỹ
1980. Nó là quá trình khám phá thông tin ẩn đƣợc tìm thấy trong các cơ sở dữ liệu
và có thể xem nhƣ là một bƣớc trong quá trình khám phá tri thức. Data Mining là
giai đoạn quan trọng nhất trong tiến trình khai phá tri thức từ cơ sở dữ liệu, các tri
thức này hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh.
Quá trình khai phá dữ liệu đƣợc thực hiện qua 6 giai đoạn nhƣ Hình 1.2
Hình 1.2. Quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu 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. Về lý thuyết thì có lẽ rất đơn giản nhƣng thực sự đây là một quá
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8
trình rất khó khăn gặp phải rất nhiều vƣớng mắc nhƣ: quản lý các tập dữ liệu, phải
lặp đi lặp lại toàn bộ quá trình,.v v.
Giai đoạn 1:. Gom dữ liệu (gathering)
Tập hợp dữ liệu là bƣớc đầu tiên trong khai phá dữ liệu. Bƣớc này lấy dữ liệu
từ trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ những nguồn
cung ứng web.
Giai đoạn 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 đó, ví dụ chọn tất cả những ngƣời có tuổi đời từ 30-35 và có trình độ đại học.
Giai đoạn 3. Làm sạch và tiền xử lý dữ liệu (cleansing, pre-processing
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 khai phá dữ liệu. 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 = 155. Giai đoạn thứ ba này nhằm xử lý các
dạng dữ liệu không chặt chẽ nói 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.
Giai đoạn 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 khai phá.
Giai đoạn 5. Phát hiện và trích mẫu dữ liệu (pattern extraction and
discovery)
Đây là bƣớc mang tính tƣ duy trong khai phá dữ liệu. Ở 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ự…
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
Giai đoạn 6. Đánh giá kết quả mẫu (evaluation of result )
Đây là giai đoạn cuối cùng trong quá trình khai phá dữ liệu, ở giai đoạn này
các mẫu dữ liệu đƣợc chiết xuất ra bởi phần mềm khai phá dữ liệu. 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.
Trên đây là 6 giai đoạn trong quá trình khai phá dữ liệu, trong đó giai đoạn 5
là giai đoạn đƣợc quan tâm nhiều nhất hay còn gọi đó là Data Mining. Các bƣớc
trên có thể lặp đi lặp 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ả các lần thực hiện.
1.5. Các dạng dữ liệu có thể khai phá.
Khai phá dữ liệu đƣợc ứng dụng rộng rãi nên có rất nhiều kiểu dữ liệu khác
nhau đƣợc chấp nhận để khai phá, sau đây là một số loại điển hình:
Cơ sở dữ liệu quan hệ (relational databases): là các cơ sở dữ liệu tác nghiệp
đƣợc tổ chức theo mô hình dữ liệu quan hệ. Hầu hết các hệ quản trị cơ sở dữ liệu
đều hỗ trợ dạng cơ sở dữ liệu này.
Cơ sở dữ liệu đa chiều (multimensional structures, data warehouses, data
mart): là các kho dữ liệu đƣợc tập hợp, chọn lọc từ nhiều nguồn dữ liệu khác nhau.
Dạng dữ liệu này mang tính lịch sử (tức có tính thời gian) và chủ yếu phục vụ cho
quá trình phân tích cũng nhƣ là khai phá tri thức nhằm hỗ trợ cho việc ra quyết định.
Cơ sở dữ liệu dạng giao dịch (transactional databases): là dạng cơ sở dữ
liệu tác nghiệp nhƣng các bản ghi thƣờng là các giao dịch. Dạng dự liệu này thƣờng
phổ biến trong lĩnh vực thƣơng mại và ngân hàng.
Cơ sở dữ liệu quan hệ - hướng đối tượng (object – Relational Databases): là
dạng cơ sở dữ liệu lai giữa hai mô hình quan hệ và hƣớng đối tƣợng.
Dữ liệu không gian và thời gian (spatial, temporal and time –series data): là
dạng dữ liệu có tích hợp thuộc tính về không gian hoặc thời gian.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10
Cơ sở dữ liệu đa phương diện (multimedia databases): Là dạng dữ liệu âm
thanh (audio), hình ảnh (image), phim ảnh (video), Text & WWW,…Dạng dữ liệu
này hiện đang rất phổ biến trên Internet do sự ứng dụng rộng rãi của nó.
1.6. Các hƣớng tiếp cận và kỹ thuật áp dụng.
Vấn đề khai phá dữ liệu có thể đƣợc phân chia theo lớp các hƣớng tiếp cận
chính sau:
* Phân cụm (clustering /segmentation): Sắp xếp các đối tƣợng theo từng cụm
nhƣng số lƣợng và tên các cụm chƣa biết trƣớc. Lớp bài toán phân cụm còn đƣợc
gọi là học không giám sát – học không thày (unsupervised learning).
* Phân lớp và dự đoán (classification & prediction): Xếp một đối tƣợng vào
một trong những lớp đã biết. Đối với hƣớng tiếp cận này thƣờng áp dụng một số kỹ
thuật nhƣ học máy (machine learning), cây quyết định (dicision tree), mạng nơ ron
nhân tạo (neural network), hai lớp bài toán này còn đƣợc gọi là học có giám sát –
học có thày (supervised learning).
* Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng khá
đơn giản. Hƣớng tiếp cận này đƣợc ứng dụng nhiều trong lĩnh vực kinh doanh, y
học, giáo dục,…
* Khai phá chuỗi theo thời gian (sequential / temporal patterns): cũng tƣơng
tự nhƣ khai phá dữ liệu bằng luật kết hợp nhƣng có thêm tính thứ tự và tính thời
gian. Hƣớng tiếp cận này đƣợc ứng dụng nhiều trong lĩnh vực tài chính và thị
trƣờng chứng khoán bởi chúng có tính dự báo cáo.
* Mô tả khái niệm (concept desccription & summarization): lớp bài toán này
thiên về mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ: tóm tắt văn bản.
1.7. Một số lĩnh vực ứng dụng của khai phá dữ liệu.
Khai phá dữ liệu là một lĩnh vực mới phát triển nhƣng thu hút đƣợc nhiều nhà
nghiên cứu nhờ vào những ứng dụng thực tiễn của nó. Nó đƣợ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
khai phá dữ liệu có những cách tiếp cận khác nhau.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
Một số lĩnh vực ứng dụng điển hình:
Khai phá dữ liệu đƣợc sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định.
Trong y học: Khai phá dữ liệu giúp tìm ra mối liên hệ giữa các triệu chứng,
chuẩn đoán bệ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 thông tin kỹ thuật: khai phá dữ liệu 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.
Tài chính và thị trƣờng chứng khoán: khai phá dữ liệu 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.
1.8. Lựa chọn các kỹ thuật khai phá.
Các giải thuật khai phá dữ liệu tự động mới chỉ ở giai đoạn phát triển ban
đầu. Hiện nay chúng ta vẫn chƣa có đƣợc một tiêu chuẩn thống nhất về việc sử
dụng phƣơng pháp nào vào trong trƣờng hợp nào thì hiệu quả cao nhất.
Hầu hết các kỹ thuật về khai phá dữ liệu đều là mới trong các lĩnh vực. Hơn
nữa lại có rất nhiều kỹ thuật đƣợc sử dụng cho nhiều bài toán khác nhau. Vì vậy câu
hỏi dùng kỹ thuật nào để khai phá không phải là đơn giản. Mỗi phƣơng pháp đều có
điểm mạnh và điểm yếu riêng của nó, nhƣng đa số các điểm yếu đều có thể khắc
phục đƣợc.
Vậy phải làm nhƣ thế nào để áp dụng kỹ thuật một cách đơn giản nhất, dễ sử
dụng, để không cảm thấy sự phức tạp vốn có của kỹ thuật đó và vấn đề là tất cả các
mẫu tìm đƣợc đều đáng quan tâm? Đây chính là điều quan trọng đối với một hệ
thống khai phá dữ liệu. Hệ thống khai phá có thể sinh ra hàng nghìn mà thậm chí có
thể hàng triệu mẫu hoặc luật, do vậy với câu hỏi trên thì câu trả lời là: Chỉ có một
phần nhỏ trong các mẫu hay các luật là đáng quan tâm và hữu ích với ngƣời sử
dụng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
Một số vấn đề thƣờng đặt ra đối với một hệ thống khai phá dữ liệu là:
* Các mẫu quan tâm có đặc điểm gì nổi bật?
Các mẫu đáng quan tâm phải:
- Dễ hiểu đối với con ngƣời.
- Hợp lệ hoặc dữ liệu đã đƣợc kiểm tra với độ chắc chắn nào đó.
- Có tiềm năng hữu ích.
* Hệ thống khai phá có thể tự sinh ra đƣợc tất cả các mẫu đáng quan tâm không?
Vấn đề này liên quan đến tính hoàn thiện của thuật toán khai phá. Nó thƣờng
không thực hiện đƣợc và không có khả năng đối với các hệ thống khai phá dữ liệu
để sinh ra các mẫu có thể có, có thể tồn tại. Thay cho điều đó ngƣời ta tập trung vào
mục tiêu tìm kiếm. Khai phá luật kết hợp là một ví dụ, ở đó ngƣời ta sử dụng các độ
đo có thể khai phá một cách trọn vẹn, có nghĩa là với ngƣỡng độ hỗ trợ và độ tin
cậy nhỏ nhất xác định trƣớc thì có thể tìm đƣợc.
1.9. Một số phƣơng pháp khai phá dữ liệu phổ biến.
1.9.1.Cây quyết định và luật.
Cây quyết định là phƣơng pháp mô tả tri thức dạng đơn giản nhằm phân các
đối tƣợng dữ liệu thành một số lớp nhất định. Các nút của cây đƣợc gán nhãn là tên
các thuộc tính, các cạnh đƣợc gán các giá trị có thể của các thuộc tính, các lá miêu
tả các lớp khác nhau. Các đối tƣợng đƣợc phân lớp theo các đƣờng đi trên cây, qua
các cạnh tƣơng ứng với giá trị của các thuộc tính của đối tƣợng tới lá.
Các luật đƣợc tạo ra nhằm suy diễn cho một số mẫu dữ liệu có ý nghĩa về
mặt thống kê. Các luật có dạng “Nếu P thì Q”, trong đó P là mệnh đề đúng với một
phần dữ liệu trong cơ sở dữ liệu và Q là mệnh đề dự đoán.
Cây quyết định là phƣơng pháp dùng trong các bài toán phân loại dữ liệu
theo một tiêu chuẩn nào đó dựa trên mức độ khác nhau của thuộc tính. Cây quyết
định và luật có ƣu điểm là hình thức miêu tả đơn giản, mô hình suy diễn khá dễ hiểu
đối với ngƣời sử dụng. Tuy nhiên, giới hạn của nó là miêu tả cây và luật chỉ có thể
biểu diễn đƣợc một số dạng chức năng và vì vậy giới hạn cả về độ chính xác của mô
hình.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
1.9.2. Phương pháp suy diễn và quy nạp.
Phƣơng pháp suy diễn: Rút ra thông tin là kết quả logic từ các thông tin nằm
trong cơ sở dữ liệu dựa trên các quan hệ trong dữ liệu. Phƣơng pháp suy diễn dựa
trên các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ. Mẫu chiết
suất đƣợc bằng cách sử dụng phƣơng pháp này thƣờng là các luật suy diễn.
Phƣơng pháp quy nạp: Các thông tin đƣợc suy ra từ cơ sở dữ liệu bằng cách
nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không bắt đầu với các tri thức đã biết
trrƣớc.
1.9.3. Luật kết hợp.
Mục tiêu của phƣơng pháp này nhằm phát hiện ra các luật kết hợp giữa các
thành phần dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của thuật giải phát hiện luật kết
hợp là tập các luật kết hợp tìm đƣợc. Nhƣợc điểm cơ bản của phƣơng pháp này là
sự gia tăng nhanh chóng khối lƣợng tính toán và các thông số. Tuy nhiên với sự
phát triển nhanh chóng và mạnh mẽ của phần cứng thì vấn đề này cũng đƣợc khắc
phục.
1.9.4. Phân nhóm và phân đoạn.
Kỹ thuật phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao
cho mỗi phần hoặc mỗi nhóm giống nhau theo một tiêu chuẩn nào đó. Mối quan hệ
thành viên của các nhóm có thể dựa trên mức độ giống nhau của các thành viên và
từ đó xây dựng nên các luật giàng buộc giữa các thành viên trong nhóm. Một kỹ
thuật phân nhóm khác là xây dựng nên các hàm đánh giá các thuộc tính của các
thành phần nhƣ là hàm của các tham số của các thành phần. Kỹ thuật này đƣợc gọi
là kỹ thuật phân hoạch tối ƣu.
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập
mẫu chứa dữ liệu có chung những tính chất nào đó đƣợc phân tách từ cơ sở dữ liệu.
Khi các mẫu đƣợc thiết lập, chúng có thể đƣợc sử dụng để tái tạo các tập dữ liệu dễ
hiểu hơn, đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng nhƣ
công việc phân tích. Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này là rất quan
trọng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
1.9.5. Mạng neural
Mạng neural là một phƣơng pháp khai phá dữ liệu 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.
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.9.6. Giải thuật di truyền
Là quá trình mô phỏng theo tiến hóa trong 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 hóa
trong sinh học.
Giải thuật di truyền là một giải thuật tối ƣu hóa, nó đƣợc sử dụng rất rộng rãi
trong việc tối ƣu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng
neural. Sự liên hệ của nó với các giải thuật khai phá dữ liệu là ở chỗ tối ƣu hóa là
cần thiết để xác định các giá trị tham số nào tạo ra các luật tốt nhất.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
Chƣơng 2:
KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG CÂY QUYẾT
ĐỊNH
2.1. Giới thiệu kỹ thuật khai phá dữ liệu sử dụng cây quyết định.
Kỹ thuật khai phá dữ liệu sử dụng cây quyết định là kỹ thuật đƣợc trình bày
trọng tâm trong luận văn này.
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.
Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các đối tƣợng
dữ liệu thành một số lớp nhất định. Các nút của cây đƣợc gán nhãn là tên của các
thuộc tính, các cạnh đƣợc gán các giá trị có thể của các thuộc tính, các lá mô tả các
lớp khác nhau. Các đối tƣợng đƣợc phân lớp theo các đƣờng đi trên cây, qua các
cạnh tƣơng ứng với giá trị của thuộc tính của đối tƣợng tới lá.
So với các phương pháp khai phá dữ liệu khác, cây quyết định có một số
ưu điểm:
- 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.
- Việc chuẩn bị dữ liệu cho một cây quyết định là 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 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ố, và dữ liệu có giá trị
là tên thể loại 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 một loại biến. Chẳng hạn, các luật quan hệ chỉ có thể dùng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16
cho các biến tên, 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.
Quá trình xây dựng cây quyết định là quá trình phát hiện ra các luật phân
chia tập dữ liệu đã cho thành các lớp đã đƣợc định nghĩa trƣớc. Trong thực tế, tập
các cây quyết định có thể có đối với bài toán này rất lớn và rất khó có thể duyệt hết
đƣợc một cách tƣờng tận.
Một cây quyết định là một cấu trúc hình cây, trong đó:
Mỗi đỉnh trong (đỉnh có thể khai triển đƣợc) biểu thị cho một phép thử đối
với một thuộc tính.
Mỗi nhánh biểu thị cho một kết quả của phép thử.
Các đỉnh lá (các đỉnh không khai triển đƣợc) biểu thị các lớp hoặc các phân
bổ lớp.
Đỉnh trên cùng trong một cây đƣợc gọi là gốc.
Việc sinh cây quyết định được chia làm hai giai đoạn:
Xây dựng cây
- Tại thời điểm khởi đầu, tất cả các case dữ liệu học đều nằm tại gốc.
- Các case dữ liệu đƣợc phân chia đệ quy trên cơ sở các thuộc tính đƣợc chọn.
Rút gọn cây:
Phát hiện và bỏ đi các nhánh chứa các điểm dị thƣờng và nhiễu trong dữ liệu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
2.2. Thuật toán sử dụng cho việc xây dựng cây quyết định
Trong khai phá dữ liệu bằng cây quyết định thì xây dựng cây là vấn đề mấu
chốt và quan trọng nhất. Các thuật toán xây dựng cây quyết định đã đƣợc các nhà
khoa học phát triển, công bố và cải tiến qua thời gian.
Dƣới đây là một số thuật toán xây dựng cây quyết định:
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à Hunt 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 những bƣớc sau:
Bƣớc 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.
Bƣớc 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á.
Bƣớc 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á.
Bƣớc 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ì:
1. Chọn một thuộc tính X có các giá trị v
1
,v
2
,…,v
n
.
2. Chia tập mẫu trong T thành các tập con T
1
,T
2
,…,T
n
. Dựa
theo các giá trị của X.
3. Tạo n nút con T
i
(i = 1, 2,…,n) với nút cha là nút T.
4. Tạo các nhánh nối từ nút T đến các nút T
i
(i = 1, 2,…,n)
Bƣớc 5. Thực hiện lặp cho các nút con Ti(i =1,2 n) và quay trở lại bƣớc 2.
Ví dụ 1: Cho tập dữ liệu huấn luyện thể hiện trong bảng dữ liệu sau, xây
dựng cây quyết định đi chơi tennis.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
18
Ngày
Quang cảnh
Nhiệt độ
Độ ẩm
Gió
Chơi Tennis
D1
Nắng
Nóng
Cao
Nhẹ
Không
D2
Nắng
Nóng
Cao
Mạnh
Không
D3
Âm u
Nóng
Cao
Nhẹ
Có
D4
Mƣa
Ấm áp
Cao
Nhẹ
Có
D5
Mƣa
Mát
TB
Nhẹ
Có
D6
Mƣa
Mát
TB
Mạnh
Không
D7
Âm u
Mát
TB
Mạnh
Có
D8
Nắng
Ấm áp
Cao
Nhẹ
Không
D9
Nắng
Mát
TB
Nhẹ
Có
D10
Mƣa
Ấm áp
TB
Nhẹ
Có
D11
Nắng
Ấm áp
TB
Mạnh
Có
D12
Âm u
Ấm áp
Cao
Mạnh
Có
D13
Âm u
Nóng
TB
Nhẹ
Có
D14
Mƣa
Ấm áp
Cao
Mạnh
Không
Bảng 2.1 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 hợp các mẫu mô tả về việc quyết định chơi tennis.
Trong bảng thuộc tính Ngày dùng để định danh (chỉ số). Các thuộc tính Quang
cảnh, Nhiệt độ, Độ ẩm, Gió là các thuộc tính ứng viên đƣợc dùng để xét, còn thuộc
tính Chơi Tennis là thuộc tính quyết đị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 đƣợc xây dựng nhƣ sau:
- Chọn thuộc tính Quang cảnh ={Nắng, Âm u, Mƣa} ta có cây nhƣ sau:
Hình 2.1: Khai triển cây theo thuộc tính quang cảnh
Với giá trị của thuộc tính Quang cảnh = “Âm u” các giá trị thuộc tính Chơi
Tennis của {D3,D7,D12,D13} đều có giá trị là “Có”, chúng cùng thuộc một lớp
“Có”, đây là nút lá có nhãn là “Có”
Quang cảnh
[D1,D2,D8,D9,D11]
(Cần mở rộng)
[D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14]
Nắng
Âm u
Mƣa
[D4,D5,D6,D10,D14]
(Cần mở rộng)
Có
[D3,D7,D12,D13]