1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng cây quyết định trong khai phá dữ liệu

76 370 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 2,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

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

Trang 3

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

Hình 2.11: Cây quyết định theo thuộc tính quang cảnh-độ ẩm-gió 35

Trang 4

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

Trang 5

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ấtnhiề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ưutrữ 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 đượcnhữ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ự độngchuyể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 caotrong 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 đượcthử 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ụngnhiề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ươngphá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:

Trang 6

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 trongthờ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

Trang 7

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ôngtin 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 đồngnghĩ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ưutrữ 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áchhiệ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émvẫ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ỏimang 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ệutruyề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ềnthố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

Trang 8

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ạnchế 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ốilượ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áckho 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ệckhai 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 trongcạ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 DataMining – 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ệunà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ầutăng khoảng gấp đôi sau hai năm Đồng thời theo đó, số lượng cũng như dung lượngcủ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àythự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ốttrong 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 doanhnghiệ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

Trang 9

công cụ khai phá dữ liệu có thể dự đoán những xu hướng trong tương lai do đó chophé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ântí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âuhỏ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ụngcủa nó trong mỗi môi trường kinh tế, xã hội đầy tính cạnh tranh ngày nay Giờ đâykhai phá dữ liệu đã và đang trở thành một trong những hướng nghiên cứu chính củalĩ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ủakhai 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ư: Tinsinh 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ậttoá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ầngũ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à mangtí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ìnhkhá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ínhchấ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

Trang 10

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 địnhcầ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ápkhai 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ằmloạ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ầnthiế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 trithứ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ẫuhoặ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ếntrì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ệuRú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

Trang 11

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ạithà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ạngcá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ớinhau trong bối cảnh chung của hệ thống Các kỹ thuật được sử dụng trong giai đoạntrước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng trong nhữnggiai đ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ặplạ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ầnthự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 trithứ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á

Trang 12

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ảilặ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ồncung ứ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ẩnnà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ộtbướ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ảitrong khi gom dữ liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặtchẽ 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ốilạ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ácdạ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ênnhữ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 đíchcủ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àynhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuậttoá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ự…

Trang 13

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àycá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ữngtiêu chuẩn đánh giá độ ưu tiên cho các mẫu dữ liệu để rút ra được những tri thứccầ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ướctrê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êntấ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ácnhau đượ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ụ choquá 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ườngphổ 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

Trang 14

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ệunà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ậnchí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 đượcgọ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ơ ronnhâ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, yhọ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ờigian 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 trongnhiề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ụngkhai phá dữ liệu có những cách tiếp cận khác nhau

Trang 15

 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 saihỏ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ântí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ơnnữ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âuhỏ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ắcphụ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ácmẫ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

Trang 16

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.

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ườngkhô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àomụ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à độ tincậ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êncá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, quacá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ộtphầ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ệutheo 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ể

Trang 17

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.

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ằmtrong 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ựatrê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ếtsuấ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ếttrrướ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ácthà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ếthợ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ắcphụ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 saocho 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ácthà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ậpmẫ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ư

Trang 18

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 quantrọng.

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ộtnề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ấtnhiề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ảithuậ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óatrong 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ãitrong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạngneural 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

Trang 19

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àytrọ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ânlớ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 đốitượ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ácthuộ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áclớ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áccạ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ố

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íchcá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

Trang 20

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ốngcho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó bằng logicboolean

- 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 racá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, trongthờ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ânchia tập dữ liệu đã cho thành các lớp đã được định nghĩa trước Trong thực tế, tậpcá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ử đốivớ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

Trang 21

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ấuchố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ệutrong 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úcnà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

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

Trang 22

Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Tennis

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 Quangcảnh, Nhiệt độ, Độ ẩm, Gió là các thuộc tính ứng viên được dùng để xét, còn thuộctí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ệutrong 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ơiTennis của {D3,D7,D12,D13} đều có giá trị là “Có”, chúng cùng thuộc một lớp

[D3,D7,D12,D13]

Trang 23

Hình 2.2:Khai triển cây theo thuộc tính Quang cảnh-Nhiệt độ

Chọn thuộc tính Độ ẩm ={Cao, Trung bình}để mở rộng cho nhánh bên trái, chúng

ta được cây con sau:

Hình 2.3: Khai triển cây theo thuộc tính Quang cảnh-Nhiệt độ-độ ẩm

