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

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

78 535 1

Đ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 78
Dung lượng 817,11 KB

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

Nội dung

Nói tóm lại, mục đích chung của việc khám phá tri thức và KPDL là tìm ra các mẫu được quan tâm nhất và/ hoặc các mô hình tồn tại trong cơ sở dữ liệu, nhưng chúng lại bị che dấu bởi một s

Trang 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

ĐẠI HỌC THÁI NGUYÊN

KHOA CÔNG NGHỆ THÔNG TIN

DƯƠNG THỊ NHUNG

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

KHOA CÔNG NGHỆ THÔNG TIN

DƯƠNG THỊ NHUNG

NGHIÊN CỨU PHƯƠNG PHÁP CÂY QUYẾT ĐỊNH

VÀ CÀI ĐẶT MÔ PHỎNG THUẬT TOÁN ID3

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS VŨ ĐỨC THI

Thái Nguyên 2010

Trang 2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

LỜI CAM ĐOAN

Tôi xin cam đoan toàn bộ nội dung luận văn này là do tôi tự sưu tầm, tra cứu thông tin trên mạng internet, trong một số sách tham khảo để sắp xếp, hoàn thiện cho phù hợp với nội dung yêu cầu của đè tài

Đến nay, nội dung luận văn của tôi chưa từng được công bố hay xuất bản dưới bất kỳ hình thức nào Nếu sai tôi xin chịu hoàn toàn trách nhiệm

Ngày 10 tháng 10 năm 2010

Tác giả

Dương Thị Nhung

Trang 3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

LỜI CẢM ƠN

Để hoàn thành luận văn này tôi đã nhận được sự giúp đỡ tận tình của các thầy cô Khoa Công nghệ thông tin – Đại học Thái Nguyên, các thầy cô viện công nghệ thông tin – viện Khoa học và công nghệ Việt Nam, các bạn bè đông nghiệp Đặc biệt là PGS.TS Vũ Đức Thi, người thầy trực tiếp hướng dẫn tôi trong quá trình nghiên cứu và thực hiện luận văn

Nhân dịp này tôi xin được bày tỏ lời cảm ơn tới tất cả các thầy cô giáo viện Công nghệ thông tin – Viện Khoa học và công nghệ Việt Nam, các thầy cô ở khoa Công nghệ thông tin – Đại học Thái nguyên đã giảng dạy và tạo mọi điều kienẹ thuận lợi giúp đỡ chúng tôi trong quá trình học tập, nghiên cứu

Tôi xin trân trọng cảm ơn PGS.TS Vũ Đức Thi – Viện công nghệ thông tin, người thầy trực tiếp hướng dẫn, đưa ra ý tưởng, định hướng, đóng góp các ý kiến chuyên môn và tận tình giúp đỡ tôi trong suốt quá trình nghiên cứu và thực hiện luận văn này

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

Tác giả

Dương Thị Nhung

Trang 4

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

MỤC LỤC

LỜI MỞ ĐẦU 1

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

KHAI PHÁ DỮ LIỆU 2

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

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

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

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

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

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

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

1.3 Quá trình KPDL 6

1.3.1 Gom dữ liệu ( gatherin ) 6

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

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

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

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

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

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

1.5 Các kỹ thuật KPDL 8

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

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

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

1.5.4 Hồi quy: 9

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

1.5.6 Mạng nơron: 9

1.5.7 Cây quyết định 10

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

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

Trang 5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

1.7.2 Ứng dụng của KPDL 11

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

Phần 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 13

2.1 Cây quyết định 13

2.1.1 Mô tả 13

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

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

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

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

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

2.2.1 Thuật toán CLS 18

2.2.2 Thuật toán ID3 23

2.2.3 Thuật toán C4.5 38

2.2.4 Thuật toán SLIQ 52

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

2.2.6 Đánh giá và kết luận về các thuật toán xây dựng cây quyết định 66

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

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

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

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

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

TÀI LIỆU THAM KHẢO 72

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

Tài Liệu Tiếng Anh 72

Danh Sách Website 72

Trang 6

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

LỜI MỞ ĐẦU

Trong nhiều năm qua, cùng với sự phát triển của công nghệ thông tin và ứng dụng của công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, thì lượng dữ liệu được các cơ quan thu thập và lưu trữ ngày một nhiều lên Theo thống kê thì trong lượng dữ liệu đó chỉ có khoảng từ 5% đến 10% dữ liệu là luôn được phân tích,

