1. Trang chủ
  2. » Công Nghệ Thông Tin

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

73 455 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 73
Dung lượng 1,02 MB

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

Nội dung

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ớncá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ệ mangtính

Trang 1

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ácthầy cô Khoa Công nghệ thông tin – Đại học Thái Nguyên, các thầy cô viện côngnghệ 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ìnhnghiê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ệnCông nghệ thông tin – Viện Khoa học và công nghệ Việt Nam, các thầy cô ở khoaCô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ếnchuyê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ệnluậ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ànhluận văn này

Tác giả

Dương Thị Nhung

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 3

Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ 4

KHAI PHÁ DỮ LIỆU 4

1.1 Khái quát chung về phát hiện tri thức và khai phá dữ liệu 4

1.2 Quá trình khám phá tri thức 5

1.2.1 Hình thành và định nghĩa bài toán 6

1.2.2 Thu thập và tiền xử lý dữ liệu 6

1.2.3 KPDL và rút ra các tri thức 6

1.2.4 Phân tích và kiểm định kết quả 7

1.2.5 Sử dụng các tri thức phát hiện được 7

1.3 Quá trình KPDL 7

1.3.1 Gom dữ liệu ( gatherin ) 8

1.3.2 Trích lọc dữ liệu ( selection ) 8

1.3.3 Làm sạch và tiền xử lý dữ liệu ( cleansing preprocessing preparation ) 8

1.3.4 Chuyển đổi dữ liệu ( transformation ) 9

1.3.5 Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery) 9

1.3.6 Đánh giá kết quả ( evaluation of result ) 9

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

1.5 Các kỹ thuật KPDL 10

1.5.1 Phân lớp dữ liệu: 10

1.5.2 Phân cụm dữ liệu: 10

1.5.3 Khai phá luật kết hợp: 10

1.5.4 Hồi quy: 11

1.5.5 Giải thuật di truyền: 11

1.5.6 Mạng nơron: 11

1.5.7 Cây quyết định 11

1.6 Các dạng dữ liệu có thể khai phá được 12

1.7 Các lĩnh vực liên quan và ứng dụng của KPDL 12

1.7.1 Các lĩnh vực liên quan đến khám phá tri thức và KPDL 12

Trang 3

1.7.2 Ứng dụng của KPDL 13

1.8 Các thách thức và hướng phát triển của KPDL 14

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 15

2.1 Cây quyết định 15

2.1.1 Mô tả 15

2.1.2 Định nghĩa cây quyết định 15

2.1.3 Ưu điểm của cây quyết định 17

2.1.4 Vấn đề xây dựng cây quyết định 18

2.1.5 Rút ra các luật từ cây quyết định 19

2.2 Các thuật toán KPDL bằng cây quyết định 19

2.2.1 Thuật toán CLS 20

2.2.2 Thuật toán ID3 25

2.2.3 Thuật toán C4.5 39

2.2.4 Thuật toán SLIQ 52

2.2.5 Cắt tỉa cây quyết định 60

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 65

Phần 3: CÀI ĐẶT MÔ PHỎNG THUẬT TOÁN ID3 67

3.1 Mô tả bài toán 67

3.2 Màn hình nhập dữ liệu của chương trình 67

3.3 Màn hình phân tích dữ liệu đưa ra kết quả của chương trình 68

Phần 4: KẾT LUẬN 69

TÀI LIỆU THAM KHẢO 70

Tài Liệu Tiếng Việt 70

Tài Liệu Tiếng Anh 70

Danh Sách Website 70

Trang 4

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à ứngdụ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ẫntiế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ếnlự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ưutrữ 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àmphá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 (KDD - Knowledge Discovery and Data Mining)

Kỹ thuật khám phá tri thức và KPDL đã và đang được nghiên cứu, ứng dụngtrong 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ụngthự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ựcnào Hiện nay vấn đề khám phá tri thức và KPDL cũng đang thu hút được sự quantâ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

Trang 5

Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ

KHAI PHÁ DỮ LIỆU1.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 conngườ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ỏicấ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 conngườ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ãycá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ìnhdưới một định dạng nhất định nào đó Chúng ta sử dụng các bit để đo lường thôngtin 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ácmối quan hệ này có thể được hiểu, được phát hiện ra, hoặc có thể được học Nóicá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ọcthuậ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ọcmá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ứctiề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ư TomMitchell đã đưa ra định nghĩa về KPDL như sau: “KPDL là việc sử dụng dữ liệu