Chọn thuộc tính Gió={ Mạnh, Nhẹ }để mở rộng cho nhánh bên phải, chúng ta

được cây con sau:

Trang 24

Hình 2.4: Khai triển cây theo thuộc tính Quang cảnh-nhiệt độ-độ ẩm-Gió

Hình 2.4 là cây kết quả đạt được khi áp dụng thuật toán CLS cho tập dữ liệuhuấn luyện được cho trong bảng 2.1 với thứ tự các thuộc tính: Quang cảnh, Nhiệt

độ, Độ ẩm, Gió

Nếu áp dụng thuật toán CLS với thứ tự khác của các thuộc tính khác ta sẽ thuđược cây kết quả có hình dạng khác

Ví dụ 2: Khi áp dụng thuật toán CLS cho tập dữ liệu huấn luyện được cho

trong bảng 2.1 để xây dựng cây theo thứ tự các thuộc tính được chọn là: Quangcảnh, Độ ẩm, Gió Thì cây cây quyết định sẽ đượ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ư hình 2.1 ở trên.Với giá trị của thuộc tính Quang cảnh = “Âm u” các giá trị thuộc tính ChơiTennis của {D3,D7,D12,D13} đều có giá trị là “Có”, chúng cùng thuộc một lớp

Khôn

g

Trang 25

Hình 2.5:Khai triển cây theo thuộc tính quang cảnh-độ ẩm

- Chọn thuộc tính Gió = {Mạnh, Nhẹ} để mở rộng cho nhánh bên phải của cây, chúng ta được cây con sau:

Hình 2.6: Khai triển cây theo thuộc tính quang cảnh-độ ẩm -gió

Hai cây quyết định trong hình 2.4 và hình 2.6 là khác nhau Điều đó nói lênrằng khi áp dụng thuật toán CLS để xây dựng cây trên cùng một tập mẫu huấnluyện, cây quyết định thu được phụ thuộc vào việc chọn thuộc tính mở rộng cây ởbước 4 Việc chọn thứ tự thuộc tính mở rộng cây ảnh hưởng lớn đến hình dạng câynhư độ rộng, độ sâu hay nói cách khác là ảnh hưởng đến độ phức tạp của cây Vậymột câu hỏi đặt ra là thứ tự thuộc tính nào được chọn là tốt nhất để mở rộng cây saocho độ phức tạp của cây là nhỏ nhất và độ chính xác của việc phân lớp là tốt nhất.Vấn đề này sẽ được giải quyết trong thuật toán ID3

[D4,D5,D6,D10,D14] (Cần mở rộng)

Mạnh Nhẹ Cao TB

gKhôn

g

Trang 26

2.2.2 Thuật toán ID3

Thuật toán ID3 (Interactive Dichotomizer 3) được phát biểu bởi Quinlan(trường đại học Syney, Australia) và được công bố vào cuối thập niên 70 của thế kỷ

20 Sau đó, thuật toán ID3 được giới thiệu và trình bày trong mục Induction onDecision Trees, Machine Learning năm 1986

Thuật toán ID3 là một thuật toán đơn giản nhưng tỏ ra thành công trongnhiều lĩnh vực Thuật toán ID3 biểu diễn các khái niệm ở dạng cây quyết định Biểudiễn này cho phép chúng ta xác định phân loại của đối tượng bằng cách kiểm tra giátrị của nó trên một số thuộc tính nào đó Nhiện vụ của thuật toán ID3 là học câyquyết định từ một tập dữ liệu rèn luyện

Đầu vào: Một tập hợp các mẫu dữ liệu Mỗi mẫu bao gồm các thuộc tính

mô tả một tình huống hoặc một đối tượng nào đó và một giá trị phân loại của nó

Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập

dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trongtương lai

Thuật toán ID3 xây dựng cây quyết định sử dụng Information gain để lựa

chọn thuộc tính phân lớp các đối tượng Nó xây dựng cây quyết định theo cách từ

trên xuống (top – down), bắt đầu từ một tập các đối tượng và đặc tả của các thuộc tính Tại mỗi đỉnh của cây một thuộc tính có Information gain lớn nhất sẽ được