số còn lại người ta không biết sẽ phải làm gì với chúng Tuy nhiên con người vẫn tiếp tục thu thập và lưu trữ dữ liệu vì cho rằng chúng ẩn chứa những giá trị nhất định nào đó, chẳng hạn có thể cung cấp cho họ thông tin đưa ra quyết định chiến lựoc một cách nhanh chóng trong một lúc nào đó Chính do lượng dữ liệu được lưu trữ ngày càng nhiều lên đến mức khổng lồ thì các phương pháp quản trị và khai thác

dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu của thực tế và đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật khám phá tri thức và

KPDL (Khai phá dữ liệu)

Kỹ thuật khám phá tri thức và KPDL đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau trên thế giới Tại Việt Nam, kỹ thuật này còn tương đối mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào một số ứng dụng thực tế; đặc biệt trong lĩnh vực giáo dục đào tạo thì chưa có một ứng dụng thiết thực nào Hiện nay vấn đề khám phá tri thức và KPDL cũng đang thu hút được sự quan tâm của nhiều người và nhiều công ty phát triển ứng dụng công nghệ thông tin ở nước ta

Luận văn này bao gồm các nội dung sau:

Chương 1: Tổng quan về phát hiện tri thức và khai phá dữ liệu

Chương 2: Cây quyết định và các thuật toán khai phá dữ liệu bằng cây quyết định Chương 3: Cài đặt mô phỏng thuật tóan ID3

Trang 7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

KHAI PHÁ DỮ LIỆU

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

Trong vài thập kỷ gần đây, khả năng tạo sinh và lưu trữ dữ liệu của con người đã tăng lên nhanh chóng Lượng dữ liệu lớn được lưu trữ dẫn đến một đòi hỏi cấp bách phải có những kỹ thuật mới, những công cụ tự động mới trợ giúp con người một cách thông minh trong việc chuyển đổi một lượng lớn dữ liệu thành

thông tin hữu ích và tri thức Vì vậy mà kỹ thuật khám phá tri thức (Knowledge

Discovery) đã ra đời và ngày càng phát triển để đáp ứng nhu cầu của con người

trong việc xử lý các kho dữ liệu lớn

Vậy tri thức ở đây là gì? Thông thường chúng ta coi dữ liệu như là một dãy các bit, các số và các ký hiệu, hoặc các “đối tượng” được gửi cho một chương trình dưới một định dạng nhất định nào đó Chúng ta sử dụng các bit để đo lường thông tin và xem nó như là dữ liệu đã được lọc bỏ dư thừa, được rút gọn tới mức tối thiểu Bít được dùng làm đơn vị đặc trưng cho dữ liệu Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu, được phát hiện ra, hoặc có thể được học Nói cách khác, tri thức có thể coi là dữ liệu có độ trừu tượng và tổ chức cao

Hiện nay khám phá tri thức đang phát triển mạnh mẽ trong nhiều ngành học thuật Nó được kết hợp cùng với việc quản lý cơ sở dữ liệu, khoa học thống kê, học máy, nghiên cứu mối quan hệ giữa các lĩnh vực nhằm rút ra các tri thức có ích từ tập hợp lớn dữ liệu

Khám phá tri thức là quá trình nhận biết cái logic, cái mới lạ, những tri thức tiềm tàng hữu ích từ cơ sở dữ liệu, và cuối cùng là việc hiểu được các mẫu các mô hình trong dữ liệu

Còn thuật ngữ KPDL (Khai phá dữ liệu) ra đời vào những năm cuối của thập kỷ

1980 Có rất nhiều định nghĩa khác nhau về "KPDL" đã được đưa ra Giáo sư Tom

Trang 8

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

" KPDL như là một quá trình phân tích được thiết kế thăm dò một lượng cực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp và/ hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp thức hoá các kết quả tìm được bằng cách áp dụng các mẫu đã phát hiện được cho tập con mới của dữ liệu" Nói chung, KPDL là cốt lõi của quá trình khám phá tri thức Nó gồm có các giải thuật KPDL chuyên dùng, dưới một số quy định về hiệu quả tính toán chấp nhận được KPDL là nhằm tìm ra những mẫu mới, mẫu có tính chất không tầm thường, những thông tin tiềm ẩn mang tính dự đoán chưa được biết đến và có khả năng mang lại ích lợi