Trang 6

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íchxuấ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ạngcá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ớncá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ệ mangtí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ằngcá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 KPDLchuyê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 tintiề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 racá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:

Hình 1.1 Quá trình khám phá tri thức

Trang 7

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ươngphá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ệucũ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ươngphá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ácgiá 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ậtnà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

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ácgiá 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

Trang 8

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ảysinh 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ườnghợ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ợpvớ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ạ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 khám phá 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 khám phá 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.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:

Trang 9

Hình 1.2 Quá trình KPDLQuá 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ếtxuấ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

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ẩnnà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ướcrấ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ệuthườ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

Trang 10

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ủaviệ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ácnhau đã đượ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ìnhhoá 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

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

Trang 11

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 đồngnhau

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ợptìm được Phương pháp khai phá luật kết hợp gồm có hai bước:

Trang 12

- 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 sinhhọ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ệntrong 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 xuhướng phức tạp mà kỹ thuật thông thường khác khó có thể phát hiện ra được Tuynhiê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ềukhó 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àythường được mô tả dưới dạng tường minh, đơn giản, trực quan, dễ hiểu đối vớingười sử dụng

Trang 13

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ựckhá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ớilĩ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ácluậ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ênquan đến khám phá tri thức và KPDL

……

Thông tin họcThương mại

Trang 14

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ủatừ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 trongnhữ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 địnhvù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ệnnă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ệnthoạ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ộinhư: 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

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 ditruyề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ánbệ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àichí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

Trang 15

- 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ẫngặ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 chongườ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ệuvớ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ọilĩ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ĩnhvự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úpngười sử dụng tham gia điều khiển quá trình KPDL, định hướng hệ thống KPDLtrong 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 trongviệ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 trongKPDL

Trang 16

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ộtlớ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ệntạ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ânchia 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àinguyên ) Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt đượcmụ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ácgiá 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, haychỉ 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 chotrước

Trang 17

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 haynữ), 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:

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:

Trang 18

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âyquyế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ộtcá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ệuphứ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ệudạ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

Age?

≤ 35salary

Trang 19

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ố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

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, 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

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âyquyế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

"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 contheo các giá trị của thuộc tính đó

b Cắt tỉa cây

Trang 20

Thông thường thì cây được sinh ra trong giai đoạn xây dựng và hoạt động tốttrê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áctậ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 ưuhoá 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

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ạngIF THEN và ngược lại Từ hai mô hình này chúng ta có thể rút ra được các quyluậ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

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àytrọng tâm trong luận văn này

Trang 21

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úcnà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 Tlú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

iii Tạo n nút con Ti (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 Ti (i=1,2…n) 5) Thực hiện lặp cho các nút con Ti(i =1,2 n) và quay lại bước 2

Trang 22

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 Temparature Humidity Wind Play tennis

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 Trongbả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ácthuộc tính ứng cử viên được dùng để xét Còn thuộc tính play tennis là thuộc tínhkhẳng định được dùng để phân lớp các mẫu dữ liệu Khi đó cây quyết định đượcxâ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:

Trang 23

Hình 2.2Vớ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

Trang 25

Hình 2.4Hình 2.4 là cây kết quả thu được khi áp dụng thuật toán CLS cho tập dữ liệu huấnluyện trong bảng 2.2 với thứ tự các thuộc tính outlook, humidity, wind Nếu ápdụng thuật toán CLS với thứ tự khác của các thuộc tính ta sẽ thu được cây kết quả

có hình dạng khác

Ví dụ: khi ta áp dụng thuật toán CLS để xây dựng cây với thứ tự các thuộc tínhđược chọn là: Outlook, temperature, wind, humarity thì cây kết quả sẽ có hình dạngnhư sau:

Weak

no

Trang 26

Hình 2.5Hai cây quyết định trong hình 2.4 và 2.5 là khác nhau Điều đó nói lên rằngkhi á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ấn luyện, câyquyế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ây như độ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ậy một câuhỏ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 sao cho độ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 dưới đây.

2.2.2 Thuật toán ID3