chọn để phân chia tập đối tượng Quá trình này được thực hiện một cách đệ quy chođến khi tập đối tượng tại một cây con đã trở nên thuần nhất, tức là nó chỉ chứa cácđối tượng thuộc về cùng một lớp Tập này sẽ trở thành một lá của cây Việc lựachọn một thuộc tính nào đó cho phép thử là rất quan trọng Nếu chọn không thíchhợp, chúng ta có thể có một cây rất phức tạp Để làm được việc này thuật toán ID3

có sử dụng tới hai hàm Entropy và Entropy Gains (hay còn gọi là Information Gainviết tắt là Gain)

Hàm Entropy

Hàm Entropy dùng để xác định tính thuần nhất của một tập mẫu dữliệu bất kỳ Khái niệm Entropy của một tập S được định nghĩa trong Lý thuyết

Trang 27

thông tin là số lượng mong đợi các bít cần thiết để mã hoá thông tin về lớp của mộtthành viên rút ra một cách ngẫu nhiên từ tập hợp dữ liệu S Trong trường hợp tối ưu

mã có độ dài ngắn nhất Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán log2p bít cho thông điệp có xác xuất là p

-Trong trường hợp S là một tập mẫu rèn luyện thì mỗi thành viên của S làmột mẫu Mỗi mẫu thuộc một lớp hay có một giá trị phân loại

Trong trường hợp đơn giản, giả sử các mẫu của S chỉ thuộc 2 lớp có giá trị

"Yes" (hoặc "Dương", "+", "True", "High") và giá trị "No" (hoặc "Âm", "-",

"False", "Low") Để đơn giản chúng ta thống nhất sử dụng hai giá trị "Yes" và

Trong đó Pi là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra

Ví dụ: Xét tập dữ liệu học S gồm có 14 mẫu dữ liệu về thời tiết cho trong bảng

2.1 thì số mẫu có giá trị "yes" là 9, số mẫu có giá trị "no" là 5 Chúng ta ký hiệu[9+, 5-] Khi đó Entropy của tập S là:

và P- = 0 do vậy: Entropy(S) = -1*log (1) 0*log (0) -1* 0 0*log (0) 02  2   2 

(Quy ước 0*log2(0) = 0)

Trang 28

Còn nếu tất cả các mẫu dữ liệu trong S đều thuộc vào lớp "no" thì P+=0 và P

-=1 do vậy: Entropy(S) = -0*log (0) 1*log (1) 02  2 

 Entropy(S) = 1 nếu tất cả các mẫu trong S phân bổ đều nhau

Trong trường hợp có 2 lớp "yes" và "no", các mẫu thuộc lớp "yes" bằng với

số mẫu thuộc lớp "no" thì P+ =1/2 và P- =1/2 Khi đó:

Entropy(S)=  - P log P i và nhận giá trị nằm trong khoảng (0;1)

Information gain ( viết tắt là gain)

Gain là đại lượng dùng để đo tính hiệu quả của một thuộc tính được lựa chọncho việc phân lớp Đại lượng này được tính thông qua hai giá trị Information vàEntropy

Cho tập dữ liệu S gồm có n thuộc tính Ai(i=1,2…n) giá trị Information củathuộc tính Ai ký hiệu là Information(Ai) được xác định bởi công thức

Trang 29

Ví dụ: S là tập có 14 mẫu dữ liệu được cho trong bảng 2.1, trong đó có 9 mẫu có giá

trị "yes" và 5 mẫu có giá trị "no"

Xét thuộc tính Gió của tập S Thuộc tính Gió nhận các giá trị = {Mạnh,

Nhẹ} Trong đó: có 8 trường hợp Gió = Nhẹ, có 6 trường hợp Gió = Mạnh

Trong 8 trường hợp ứng với thuộc tính Gió = Nhẹ: có 6 mẫu nhận giá trị

"yes", 2 mẫu nhận giá trị "no"

Trong 6 trường hợp ứng với thuộc tính Gió = Mạnh: có 3 mẫu nhận giá "yes"

và 3 mẫu nhận giá trị "no" Vậy khi đó ta có:

Chọn thuộc tính cho bước tiếp theo trong thuật toán ID3:

Để chọn được thuộc tính cho bước tiếp theo trong thuật toán ID3, ta cần tính

giá trị Gain của các thuộc tính Thuộc tính nào có giá trị Gain lớn nhất được xem là

thuộc tính tốt nhất để lựa chọn cho việc triển khai cây