Nói tóm lại, mục đích chung của việc khám phá tri thức và KPDL là tìm ra các mẫu được quan tâm nhất và/ hoặc các mô hình tồn tại trong cơ sở dữ liệu, nhưng chúng lại bị che dấu bởi một số lượng lớn dữ liệu

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

Quá trình khám phá tri thức được tiến hành qua 5 bước sau:

Trang 9

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

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

Đây là bước tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này quyết định cần rút ra những tri thức dạng như thế nào, đồng thời lựa chọn các phương pháp KPDL thích hợp với mục đích ứng dụng và bản chất của dữ liệu

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

Trong bước này dữ liệu được thu thập ở dạng thô (nguồn dữ liệu thu thập có thể

là từ các kho dữ liệu hay nguồn thông tin internet) Trong giai đoạn này dữ liệu cũng được tiền xử lý để biến đổi và cải thiện về chất lượng cho phù hợp với phương pháp KPDL được chọn lựa trong bước một

Bước này thường chiếm nhiều thời gian nhất trong quá trình khám phá tri thức Các công việc tiền xử lý dữ liệu bao gồm :

1 Xử lý dữ liệu bị mất/ thiếu: Các dữ liệu bị thiếu sẽ được thay thế bởi các giá trị thích hợp

2 Khử sự trùng lặp: các đối tượng dữ liệu trùng lặp sẽ bị loại bỏ Kỹ thuật này không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu

3 Giảm nhiễu: dữ liệu nhiễu và các đối tượng tách rời khỏi phân bố chung

sẽ bị loại bỏ khỏi tập dữ liệu

Trang 10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

4 Chuẩn hoá: thông thường là chuẩn hoá miền giá trị của dữ liệu cho phù hợp

5 Rời rạc hoá: chính là việc biến đổi các dữ liệu dạng số về dữ liệu với các giá trị rời rạc

6 Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có

7 Giảm chiều: là loại bỏ bớt các thuộc tính chứa ít thông tin

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

Đây là bước quan trọng nhất trong tiến trình khám phá tri thức Kết quả của bước này là trích ra được các mẫu và/hoặc các mô hình ẩn dưới một khối lượng lớn

dữ liệu Một mô hình có thể là một biểu diễn cấu trúc tổng thể một thành phần của

hệ thống hay cả hệ thống trong cơ sở dữ liệu, hoặc miêu tả cách dữ liệu được nảy sinh Còn một mẫu là một cấu trúc cục bộ có liên quan đến vài biến và vài trường hợp trong cơ sở dữ liệu

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

Bước thứ tư là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả

và dự đoán Trong bước này, kết quả tìm được sẽ được biến đổi sang dạng phù hợp với lĩnh vực ứng dụng và dễ hiểu hơn cho người dùng

Trang 11

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả những lần thực hiện

1.3 Quá trình KPDL

KPDL là hoạt động trọng tâm của quá trình khám phá tri thức Thuật ngữ KPDL còn được một số nhà khoa học gọi là khám phá tri thức trong cơ sở dữ liệu (

knowledge discovery in database ), do Fayyad Smyth và Piatestky-Shapiro đưa ra

năm 1989 Quá trình này gồm có 6 bước:

Quá trình KPDL bắt đầu với kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra Các bước của quá trình như sau:

1.3.1 Gom dữ liệu ( gatherin )

Tập hợp dữ liệu là bước đầu tiên trong KPDL Bước này lấy dữ liệu từ trong một

cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu từ những nguồn cung ứng web

Trang 12

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

Ở giai đoạn này dữ liệu được lựa chọn và phân chia theo một số tiêu chuẩn nào đó

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

Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình KPDL Một số lỗi thường mắc phải trong khi gom dữ liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặt chẽ Vì vậy dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối lại với nhau

Ví dụ Sinh viên có tuổi =200 Giai đoạn thứ ba này nhằm xử lý các dữ liệu như trên Những dữ liệu dạng này thường được xem là thông tin dư thừa, không có giá trị Bởi vậy đây là một quá trình rất quan trọng Nếu dữ liệu không được làm sạch- tiền xử lý - chuẩn bị trước thì sẽ gây nên những kết quả sai lệch nghiêm trọng về sau

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