Thuật toán ID3 đượ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ánID3 được giới thiệu và trình bày trong mục Induction on Decision Trees, Machine

Outlook

[ D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14 ]

OvercastSunny

Humiditymild

Trang 27

learning năm 1986 ID3 là một thuật toán đơn giản nhưng tỏ ra thành công trong

nhiều lĩnh vực ID3 biểu diễn các khái niệm (concept) ở dạng cây quyết định Biểu

diễ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ệm 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 Nói cách khác giải thuật có:

Đầ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ộttì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ệurèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai.Thuật toán ID3 xây dựng cây quyết định dựa vào sự phân lớp các đối tượng (mẫuhuấn luyện) bằng cách kiểm tra giá trị các thuộc tính ID3 xây dựng cây quyết định

từ trên xuống (top -down) bắt đầu từ một tập các đối tượng và các thuộc tính của nó.

Tại mỗi nút của cây, tiến hành việc kiểm tra các thuộc tính để tìm ra thuộc tính tốtnhất được sử dụng để phân chia tập các đối tượng mẫu, theo các giá trị của thuộctính được chọn để mở rộng Quá trình này được thực hiện một cách đệ quy cho đếnkhi mọi đối tượng của phân vùng đều thuộc cùng một lớp; lớp đó trở thành nút lácủa cây Để làm được việc này thuật toán ID3 có sử dụng tới hai hàm Entropy vàGian

Hàm Entropy

Hàm Entropy dùng để đo tính thuần nhất của một tập mẫu dữ liệu Khái niệmEntropy của một tập S được định nghĩa trong Lý thuyết 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ột thành viên rút ra một cáchngẫ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 bits 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

Trang 28

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", "positive","High") và giá trị "no" (hoặc "âm", "-",

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

"yes" và "no"

Ký hiệu p+ là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "yes", và p

-là tỷ lệ các mẫu có giá trị của thuộc tính quyết định -là "no" trong tập S Khi đó tacó:

Entropy(S)= - P log (P) P log (P)

 (2.1)Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có công thức sau:

n

i=1Entropy(S)= (- P log ( ))P i (2.2)

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.2 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à:

Entropy(S) =-1*log (1) 0*log (0) 02  2 

(Quy ước 0*log2 (0) = 0) Còn nếu tất cả các mẫu trong S đều thuộc vào lớp "no" thì P+=0 và P- =1 khiđó: Entropy(S) =-0*log (0) 1*log (1) 02  2 

Nếu trong tập S có số mẫu phân bổ đều nhau vào các lớp thì Entropy(S) = 1 Chẳnghạn 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ố

Trang 29

mẫu thuộc lớp "no" thì Entropy(S) =1 Thật vậy khi số mẫu thuộc lớp "yes" bằng sốmẫu thuộc lớp "no" thì P+ =1/2 và P-=1/2 Khi đó:

Entropy(S)=-(1/2)*log (1/ 2) (1/ 2)*log (1/ 2) 1/ 2 1/ 2 12  2   

Các trường hợp còn lại, khi S có số mẫu thành viên thuộc hai lớp có số lượng khác

0 và khác nhau thì đại lượng Entropy được tính theo công thức (2.2) 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ọn choviệ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ủa thuộctính Ai ký hiệu là Information(Ai) được xác định bởi công thức

n

i=1Information(A ) = -log ( ) Entropy(S)p  i (2.3)

Giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain(S,A) và được tính theocông thức sau:

v

v

v value(A)

S( , ) Information(A) - Entropy(A)= Entropy(S)- Entropy(S )

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

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

Trang 30

Xét thuộc tính wind của tập S Thuộc tính wind nhận các giá trị = {weak, strong}.Trong đó: có 8 trường hợp wind =weak, có 6 trường hợp wind = strong.

Trong 8 trường hợp ứng với thuộc tính wind =weak có 6 mẫu nhận giá trị "yes", 2mẫu nhận giá trị "no"

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

"3" mẫu nhận giá trị "no"

Vậy khi đó ta có:

Entropy(Sweak) =- (6/8) log (6 / 8) (2 / 8)log (2 / 8) 0.8112  2 

Entropy(Sstrong) =- (3/6) log (3/ 6) (3/ 6) log (3/ 6) 1.002  2 