Hàm xây dựng cây quyết định trong thuật toán ID3

Tên hàm: Generate_decision_tree

Vào: Tập dữ liệu học S có chứa các mẫu, tập thuộc tính A

Ra: Một cây quyết định T

Hàm Generate_decision_tree được mô tả dưới dạng mã giả như sau:

Function Generate_decision_tree (S,A)

begin

if mọi mẫu trong tập S đều nằm trong cùng một lớp then

return một nút lá được gán nhãn bởi lớp đó

else if tập_thuộc_tính A là rỗng then

return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong tập S (Lớp phổ biến

nhất trong tập S).

else begin

Trang 30

Chọn một thuộc tính test_attribute là thuộc tính có giá trị Gain lớn nhất trong A với tập mẫu S, lấy nó làm gốc cho cây hiện tại;

Xóa test_attribute ra khỏi tập_thuộc_tính A ta được tập ttribute_list_test_attribute; Với mỗi giá trị a i của test_attribute

begin

Tạo một nhánh của cây gán nhãn a i ;

Đặt vào phân_vùng S i các mẫu trong tập mẫu S có giá trị a i tại thuộc tính test_attribute;

Gọi Generate_decision_tree (S i, attribute_list_test_attribute), gắn kết quả vào nhánh a i

end end

end

Ví dụ: Để minh hoạ cho thuật toán ID3, chúng ta xét tập dữ liệu S được cho

trong bảng 2.1 làm ví dụ Tập S gồm 14 mẫu dữ liệu, thuộc tính Ngày là thuộc tínhđịnh danh Các thuộc tính ứng viên, thuộc tính chơi tennis là thuộc tính phân lớp.Tacó: S gồm 14 mẫu [9+,5-]

Tính giá trị Gain cho từng thuộc tính ta có:

Với thuộc tính Quang cảnh = {nắng, âm u, mưa} ta có:

+ Quang cảnh = Nắng có 2 mẫu nhận giá trị "có", 3 mẫu nhận giá trị "Không":

Trang 31

Xét thuộc tính Nhiệt độ = {Nóng, Ấm áp, Mát} trong đó ta có:

+ Với Nhiệt độ = Nóng có 2 mẫu nhận giá trị "Có", 2 mẫu nhận giá trị "Không":

Trang 32

Xét thuộc tính Độ ẩm = {Cao, TB} trong đó có

+Khi Độ ẩm = Cao có 3 mẫu nhận giá trị "Có" và 4 mẫu nhận giá trị "Không":

Xét thuộc tính Gió = {Mạnh, Nhẹ} trong đó có:

+ Khi Gió = Mạnh có 3 mẫu nhận giá trị "Có" và 3 mẫu nhận giá trị "Không":

[3+,3-]

+ Khi Gió = Nhẹ có 6 mẫu nhận giá trị "Có" và 2 mẫu nhận giá trị "Không": [6+,2-]

Trang 33

Khi đó ta có: S = [9+,5-]  Entropy(S) =0.94

3 3 3 3 Entropy(S ) = Entropy([3 ,3 ]) = - log log 1

Vậy ta có: Gain(S, Quang cảnh) = 0.246 ; Gain(S, Nhiệt độ) = 0.029

Gain(S, Độ ẩm) = 0.1879 ; Gain(S, Gió) = 0.013

Ta nhận thấy thuộc tính Quang cảnh có giá trị Gain lớn nhất Vậy ta chọnthuộc tính Quang cảnh là thuộc tính đầu tiên được dùng để triển khai cây

Thuộc tính Quang cảnh được chọn làm nhãn cho nút gốc Do thuộc tínhQuang cảnh có các giá trị Quang cảnh = {nắng, âm u, mưa} nên các nhánh được tạo

ra từ nút gốc có nhãn là là Nắng, Âm u, Mưa Ta xây dựng được cây như hình sau:

Hình 2.7: Khai triển cây quyết định theo thuộc tính quang cảnh

Xét nhánh bên trái cây với Quang cảnh = Nắng

Ta nhận thấy, các mẫu trong nhánh này không thuộc cùng một lớp nên phải tính cácgiá trị Gain của các thuộc tính ứng viên còn lại

Trang 34

+ Với Quang cảnh = Nắng và Nhiệt Độ = Nóng không có mẫu nào nhận giá trị