Trong giai đoạn này, dữ liệu có thể được tổ chức và sử dụng lại Mục đích của việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn với mục đích KPDL

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

Đây là bước tư duy trong KPDL Ở trong giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuật toán thường dùng để trích mẫu dữ liệu là thuật toán phân loại dữ liệu, kết hợp dữ liệu, thuật toán mô hình hoá dữ liệu tuần tự

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

Đây là giai đoạn cuối cùng trong quá trình KPDL, ở giai đoạn này các mẫu dữ liệu được chiết xuất ra bởi phần mềm KPDL Không phải mẫu dữ liệu nào cũng hữu ích, đôi khi nó còn bị sai lệch Vì vậy cần phải đưa ra những tiêu chuẩn đánh giá độ

ưu tiên cho các mẫu dữ liệu để rút ra được những tri thức cần thiết

Trang 13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

phân lớp (Classification), hồi quy (Regression), cây quyết định (Decision

tree), thống kê (statictics), mạng nơron (neural network), luật kết hợp

Trang 14

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

hình được sử dụng để dự đoán nhãn lớp khi mà độ chính xác của mô hình chấp nhận được

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

Mục tiêu của phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập

dữ liệu vào các cụm, sao cho những đối tượng thuộc cùng một lớp là tương đồng nhau

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

Mục tiêu của phương pháp này là phát hiện và đưa ra mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Đầu ra của giải thuật luật kết hợp là tập luật kết hợp tìm được Phương pháp khai phá luật kết hợp gồm có hai bước:

- Bước 1: Tìm ra tất cả các tập mục phổ biến Một tập mục phổ biến được xác định thông qua việc tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu

- Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, luật phải thoả mãn

độ hỗ trợ và độ tin cậy cực tiểu

1.5.4 Hồi quy:

Phương pháp hồi quy tương tự như là phân lớp dữ liệu Nhưng khác ở chỗ nó dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu dùng để dự đoán các giá trị rời rạc

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

Là quá trình mô phỏng theo tiến hoá của tự nhiên Ý tưởng chính của giải thuật

là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự nhiên và tiến hoá trong sinh học

1.5.6 Mạng nơron:

Đây là một trong những kỹ thuật KPDL được ứng dụng phổ biến hiện nay Kỹ thuật này phát triển dựa trên một nền tảng toán học vững vàng, khả năng huấn luyện trong kỹ thuật này dựa trên mô hình thần kinh trung ương của con người

Trang 15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Kết quả mà mạng nơron học được có khả năng tạo ra các mô hình dự báo, dự đoán với độ chính xác và độ tin cậy cao Nó có khả năng phát hiện ra được các xu hướng phức tạp mà kỹ thuật thông thường khác khó có thể phát hiện ra được Tuy nhiên phương pháp mạng nơ ron rất phức tạp và quá trình tiến hành nó gặp rất nhiều khó khăn: đòi hỏi mất nhiều thời gian, nhiều dữ liệu, nhiều lần kiểm tra thử nghiệm

1.5.7 Cây quyết định

Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp

và dự báo Các đối tượng dữ liệu được phân thành các lớp Các giá trị của đối tượng

dữ liệu chưa biết sẽ được dự đoán, dự báo Tri thức được rút ra trong kỹ thuật này thường được mô tả dưới dạng tường minh, đơn giản, trực quan, dễ hiểu đối với người sử dụng

- CSDL không gian và thời gian

- CSDL đa phương tiện

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

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

Khám phá tri thức và KPDL được ứng dụng trong nhiều ngành và lĩnh vực khác nhau như: tài chính ngân hàng, thương mại, y tế, giáo dục, thống kê, máy học, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán toán học, tính toán song song với tốc độ cao, thu thập cơ sở tri thức cho hệ chuyên gia,…Trong đó KPDL rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để phát hiện ra các mẫu, các luật bên trong dữ liệu Kho dữ liệu và các công cụ phân tích trực tuyến cũng liên quan đến khám phá tri thức và KPDL

Trang 16

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 1.3 Các lĩnh vực liên quan đến KPDL

1.7.2 Ứng dụng của KPDL

KPDL được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn

dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Tuỳ theo bản chất của từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận khác nhau