( , wind) Entropy (S)-(8/14)*Entropy(Sweak)-(6/14)*Entropy(Sstrong)

= 0.940 - (8/14) * 0.811 -(6/14)* 1.00= 0.048

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ộctí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 [3]:

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

Trang 31

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

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.2 làm ví dụ Tập S gồm 14 mẫu dữ liệu, thuộc tính Day là thuộc tính địnhdanh Các thuộc tính ứng viên, thuộc tính play tennis là thuộc tính phân lớp.Ta có: Sgồ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 Outlook = {sunny, overcast, rain} ta có:

+ Outlook = sunny có 2 mẫu nhận giá trị "yes", 3 mẫu nhận giá trị "no" [2+,3-].+ Outlook=overcast có 4 mẫu nhận giá trị "yes",0 mẫu nhận giá trị "no" [4+,0-].+ Outlook = Rain có 3 mẫu giá trị "yes" và 2 mẫu nhận giá trị "no" [3+,2-]

Khi đó: S = [9+,5-]

Trang 32

Entropy(S ) = Entropy([3 ,2 ])

= -(3/14)log (3/14) (2 /14) log (2 /14)0.476 0.401 0.877

SEntropy(S) - (5/14)Entropy(S ) - (4/14)Entropy(S )-(5/14)Entropy(S )

Xét thuộc tính Temperature = {hot, mild, cool} trong đó ta có:

+ Với Temperature = hot có 2 mẫu nhận giá trị "yes", 2 mẫu nhận giá

Trang 33

Entropy(S ) = Entropy([4 ,2 ])

= -(4/14) log (4 /14) (2 /14) log (2 /14)0.526 0.401 0.917

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

= -(3/14) log (3/14) (1/14) log (1/14)0.748

S

= Entropy (S) - (4/14) Entropy(S ) - (6/14)Entropy(S )

-(4/14)Entropy(S ) = Entropy([9 ,5 ]) - (4/14)Entropy([2 ,2 ])

- (6/14

-) Entropy([4 ,2 ]-)- (4/14-)Entropy([3 ,1 ]-) = 0.94-(4/14)*0.802 - (6/16)* 0.917 - (4/14)* 0.748

= 0.104

(2.5)

Xét thuộc tính Humidity = {High,normal} trong đó có

+ Khi Humidity = High có 3 mẫu nhận giá trị "yes" và 4 mẫu nhận giá trị "no" [3+,4-]

+ Khi Humidity = normal có 6 mẫu nhận giá trị "yes" có 1 mẫu nhận giá trị

"no" [6+,1-]

Khi đó ta có:

S = [9+,5-]  Entropy (S) =0.94

Do SHigh = [3+,4-] nên :

Trang 34

Entropy(S )= Entropy([6 ,1 ])

= -(6/14)log (6 /14) (1/14) log (1/14)0.524 0.272 0.796

= Entropy([9 ,5 ]) - (7/14)Entropy([3 ,4 ]) - (7/14)Entropy([6 ,1 ])

Xét thuộc tính Wind = {strong, weak} trong đó có:

+ Khi wind = strong có 3 mẫu nhận giá trị "yes" và 3 mẫu nhận giá trị "no" [3+,3-]

+ Khi wind = weak có 6 mẫu nhận giá trị "yes" và 2 mẫu nhận giá trị

Trang 35

Từ các kết quả tên ta tính được:

strong

-weak + -

Thuộc tính outlook được chọn làm nhãn cho nút gốc Do thuộc tính outlook có cácgiá trị Outlook = {sunny, overcast, rain} nên các nhánh được tạo ra từ nút gốc cónhãn là là sunny, overcast, rain Chúng ta xây dựng được cây như hình sau:

Hình 2.6

Xét nhánh bên trái cây vớii oulook = sunny

Ta nhận thấy, các mẫu trong nhánh này không thuộc cùng một lớp (không thuầnkhiết ) Vì vậy phải tính giá trị Gain của các thuộc tính ứng viên còn lại

Trang 36

Tính Gain cho các thuộc tính ứng viên còn lại để chọn ra thuộc tính mở rộng câytiếp theo.

Xét tiếp thuộc tính Temperature = {hot, mild, cool}