"Có", có 2 mẫu nhận giá trị "Không": [0+,2-]

+ Với Quang cảnh = Nắng và Nhiệt Độ = Ấm áp thì có 1 mẫu nhận giá trị "Có",

1 mẫu nhận giá trị "Không": [1+,1-]

+ Với Quang cảnh = Nắng và Nhiệt Độ = Mát thì có 1 mẫu nhận giá trị "Có" và

0 mẫu nhận gía trị "Không": [1+,0-] Khi đó ta có:

+ Với Quang cảnh = Nắng và Độ ẩm = TB thì có 2 mẫu nhận giá trị "có"

và không có mẫu nào nhận giá trị "không" [2+,0-]

Trang 35

Xét tiếp thuộc tính Gió ={Mạnh, Nhẹ}

+ Với Quang cảnh = Nắng và Gió =Mạnh có 1 mẫu nhận giá trị "Có" và 1

mẫu nhận giá trị "Không" [1+,1-]

+ Với Quang cảnh = Nắng và Gió =Nhẹ có 2 mẫu nhận giá trị "Có" và 1 mẫu

Trang 36

Chúng ta xây dựng được cây như hình sau Độ ẩm = {Cao, TB}

Hình 2.8: Xây dựng cây theo thuộc tính độ ẩm Tại nút có nhãn Độ ẩm xét các nhánh:

+ Với nhánh Độ ẩm = Cao ta thấy các mẫu thuộc cùng một lớp "Không" => cây làcác nút lá và nhãn của nút được là "Không"

+ Với nhánh Độ ẩm = TB ta thấy các mẫu thuộc cùng một lớp "Có"=> đây là cácnút lá với nhãn của nút là "Có"

Như vậy ta thu được cây có dạng như hình vẽ sau:

Hình 2.9: Khai triển cây theo thuộc tính quang cảnh –độ ẩm

Xét nhánh giữa của cây, khi Quang cảnh = Âm u

Ta nhận thấy các mẫu [D3,D7,D12,D13] thuộc cùng một lớp "Có" => đây là các

nút lá với nhãn của nút là "Có " Chúng ta tiếp tục thu được cây như hình sau:

Trang 37

Hình 2.10: Khai triển cây theo thuộc tính quang cảnh = “âm u”

Xét nhánh bên phải của cây, khi đó thuộc tính Quang cảnh = Mưa: Ta

nhận thấy các mẫu thuộc nhánh này không thuộc cùng một lớp Vì vậy phải tiếp tục

mở rộng Chúng ta tính giá trị Gain của các thuộc tính ứng viên còn lại Thực hiệntương tự như mở rộng nhánh bên trái của cây

Trang 38

S Entropy Entropy S Entropy S

Ta có: Gain (SMưa,Nhiệt độ) = 0.02 ; Gain(SMưa, Độ ẩm) = 0.02

Gain(SMưa, Gió) = 0.971

Vậy giá trị Gain(SMưa, Gió) = 0.971 lớn nhất  Chọn thuộc tính Gió là thuộc tínhtiếp theo để triển khai cây Các nhánh được tạo ra từ nút này với nhãn là {Mạnh,Nhẹ}

- Nhánh Gió = Mạnh các mẫu đều thuộc cùng một lớp “Không” Đây là nút

lá và nhãn của lớp được gán là “Không”

- Nhánh Gió = Nhẹ các mẫu cùng thuộc lớp “Có”  Đây là nút lá và nhãncủa nút này được gán là “Có”

Như vậy ta thu được cây có dạng như hình vẽ sau:

Ngày đăng: 09/12/2016, 15:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Gs.TS. Đỗ Phúc, Bài giảng khai phá dữ liệu, Đại học Quốc gia TP.Hồ Chí Minh, 2007 Sách, tạp chí
Tiêu đề: Bài giảng khai phá dữ liệu
[2]. Nguyễn Thanh Thuỷ, Khai phá dữ liệu – Kỹ thuật và ứng dụng. Hà Nội Tháng 8 – 2001 Sách, tạp chí
Tiêu đề: Khai phá dữ liệu – Kỹ thuật và ứng dụng
[3]. Vũ Đức Thi, Cơ sở dữ liệu - Kiến thức và thực hành, Nhà xuất bản Thống kê (1997) Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu - Kiến thức và thực hành
Nhà XB: Nhà xuất bản Thống kê (1997)
[4]. Vũ Đức Thi, Thuật toán trong tin học, Nhà xuất bản khoa học kỹ thuật (1999).Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Thuật toán trong tin học
Tác giả: Vũ Đức Thi, Thuật toán trong tin học, Nhà xuất bản khoa học kỹ thuật
Nhà XB: Nhà xuất bản khoa học kỹ thuật (1999).Tài liệu tiếng Anh
Năm: 1999
[5]. Han J. and Kamber (2000), Data mining Concepts and Techniques, Morgan Kanufmann Sách, tạp chí
Tiêu đề: Data mining Concepts and Techniques
Tác giả: Han J. and Kamber
Năm: 2000
[6]. Murthy, S.K (1998), “Automatic construction of decision trees from data: A multi – disciplication survey”. Data mining and Knowledge Discovery 2(4), pp 345 – 389.Danh sách Website Sách, tạp chí
Tiêu đề: “Automatic construction of decision trees from data: A multi – disciplication survey”
Tác giả: Murthy, S.K
Năm: 1998
[8] Một số địa chỉ trang Web để tìm hiểu phương pháp cây quyết định.Wikipedia – Bách khoa toàn thư mở -Khai phá dữ liệu, Cây quyết định Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.4: Khai triển cây theo thuộc tính Quang cảnh-nhiệt độ-độ ẩm-Gió - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.4 Khai triển cây theo thuộc tính Quang cảnh-nhiệt độ-độ ẩm-Gió (Trang 22)
Hình 2.5:Khai triển cây theo thuộc tính quang cảnh-độ ẩm - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.5 Khai triển cây theo thuộc tính quang cảnh-độ ẩm (Trang 23)
Hình 2.7: Khai triển cây quyết định theo thuộc tính quang cảnh - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.7 Khai triển cây quyết định theo thuộc tính quang cảnh (Trang 31)
Hình 2.10: Khai triển cây theo thuộc tính quang cảnh = “âm u” - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.10 Khai triển cây theo thuộc tính quang cảnh = “âm u” (Trang 35)
Hình 2.11: Cây quyết định theo thuộc tính quang cảnh-độ ẩm-gió - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.11 Cây quyết định theo thuộc tính quang cảnh-độ ẩm-gió (Trang 37)
Bảng 2.4. Bảng thông tin phân bổ lớp của thuộc tính Loại xe - Sử dụng cây quyết định trong khai phá dữ liệu
Bảng 2.4. Bảng thông tin phân bổ lớp của thuộc tính Loại xe (Trang 46)
Hình 2.13 : Khai triển cây theo thuộc tính Loại xe - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.13 Khai triển cây theo thuộc tính Loại xe (Trang 47)
Hình 2.14: Khai triển cây theo thuộc tính Loại xe-Tuổi - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.14 Khai triển cây theo thuộc tính Loại xe-Tuổi (Trang 49)
Hình 2.17. Cây trước khi cắt tỉa - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 2.17. Cây trước khi cắt tỉa (Trang 54)
Hình 3.1. : Khai triển cây quyết định theo thuộc tính “Cổ Họng” - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 3.1. Khai triển cây quyết định theo thuộc tính “Cổ Họng” (Trang 64)
Hình 3.3: Khai triển cây quyết định theo thuộc tính Đầu - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 3.3 Khai triển cây quyết định theo thuộc tính Đầu (Trang 66)
Hình 3.4: Khai triển cây quyết định theo thuộc tính Mũi - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 3.4 Khai triển cây quyết định theo thuộc tính Mũi (Trang 67)
Hình  3.7. Giao diện chính của chương trình Giao diện nhập dữ liệu - Sử dụng cây quyết định trong khai phá dữ liệu
nh 3.7. Giao diện chính của chương trình Giao diện nhập dữ liệu (Trang 69)
Hình 3.9. Giao diện xây dựng cây quyết định - Sử dụng cây quyết định trong khai phá dữ liệu
Hình 3.9. Giao diện xây dựng cây quyết định (Trang 70)
Bảng phụ lục: Logarit cơ số hai của các số nguyên từ 1 đến 100 - Sử dụng cây quyết định trong khai phá dữ liệu
Bảng ph ụ lục: Logarit cơ số hai của các số nguyên từ 1 đến 100 (Trang 73)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w