KPDL được vận dụng có hiệu quả để giải quyết các bài toán phức tạp trong những ngành đòi hỏi kỹ thuật cao như: tìm kiếm mỏ dầu từ ảnh viễn thám, xác định vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh báo hỏng hóc trong các hệ thống sản xuất

Phân nhóm và dự đoán là những công cụ rất cần thiết cho việc quy hoạch và phát triển hệ thống quản lý và sản xuất trong thực tế như: dự đoán tải sử dụng điện năng cho các công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị trường cho các công ty tài chính hay phân nhóm khách hàng tiềm năng

Ngoài ra KPDL còn được áp dụng trong việc giải quyết các vấn đề xã hội như: phát hiện tội phạm hay tăng cường an ninh xã hội và mang lại những hiệu quả thiết thực cho các hoạt động trong đời sống hàng ngày

……

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

Trang 17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Một số ứng dụng cụ thể như sau :

- KPDL được sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định

- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thông tin di truyền, tìm mối liên hệ giữa các hệ gen và chuẩn đoán một số bệnh di truyền

- Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng, chuẩn đoán bệnh

- Tài chính và thị trường chứng khoán: KPDL dùng để phân tích tình hình tài chính, phân tích đầu tư, phân tích cổ phiếu

- Khai thác dữ liệu web

- Trong thông tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều khiển và lập lịch trình

- Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng, phân tích

dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận

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

Việc khám phá tri thức và KPDL hiện nay đang phát triển rất mạnh mẽ và đạt được nhiều thành tựu quan trọng trong một số lĩnh vực, song những việc này vẫn gặp phải một số khó khăn cần giải quyết như:

- Đối với các cơ sở dữ liệu quá lớn với số lượng bản ghi lớn hơn 1012 bản ghi,

số thuộc tính lớn hơn 102 thuộc tính thì khó khăn trong việc tìm ra mối quan hệ giữa các thuộc tính và tổng quát hoá dữ liệu

- Một vấn đề khó khăn nữa là theo thời gian thì một số kết quả tri thức rút ra từ tập mẫu dữ liệu không còn phù hợp nữa

- Dữ liệu bị thiếu hoặc bị nhiễu

- Quan hệ giữa các trường thuộc tính phức tạp

- Khó khăn trong việc sử dụng các kết quả của data mining vào trong thực tế, việc kết hợp tri thức thu được thành hệ thống và biến đổi về dạng thích hợp cho

Trang 18

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

người dùng có thể hiểu và đánh giá được cũng như tích hợp kết quả khai phá dữ liệu với các hệ thống khác gặp khó khăn

Hướng phát triển của khám phá tri thức và KPDL là vượt qua được tất cả những thách thức trên; chú trọng vào việc mở rộng ứng dụng để đáp ứng cho mọi lĩnh vực trong đời sống xã hội; tăng tính hữu ích của việc KPDL trong những lĩnh vực đã sử dụng nó; tạo ra các phương pháp KPDL linh động, uyển chuyển để xử lý

số lượng dữ liệu lớn một cách hiệu quả; tạo ra tương tác người sử dụng tốt, giúp người sử dụng tham gia điều khiển quá trình KPDL, định hướng hệ thống KPDL trong việc phát hiện các mẫu đáng quan tâm; tích hợp KPDL vào trong các hệ cơ sở

dữ liệu; ứng dụng KPDL để KPDL web trực tuyến Một vấn đề quan trọng trong việc phát triển khám phá tri thức và KPDL đó là an toàn và bảo mật thông tin trong KPDL

Phần 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU

BẰNG CÂY QUYẾT ĐỊNH 2.1 Cây quyết định

2.1.1 Mô tả

Cây quyết định (decision tree) là công cụ dùng để phân lớp dữ kiện, nó có cấu trúc cây Mỗi cây quyết định là một tượng trưng cho một sự quyết định của một lớp các dữ kiện nào đó Mỗi nút trong cây là tên của một lớp hay một phép thử thuộc tính c ụ thể nào đó, phép thử này phân chia không gian trạng thái các dữ kiện tại nút đó thành các kết quả có thể đạt được của phép thử Mõi tập con được phân chia của phép thử là không gian con của các sự kiện, nó tương ứng với một vấn đề con của sự phân lớp

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

Trong lý thuyết quyết định, một cây quyết định (decision tree) là một đồ thị

của các quyết định và hậu quả có thể của nó (bao gồm cả rủi ro và hao phí tài nguyên ) Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được