+ Với outlook = sunny và temperature = hot không có mẫu nào nhận giá trị "yes", có 2 mẫu nhận giá trị "no" [0+,2-]

+ Với outlook= sunny và temperature = mild thì có 1 mẫu nhận giá trị "yes",

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

+ Với outlook = sunny và temperature = cool thì có 1 mẫu nhận giá trị "yes"

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

v hot mild cool

Xét thuộc tính Humidity = {High,normal}

+ Với outlook = sunny và humidity = High không có mẫu nào nhận giá trị "yes" và có 3 mẫu nhận giá trị "no" [0+,3-]

+ Với outlook = sunny và humidity = normal thì có 2 mẫu nhận giá trị "yes"

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

Ngày đăng: 15/04/2017, 20:47

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Quá trình khám phá tri thức - 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
Hình 1.1. Quá trình khám phá tri thức (Trang 6)
Hình 1.3. Các lĩnh vực liên quan đến KPDL - 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
Hình 1.3. Các lĩnh vực liên quan đến KPDL (Trang 13)
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ố) - 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ả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ố) (Trang 22)
Hình 2.2 Với giá trị thuộc tính Outlook =&#34;overcast&#34; 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 &#34;yes&#34;, đây là nút - 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
Hình 2.2 Với giá trị thuộc tính Outlook =&#34;overcast&#34; 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 &#34;yes&#34;, đây là nút (Trang 23)
Hình 2.5 Hai cây quyết định trong hình 2.4 và 2.5 là khác nhau. Điều đó nói lên rằ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ấn luyệ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) - 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
Hình 2.5 Hai cây quyết định trong hình 2.4 và 2.5 là khác nhau. Điều đó nói lên rằ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ấn luyệ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) (Trang 26)
Hình 2.11 Cây quyết định đi chơi tennis - 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
Hình 2.11 Cây quyết định đi chơi tennis (Trang 41)
Bảng 2.3 Bảng thống kê mức độ nguy hiểm khi lái xe và độ tuổi Trong đó: - 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ảng 2.3 Bảng thống kê mức độ nguy hiểm khi lái xe và độ tuổi Trong đó: (Trang 47)
Hình 2.12  Xét nút N1 là nhánh bên trái (CarType = Family) của cây trong Hình 2.12 ta có:  Các mẫu không cùng một lớp, chọn thuộc tính Age để mở rộng. - 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
Hình 2.12 Xét nút N1 là nhánh bên trái (CarType = Family) của cây trong Hình 2.12 ta có: Các mẫu không cùng một lớp, chọn thuộc tính Age để mở rộng (Trang 51)
Bảng 2.4 Xét Tại ngưỡng v =21.5, tập dữ liệu tại nút này được phân thành 2 tập T 1 ,T 2 - 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ảng 2.4 Xét Tại ngưỡng v =21.5, tập dữ liệu tại nút này được phân thành 2 tập T 1 ,T 2 (Trang 52)
Hình 2.15 Cây kết quả sử dụng thuật toán C4.5 - 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
Hình 2.15 Cây kết quả sử dụng thuật toán C4.5 (Trang 54)
Bảng 2.6 dữ liệu sau khi tiền xử lý phân loại: - 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ảng 2.6 dữ liệu sau khi tiền xử lý phân loại: (Trang 59)
Bảng 2.7 Tính giá trị gini tại các điểm tách của thuộc tính Age - 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ảng 2.7 Tính giá trị gini tại các điểm tách của thuộc tính Age (Trang 60)
Hình 2.16: Cây kết quả sử dụng thuật toán SLIQ với tập dữ liệu trong bảng 2.5 - 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
Hình 2.16 Cây kết quả sử dụng thuật toán SLIQ với tập dữ liệu trong bảng 2.5 (Trang 62)
Hình 2.17 Cây trước khi cắt tỉa - 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
Hình 2.17 Cây trước khi cắt tỉa (Trang 64)
Hình 2.18 Cây sau khi cắt tỉa Tóm lại, cắt tỉa cây nhằm tối ưu hoá cây kết quả. Tối ưu về kích cỡ cây và về - 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
Hình 2.18 Cây sau khi cắt tỉa Tóm lại, cắt tỉa cây nhằm tối ưu hoá cây kết quả. Tối ưu về kích cỡ cây và về (Trang 66)

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