Trang 19

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

mục tiêu mong muốn Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định Cây quyết định là một dạng đặc biệt của cấu trúc cây

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo

(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật /hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi nút trong (internal node)

tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị dự đoán của biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định

Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hoá một tập dữ liệu cho trước

Cây quyết định có 2 tên khác:

 Cây hồi quy : ước lượng các hàm giá có giá trị là số thực thay vì được sử dụng cho các nhiệm vụ phân loại

 Cây phân loại: có chứa các biến phân loại như: giới tính ( nam hay nữ), kết quả của một trận đấu (thắng hay thua)

Ví dụ: Cây quyết định phân lớp mức lương có các dữ kiện sau:

ID ( Định danh ), age (tuổi), salary (lương)

Phân lớp mức lương có 2 lớp: good, bad

Trang 20

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bảng 2.1 : Tập dữ liệu huấn luyện quyết định phân lớp mức lương

Cây quyết định phân lớp mức lương có dạng như sau:

Hình 2.1 Cây quyết đinh phân lớp mức lương

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

So với các phương pháp KPDL khác, cây quyết định có một số ưu điểm sau:

- Cây quyết định tương đối dễ hiểu Người ta có thể hiểu được mô hình của cây quyết định chỉ cần sau khi được giải thích ngắn gọn

- Kỹ thuật KPDL bằng cây quyết định chỉ đòi hỏi dữ liệu được chuẩn bị một cách cơ bản, đôi khi không cần thiết phải xử lý dữ liệu trước khi tiến hành khai phá Trong khi đó, các kỹ thuật khác thường đỏi hỏi phải có các thao tác xử lý dữ liệu

Age?

≤ 35 salary

Trang 21

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

phức tạp hơn như: chuẩn hoá dữ liệu, tạo ra các biến phụ hay loại bỏ các giá trị rỗng

- Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số, liên tục và dữ liệu dạng phân loại rời rạc Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm các thuộc tính có giá trị hoặc liên tục (dạng số) hoặc rời rạc Chẳng hạn,

chỉ có thể dùng cho các biến có giá trị bằng số

- Cây quyết định là một mô hình hộp trắng Nếu có thể quan sát một tình huống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó bằng logic boolean

- Có thể thẩm định một mô hình cây quyết định bằng các kiểm tra thống kê Điều này làm cho ta có thể tin tưởng vào kết quả của mô hình

Cây quyết định có thể xử lý một lượng rất lớn dữ liệu và đưa ra các kết quả phân tích trong thời gian đủ ngắn Chính vì vậy nó giúp cho các nhà chiến lược đưa

ra các quyết định kịp thời nhanh chóng dựa vào việc phân tích cây quyết định, trong thời đại công nghệ thông tin mà ai có được thông tin và đưa ra quyết định sớm thì người đó gần như nắm chắc phần thắng trong kinh doanh

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

Xây dựng cây quyết định là việc làm quan trọng nhất trong việc sử dụng cây quyết định để KPDL Có nhiều thuật toán khác nhau để xây dựng cây quyết định Một số thuật toán cơ bản là: CLS, ID3, C4.5, SLIQ, SPRINT, EC4.5, C5.0…Quá trình xây dựng cây quyết định dù được thực hiện bằng thuật toán nào, thì nói chung đều chia ra làm ba giai đoạn cơ bản như sau

Trang 22

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

đều được kiểm tra các thuộc tính đề tìm ra thuộc tính "chiến thắng" được chọn cho việc phân tách tiếp theo Nhãn của nút có phép tách này là nhãn của thuộc tính

"chiến thắng" đồng thời tập dữ liệu tại nút này được phân tách ra làm các tập con theo các giá trị của thuộc tính đó

b Cắt tỉa cây

Thông thường thì cây được sinh ra trong giai đoạn xây dựng và hoạt động tốt trên tập dữ liệu huấn luyện, tuy nhiên cây có thể hoạt động không chính xác trên các tập dữ liệu bị nhiễu hoặc bị thiếu Vì vậy cần phải có giai đoạn cắt tỉa cây để tối ưu hoá cây, đó là tối ưu hoá về độ lớn và độ chính xác của sự phân lớp các mẫu dữ liệu

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

Có thể chuyển đổi qua lại giữa mô hình cây quyết định và mô hình dạng luật Sau khi xây dựng được cây quyết định ta có thể rút ra được tập các luật dạng IF THEN và ngược lại Từ hai mô hình này chúng ta có thể rút ra được các quy luật, mô hình từ trong cơ sở dữ liệu

Ví dụ: từ cây quyết định phân lớp mức lương (Hình 2.1) ta có thể rút ra được

một số luật sau:

IF (Age <= 35) AND (salary<=40) THEN class = bad

IF (Age<=35) AND (salary>40) THEN class = good

Trang 23

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

IF (Age>35) AND (salary <=50 ) THEN class = bad

IF (Age > 35) AND(salary>50) THEN class = good

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

Kỹ thuật khai phá dữ liệu bằng cây quyết định là kỹ thuật thuật được trình bày trọng tâm trong luận văn này

Từ rất lâu, người ta đã quan tâm đến việc phân loại dữ liệu bằng cây quyết định Mỗi cách phân loại được ghi chép lại và sau đó được công bố như là một kỹ thuật KPDL Mỗi kỹ thuật theo thời gian và theo nhu cầu cần sử dụng đã dần bộc lộ những điểm mạnh và điểm yếu của mình, cũng như không ngừng được cải tiến để phục vụ mục đích KPDL

2.2.1 Thuật toán CLS

Xây dựng cây quyết định lần đầu tiên được Hoveland và Hint giới thiệu trong

Concept Learning System (CLS) vào cuối những năm 50 của thế kỷ 20 Sau đó gọi

tắt là thuật toán CLS Thuật toán CLS được thiết kế theo chiến lược chia để trị từ trên xuống và gồm các bước sau:

1) Tạo một nút T, nút này gồm tất cả các mẫu của tập huấn luyện

2) Nếu tất cả các mẫu trong T có thuộc tính quyết định mang giá trị "yes" (hay thuộc cùng một lớp), thì gán nhãn cho nút T là "yes" và dừng lại T lúc này là nút lá

3) Nếu tất cả các mẫu trong T có thuộc tính quyết định mang giá trị

"no" (hay thuộc cùng một lớp), thì gán nhãn cho nút T là "no" và dừng lại T lúc này là nút lá

4) Trường hợp ngược lại các mẫu của tập huấn luyện thuộc cả hai lớp

"yes" và "no" thì:

i Chọn một thuộc tính X trong tập thuộc tính của tập mẫu dữ liệu, X có các giá trị v1,v2, …vn

Trang 24

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

ii Chia tập mẫu trong T thành các tập con T1, T2,….,Tn chia theo giá trị của X

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

e

Trang 25

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bảng dữ liệu trên là một tập các mẫu mô tả quyết định đi chơi tennis Trong

bảng, thuộc tính Day đƣợc dùng để định danh (chỉ số) Các thuộc tính outlook

(quang cảnh bầu trời), temperature (nhiệt độ), humidity (độ ẩm), wind (gió) là các

thuộc tính ứng cử viên đƣợc dùng để xét Còn thuộc tính play tennis là thuộc tính

khẳng định đƣợc dùng để phân lớp các mẫu dữ liệu Khi đó cây quyết định đƣợc

xây dựng theo thuật toán CLS đối với tập dữ liệu trong bảng 2.2 đƣợc xây dựng nhƣ

sau:

- Chọn thuộc tính outlook = {sunny, overcast, rain} ta có cây nhƣ sau:

Hình 2.2 Với giá trị thuộc tính Outlook ="overcast" các giá trị thuộc tính play tennis của

{D3,D7,D12,D13} đếu có giá trị là yes, chúng thuộc cùng một lớp "yes", đây là nút

lá có nhãn là "yes"

Outlook

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

Overcast Sunny

Trang 26

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Tiếp theo chọn thuộc tính Humidity = {High, normal} để mở rộng cho nhánh bên trái của cây, chúng ta được cây như hình bên dưới

Overcast Sunny

High normal

humidity

Trang 27

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 2.4 Hì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ấn luyện trong bảng 2.2 với thứ tự các thuộc tính outlook, humidity, wind Nếu áp dụ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ạng nhƣ sau:

Outlook

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

Trang 28

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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)

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â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 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án

Outlook

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

Overcast Sunny

Humidity mild

Trang 29

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

ID3 được giới thiệu và trình bày trong mục Induction on Decision Trees, Machine 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ây quyế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ộ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 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ẫu huấ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ốt nhấ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ộc tính được chọn để mở rộng Quá trình này được thực hiện một cách đệ quy cho đến khi 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ệm Entropy 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á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

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 30

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 đó ta có:

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

n

i=1

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

= 0 Khi đó:

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

(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) 2  2  0

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ẳng hạ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 31

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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)2  2  1/ 2 1/ 2   1

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 cho 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ủa thuộc

n

i=1 Information(A ) = -log (p i)  Entropy(S) (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 theo công thức sau:

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 32

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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", 2 mẫ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)2  2  0.811

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ộ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 [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 33

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

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 định danh 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ó: S

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

Trang 34

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

-4)Entropy([4 ,0 ])

- (5/14)Entropy([3 ,2 ])

= 0.94 - (5/14)*0.877 - (4/14)* 0.516 - (5/14)* 0.877=0.166

(2.4)

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á

trị "no" [2+,2-]

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

Trang 35

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

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ó:

Trang 36

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

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

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 37

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

=> từ (2,4),(2.5),(2.6),(2.7) ta nhận thấy thuộc tính outlook có giá trị Gain

lớn nhất Vậy ta chọn thuộc tính outlook là thuộc tính đầu tiên đƣợc dùng để triển

khai cây

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

giá 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ần

khiế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

Overcast Sunny

Trang 38

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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ây tiế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

S Gain S temperature Entropy S Entropy S

S Entropy Entropy S Entropy S Entropy S

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

Trang 39

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Xét tiếp thuộc tính wind ={strong,weak}

+ Với outlook =sunny và wind = strong có 1 mẫu nhận giá trị "yes" và 1 mẫu nhận giá trị "no" [1+,1-]

+ Với outlook =sunny và wind = weak có 2 mẫu nhận giá trị "yes" và1 mẫu nhận giá trị "no" [2+

Ngày đăng: 09/10/2014, 12:53

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 thác 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 thác dữ liệu
[2]. Nguyễn Thanh Thuỷ, Khai phá dữ liệu - kỹ thuật và ứng dụng, Hà Nội, 2001 [3]. Võ Huỳnh Tâm - Trần Ngân Bình, Giáo trình trí tuệ nhân tạo, Chương 9 Họcmáy, Nhà xuất bản Đại học Cần Thơ Sách, tạp chí
Tiêu đề: Khai phá dữ liệu - kỹ thuật và ứng dụng", Hà Nội, 2001 [3]. Võ Huỳnh Tâm - Trần Ngân Bình, "Giáo trình trí tuệ nhân tạo, Chương 9 Học "máy
Nhà XB: Nhà xuất bản Đại học Cần Thơ
[4]. 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ê, 1991 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ê
[5]. Nguyễn Văn Thu, Khai phá dữ liệu bằng cây quyết định, luận văn thạc sĩ khoa học, đại học sƣ phạm Hà Nội, 2006Tài Liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Khai phá dữ liệu bằng cây quyết định
[6]. Jaiwei Han and Micheline Kamber, Data Mining: Concepts and Techniques (2001) Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
[10]. U.S. Fayyad, G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, Advances in Knowledge Discovery and Data Mining, AAAI/MIT Press, 1996.Danh Sách Website Sách, tạp chí
Tiêu đề: Advances in Knowledge Discovery and Data Mining
[11]. Knowledge Discovery Nuggets: http://www.kdnuggets.com/ Link
[12]. Wikipedia - Bách khoa toàn thƣ mở - Cây quyế t đị nh . http://en.wikipedia.org/wiki/Decision tree Link
[7]. G.piatetsky - Shapiro and W.J. Frawley. AAAI/MIT Press.. Knowledge Discovery in Databases Khác

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 9)
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 16)
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 25)
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 43)
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 49)
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 57)
Bảng 2.5 Bảng đánh giá độ tuổi và mức lươ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
Bảng 2.5 Bảng đánh giá độ tuổi và mức lương (Trang 59)
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 62)
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 64)
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 66)
Hình 2.17 Cây trước khi cắt tỉa  Tiến hành tính lỗi cho các nút trong ta 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 2.17 Cây trước khi cắt tỉa Tiến hành tính lỗi cho các nút trong ta có: (Trang 68)
Hình 2.18 Cây sau 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.18 Cây sau khi cắt tỉa (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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