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

Tìm hiểu về khai phá dữ liệu bằng cây quyết định và ứng dụng hướng nghiệp

83 140 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 83
Dung lượng 1,19 MB

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

Nội dung

+ Áp dụng thuật toán cơ bản trong cây quyết định để phân tích kết quả học tập của học sinh.. CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU1.1 Khái niệm Khai phá dữ liệu là một tập hợp các kỹ t

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

VIỆN CÔNG NGHỆ THÔNG TIN

TRẦN THỊ THÙY LINH

TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH VÀ ỨNG

DỤNG HƯỚNG NGHIỆP

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Chuyên ngành: Sư phạm Tin học

Người hướng dẫn khoa học

ThS Đỗ Thị Lan Anh

HÀ NỘI, 2019

Trang 2

LỜI CẢM ƠN

Em xin chân thành cảm ơn cô giáo ThS Đỗ Thị Lan Anh, giảng viênViện Công nghệ thông tin, trường Đại học Sư phạm Hà Nội 2, người đã trựctiếp hướng dẫn em trong suốt thời gian qua để em có thể hoàn thành khóaluận này

Em xin gửi lời cảm ơn tới các thầy, cô giáo trong Viện Công nghệthông tin, các bạn lớp K41 – Sư Phạm tin học đã tạo điều kiện, động viênkhích lệ em trong suốt quá trình học tập và nghiên cứu

Do thời gian nghiên cứu còn hạn chế nên những vấn đề mà em trình bàytrong khóa luận sẽ không tránh khỏi những thiếu xót Em kính mong nhậnđược những ý kiến đóng góp từ thầy cô và các bạn để bài khóa luận của emđược hoàn thiện hơn

Em xin trân thành cảm ơn!

Hà Nội, ngày tháng 5 năm 2019

Sinh viên

Trần Thị Thùy Linh

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan khóa luận này được hoàn thành bằng sự cố gắng củabản thân, dưới sự hướng dẫn tận tình của cô giáo ThS Đỗ Thị Lan Anh vàtham khảo một số tài liệu đã được ghi rõ nguồn

Khóa luận hoàn toàn không sao chép từ tài liệu có sẵn nào Kết quảnghiên cứu không trùng lặp với các tác giả khác

Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!

Hà Nội, ngày tháng 5 năm 2019

Sinh viên

Trần Thị Thùy Linh

Trang 4

DANH MỤC CÁC HÌNH

Hình 2.1: Cây quyết định được xây dựng theo thuật toán CLS 11

Hình 2.2: Mở rộng nhánh bên trái của cây quyết định 12

Hình 2.3: Mở rộng nhánh bên phải cây quyết định 13

Hình 2.4: Phân chia theo các giá trị của thuộc tính 32

Hình 2.5: Cây quyết định có ngưỡng cho phép tách 34

Hình 2.6: Kết quả sử dụng thuật toán C4.5 35

Hình 3.1: Đăng nhập 39

Hình 3.2: Đăng ký 39

Hình 3.3: Làm trắc nghiệm 40

Hình 3.4: Kết quả 40

Hình 3.5: Kết quả 41

Hình 3.6: Lưu trữ thông tin 41

Trang 5

DANH MỤC CÁC BẢNG

Bảng 2.1 Tập dữ liệu huấn luyện quyết định đi Picnic 11 Bảng 2.2 Thống kê mối quan hệ mức độ thực phẩm cần cung cấp và độ tuổi 29 Bảng 2.3 Minh họa tìm ngưỡng 33

Trang 6

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC

Trang 7

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích và nhiệm vụ nghiên cứu 1

3 Phương pháp nghiên cứu 1

4 Nội dung chính của đề tài 2

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3

1.1 Khái niệm 3

1.2 Các bước khai phá dữ liệu 3

1.2.1 Tìm hiểu bài toán 3

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

1.2.3 Khai phá dữ liệu và lựa chọn giải thuật phù hợp 3

1.2.4 Phân tích đánh giá 3

1.2.5 Sử dụng kết quả 3

1.3 Một số kỹ thuật khai phá dữ liệu 4

1.3.1 Phân lớp dữ liệu 4

1.3.2 Phân cụm dữ liệu 5

1.3.3 Sử dụng luật kết hợp 6

1.3.4 Sử dụng cây quyết định 7

CHƯƠNG 2: CÁC PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 8

2.1 Kỹ thuật khai phá dữ liệu sử dụng cây quyết định 8

2.1.1 Các kiểu cây quyết định 8

2.1.2 Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu 8

2.1.3 Xây dựng cây quyết định 9

2.2 Các thuật toán sử dụng cây quyết định 9

Trang 8

2.2.1 Thuật toán CLS 9

2.2.2 Thuật toán ID3 13

2.2.3 Thuật toán C4.5 25

2.3 Cắt tỉa cây quyết định 35

2.4 Đánh giá về các thuật toán 36

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG 38

3.1 Lựa chọn thuật toán 38

3.2 Lựa chọn ngôn ngữ lập trình 38

3.3 Chương trình 38

3.3.1 Phát biểu bài toán 38

3.3.2 Yêu cầu bài toán 38

3.3.3 Giao diện chương trình 39

3.3.4 Đánh giá kết quả chương trình 41

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43

TÀI LIỆU THAM KHẢO 44

Trang 9

1 Lý do chọn đề tài

MỞ ĐẦU

Trang 10

Ngày nay, với sự phát triển về mọi mặt của đời sống từ văn hóa, giáo dụccho đến công nghệ và đặc biệt lĩnh vực công nghệ thông tin có những bước pháttriển chóng mặt Cùng với sự phát triển thì lượng dữ liệu thu thập được ngàycàng nhiều, lượng thông tin được lưu trữ trên các thiết bị ngày càng tăng lên.

Để tìm ra những thông tin hữu ích trong lượng dữ liệu khổng lồ ngày càng khó.Chính vì vậy mà hiện nay đã phát triển một kỹ thuật mới nhằm tìm ra nhữngthông tin hữu ích đó chính là khai phá dữ liệu

Nghề nghiệp là một vấn đề quan trọng đối với mỗi con người, có rất nhiềucác bạn đang rất băn khoăn về việc lựa chọn nghề nghiệp cho bản thân mình,đặc biệt đối với những học sinh lớp 12 Do vậy việc hướng nghiệp cho học sinhtrung học phổ thông là hết sức cần thiết

Trước những thực tế đó, tôi chọn đề tài: “Tìm hiểu về khai phá dữ liệu bằng cây quyết định và ứng dụng hướng nghiệp” cho khóa luận tốt nghiệp

của mình

2 Mục đích và nhiệm vụ nghiên cứu

- Mục đích: Từ việc nghiên cứu phương pháp khai phá dữ liệu bằng câyquyết định để xây dựng mô hình phân tích kết quả học tập và đưa ra tư vấn nghềnghiệp cho học sinh

- Nhiệm vụ nghiên cứu:

+ Tìm hiểu các kỹ thuật về khai phá dữ liệu, các thuật toán được áp dụngcho từng kỹ thuật

+ Áp dụng thuật toán cơ bản trong cây quyết định để phân tích kết quả học tập của học sinh

3 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lí thuyết:

Tìm hiểu và lựa chọn phương pháp khai phá dữ liệu cho phù hợp

- Phương pháp nghiên cứu thu thập thông tin, phân tích số liệu:

Trang 11

Thu thập thống kê số liệu từ khảo sát sinh viên, phân tích các dữ liệu,tham khảo tài liệu của các chuyên gia hướng nghiệp cho học sinh để có được cáckinh nghiệm

4 Nội dung chính của đề tài

Ngoài phần mở đầu, kết luận, tài liệu tham khảo, phụ lục luận văn bao gồm

3 chương

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

CHƯƠNG 2: CÁC PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Khái niệm

Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự độngkhai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữliệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữliệu đó

[6]

Các tên gọi khác như: Knowledge Mining (khai phá tri thức), knowledgeextraction (chắt lọc tri thức), data/patern analysis (phân tích dữ liệu/mẫu), dataarchaeoloogy (khảo cổ dữ liệu), datadredging (nạo vét dữ liệu),

1.2 Các bước khai phá dữ liệu

1.2.1 Tìm hiểu bài toán

Đây là bước đầu trong khai phá dữ liệu nhằm xác định các tri thức củalĩnh vực, các mục đích của bài toán và xây dựng được bài toán cụ thể giúp địnhhướng cho giai đoạn tiếp theo trong khai phá dữ liệu

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

Đây là giai đoạn quan trọng nhất của quá trình khai phá vì thông tin thuthập được chưa đầy đủ, chính xác cần phải xử lý, chọn lọc nếu không sẽ dẫn đếnnhững kết quả không mong muốn trong khai phá dữ liệu

1.2.3 Khai phá dữ liệu và lựa chọn giải thuật phù hợp

Sau khi dữ liệu được thu thập, xử lý sẽ bắt đầu lựa chọn phương pháp khaiphá phù hợp với dữ liệu có được

Trang 13

- Xây dựng mô hình: Là mô tả một tập những lớp được định nghĩa trướctrong đó: Mỗi bộ hoặc mẫu được gán thuộc về một lớp được định nghĩa trướcnhư là được xác định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sửdụng trong việc sử dụng mô hình được gọi là tập huấn luyện Mô hình được biểudiễn là những luật phân lớp, cây quyết định và những công thức toán học.

- Sử dụng mô hình: Việc sử dụng mô hình phục vụ cho mục đích phân lớp

dữ liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến Trướckhi sử dụng mô hình người ta thường phải đánh giá tính chính xát của mô hìnhtrong đó: Nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớpcủa mô hình, độ chính xác là phần trăm của tập hợp mẫu kiêm tra mà phân loạiđúng bởi mô hình, tập kiểm tra là độc lập với tập huấn luyện [2]

* Một số thuật toán về phân lớp dữ liệu:

- Phân lớp dữ liệu với quy nạp cây quyết định:

+ Cây quyết định là một dạng đặc biệt của cấu trúc cây Mỗi nút bên trongbiểu thị một sự kiểm tra trên một thuộc tính Mỗi nhánh biểu thị kết quả cụ thểcủa sự kiểm tra đó Mỗi nút lá biểu thị một nhãn lớp

+ Cách áp dụng cây quyết định cho phân lớp dữ liệu: Những đối tượngcần phân lớp, giá trị các thuộc tính của đối tượng được đưa vào phân tích trêncây quyết định Sau quá trình phân tích, mỗi đối tượng tương ứng có một đường

đi từ gốc đến một nút lá chứa kết quả dự báo kết quả phân lớp cho những đốitượng đó

- Phân lớp dữ liệu với Bayesian:

Trang 14

+ Trong lĩnh vực khai phá dữ liệu, Bayesian là kỹ thuật phân lớp dựa vàoviệc tính xác suất có điều kiện.

Trang 15

+ P(H/X) là xác suất hậu của H điều kiện X.

+ P(H) là tiền xác suất của H

+ P(X/H) là hậu xác suất của X xác định điều kiện trên H

+ P(X) là tiền xác suất của X

1.3.2 Phân cụm dữ liệu

Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành cáccụm dữ liệu sao cho các đối tượng trong cùng một cụm là tương đồng Trongquá trình phân cụm dữ liệu thì vấn đề trở ngại lớn nhất đó là nhiễu Nhiễu xuấthiện trong quá trình thu thập thông tin chưa chính xác Vì vậy phải khử nhiễutrong quá trình phân cụm dữ liệu

* Các vấn đề con cơ bản của phân cụm dữ liệu cần giải quyết đó là:

- Biểu diễn dữ liệu

- Xây dựng hàm tính độ tương tự

- Xây dựng các tiêu chuẩn phân cụm

- Xây dựng mô hình cho cấu trúc cụm dữ liệu

- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo

- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm

* Một số kiểu dữ liệu trong phân cụm:

- Phân loại dựa trên kích thước miền:

Cách phân loại này phân biệt các đối tượng dữ liệu dựa trên lích thướcmiền của đối tượng đó, hay là các giá trị khác nhau của vùng đó Giả sử cơ sở dữliệu X và k đối tượng Nếu a, b, c là 3 đối tượng của X thì chúng sẽ có dạng:

a = (a1, a2, a3, , ay), b = (b1, b2, b3, , by), c = (c1, c2, c3, , cy)

Với y là số chiều và ai, bi, ci với 1 ≤ i ≤ y là các thuộc tính tương ứng củacác đối tượng

Trang 16

Các loại dữ liệu dựa trên kích thước miền:

+ Thuộc tính liên tục: Miền giá trị của các thuộc tính này là các miền liêntục Ví dụ như âm thanh, nhiệt độ

+ Thuộc tính rời rạc: Miền giá trị của thuộc tính này là các miền các giá trịrời rạc Ví dụ như số quả táo, số bông hoa

- Phân loại dựa vào phép đo:

Giả sử hai đối tượng a, b và giá trị thuộc tính x của mỗi đối tượng tươngứng là ax, bx Ta có các lớp sau:

+ Thuộc tính định danh: Các giá trị ở lớp này chỉ có phép toán so sánh bằng

* Các phương pháp phân cụm:

- Phương pháp phân cấp

- Phương pháp phân hoạch

- Phương pháp dựa trên mật độ

- Phương pháp dựa vào lưới

- Phương pháp dựa vào mô hình

1.3.3 Sử dụng luật kết hợp

Định nghĩa: Một luật kết hợp thường được kí hiệu là xRy hoặc X →Y,trong đó X, Y là tập con các mục của tập mục I và X ∩ Y = Ø; X được gọi làtiên đề và Y được gọi là hệ quả của luật hay X là giả thiết còn Y là kết luận.[2]

Hai tham số quan trọng của luật kết hợp là độ hỗ trợ và độ tin cậy Nó làmthước đo cho tính tin cậy và mức độ chính xác của luật

Trang 17

Mục đích của luật kết hợp là tìm ra mối quan hệ giữa các đối tượng trong

cơ sở dữ liệu Từ đó ứng dụng các luật vừa tìm được vào những mục đích cụ thể

* Một số thuật toán cơ bản trong khai phá dữ liệu

- Thuật toán APPIORI

- Thuật toán FB – Growwth

- Thuật toán AIS

- Thuật toán STEAM

1.3.4 Sử dụng cây quyết định

Cây quyết định là cấu trúc biểu diễn dưới dạng cây Trong đó mỗi núttrong 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ệngiá 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ụctiêu Đỉnh trên cùng gọi là gốc

Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn Cây quyết định nhằm hỗ trợ quá trình ra quyết định

Trang 18

CHƯƠNG 2: CÁC PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU

BẰNG CÂY QUYẾT ĐỊNH 2.1 Kỹ thuật khai phá dữ liệu sử dụng cây quyết định

2.1.1 Các kiểu cây quyết định

Có hai kiểu cây quyết định:

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

- Cây phân loại: Nếu x có các nhiệm vụ phân loại như: Thời tiết (nắng haymưa), kết quả (thắng hay thua)

2.1.2 Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu

- Cây quyết định có thể xử lý các dữ liệu bằng số, liên tục và dữ liệu dạngphân loại rời rạc Các kỹ thuật khác thường xuyên để phân tích các bộ dữ liệuchỉ gồm các thuộc tính có giá trị 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

- Cây quyết định là một mô hình hộp trắng Nếu có thể quan xát một tìnhhuống cho trước trong một mô hình, thì dễ dàng có thể 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ách 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ý tốt một đối tượng dữ liệu lớn trong thời gianngắn Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trongthời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trênphân tích của cây quyết định

Trang 19

* Nhược điểm:

- Xảy ra lỗi khi có quá nhiều lớp: Một cây quyết định chỉ thao tác vớinhững lớp giá trị nhị phân Số khác lại có thể chỉ định các bản ghi vào một sốlớp bất kỳ, những dễ xảy ra lỗi khi số ví dụ huấn luyện ứng với một lớp là nhỏ

- Chi phí tính toán đắt: Vì cây quyết định có nhiều node trong trước khiđến lá cuối cùng Tại từng node cần tính một độ đo trên từng thuộc tính, vớithuộc tính liên tục phải thêm thao tác sắp xếp lại dữ liệu theo thứ tự giá trị củatập thuộc tính đó Sau đó mới có thể chọn được thuộc tính phát triển và tươngứng là một phân chia tốt nhất

2.1.3 Xây dựng cây quyết định

Để xây dựng cây quyết định có thể thực hiện bằng thuật toán nhất đinhnào đó, nhưng quá trình xây dựng cây gồm 3 giai đoạn:

- Giai đoạn 1: Tạo dựng cây

Giai đoạn này phát triển bắt đầu từ gốc, đến từng nhánh và phát triển quynạp theo cách thức chia để trị để đến khi đạt được cây quyết định với tất cả các

lá được gán nhãn lớp

- Giai đoạn 2: Cắt tỉa cây

Đây là công việc để tối ưu hóa cây, khái quát hóa để tăng độ chính xáccủa cây bằng cách loại bỏ sự phụ thuộc vào mức độ nhiễu

- Giai đoạn 3: Đánh giá cây

Dùng để đánh giá độ chính xác của cây kết quả Tiêu chí đánh giá là tổng

số mẫu được phân lớp chính xác trên tổng số mẫu đưa vào

2.2 Các thuật toán sử dụng cây quyết định

Trang 20

thuộc tính được phân loại hay rời rạc Cùng với một tập dữ liệu đầu vào, thuậttoán có thể cho các kết quả khác nhau Do thuật toán này chưa có tiêu chí để lựachọn thuộc tính trong quá trình xây dựng Thuật toán CLS khá đơn giản, dễ càiđặt phù hợp giải quyết trong các nhiệm vụ đơn giản.

Nó gồm các bước sau:

- 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

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

- 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

+ Tạo n nút con Ti (i=1,2, n) với nút cha là T

+ Tạo các nhánh nối từ nút T đến các nút Ti (i = 1, 2, 3, n) Thực hiện lặpcho các nút con Ti (i = 1, 2, n) và quay lại bước 2

Ví dụ: Cho tập dữ liệu huấn luyện thể hiện trong bảng, xây dựng cây quyếtđịnh đi Picnic

Trang 21

Bảng 2.1: Tập dữ liệu huấn luyện quyết định đi Picnic

Bảng dữ liệu trên là một tập các mẫu mô tả quyết định đi Picnic Ở bảngtrên, thuộc tính Ngày được dùng để định danh (chỉ số) Các thuộc tính quần, áo,giầy, phương tiện là các thuộc tính ứng cử viên được dùng để xét Còn thuộctính đi picnic 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ệutrong bảng được xây dựng như sau:

Chọn thuộc tính Áo = {Áo sơ mi, Áo phông, Áo dài} ta có cây như sau:

Áo[N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14]

Áo dài Áo phông Áo sơ mi

[N1, N2, N8, N9, N11] [N3, N7, N12, N13] [N4, N5, N6, N10, N14]

Hình 2.1: Cây quyết định được xây dựng theo thuật toán CLS

Với giá trị thuộc tính Áo = ”Áo dài “ các giá trị thuộc tính Đi Picnic của

{N3, N7, N12, N13} đều có giá trị là có, chúng thuộc cùng lớp “có” Đây là nút

lá có nhãn là “có”

Trang 22

Tiếp theo chọn thuộc tính Giầy = {bốt, thể thao} để mở rộng cho nhánh bên tráicủa cây, chúng ta được cây như hình 2.2 như sau:

Áo[N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14]

Áo dài Áo phông Áo sơ mi

Trang 23

Giầy [N3, N7, N12, N13] [N4, N5, N6, N10, N14][N1, N2, N8, N9, N11] Có Không

Bốt Giầy thể thao

Không Có

Hình 2.2: Mở rộng nhánh bên trái của cây quyết định

Chọn thuộc tính Phương tiện = {xe bus, xe máy} để mở rộng cho nhánhbên phải chúng, ta được cây con sau:

Trang 24

Áo[N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14]

Áo dài Áo phông Áo sơ mi

Trang 25

Giầy [N3, N7, N12, N13] Phương tiện[N1, N2, N8, N9, N11] Có [N4, N5, N6, N10, N14]Bốt Giầy thể thao Xe máy Xe bus

Không Có Không Có

Hình 2.3: Mở rộng nhánh bên phải cây quyết định

Hình 2.3 là kết quả thu được khi áp dụng thuật toán CLS cho tập dữ liệuhuấn luyện trong bảng 2.1 với thứ tự các thuộc tính áo, giầy, phương tiện Nếu

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

2.2.2 Thuật toán ID3

Thuật toán ID3 được công bố bởi Quainlan vào cuối thập niên 70 của thế

kỷ XX Sau đó, thuật toán ID3 được giới thiệu và trình bày trong mục Induction

on decision tree, machine learning năm 1986 ID3 là một thuật toán đơn giảnnhưng tỏ ra thành công trong nhiều lĩnh vực ID3 thể hiện các khái niệm ở dạngcâ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 đốitượ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 Giải thuậtcó:

- Đầ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ó

Trang 26

- Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trongtập dữ liệu rèn luyện và hy vọng phân loại đúng cho cả các ví dụ chưa gặp trongtương lai.

Với ví dụ ở trên, xét xem có đi Picnic ứng với điều kiện nào đó không Giảithuật ID3 sẽ học cây quyết định từ tập hợp các ví dụ sau:

Tập dữ liệu này bao gồm 14 ví dụ Mỗi ví dụ bao gồm: Áo, quần, giầy,phương tiện và có thuộc tính “đi Picnic” (có hay không) “Có” có nghĩa là có đipicnic trong điều kiện đó, còn “không” nghĩa là sẽ không đi trong trường hợptương ứng Ta chỉ có hai giá trị để phân loại là Có và không Thuộc tính “điPicnic” được gọi là thuộc tính đích

Mỗi thuộc tính đều có một tập giá trị hữu hạn Thuộc tính Áo có ba giá trị:

Áo dài, áo phông, áo sơ mi, thuộc tính quần có 3 giá trị: Chân váy, quần vải,quần jean, thuộc tính giầy có 2 giá trị: Bốt, giầy thể thao, thuộc tính phương tiện

có 2 giá trị: Xe bus, xe máy Các giá trị này chính là các ký hiệu dùng để biểudiễn bài toán

Từ tập dữ liệu rèn luyện này, giải thuật ID3 sẽ học một cây quyết định cókhả năng phân loại đúng đắn các ví dụ trong tập này, đồng thời hy vọng trongtương lai nó cũng sẽ phân loại đúng các ví dụ không nằm trong tập này

Sau khi giải thuật quy nạp được cây quyết định thì cây này sẽ sử dụng đểphân loại tất cả các vi dụ hay thể hiện trong tương lai Và cây quyết định sẽkhông thay đổi cho đến khi ta thực hiện giải thuật ID3 trên một tập dữ liệu rènluyện khác

Ứng với một tập dữ liệu rèn luyện sẽ có nhiều cây quyết định có thể phânloại đúng tất cả các ví dụ trong tập dữ liệu rèn luyện Kích cỡ của các cây quyếtđịnh khác nhau tùy thuộc vào thứ tự các kiểm tra trên thuộc tính

* Hàm xây dựng cây quyết định ID3 từ trên xuống

ID3 xây dựng cây quyết định theo cách từ trên xuống Lưu ý rằng với bất

kỳ thuộc tính nào chúng ta cũng có thể phân vùng tập hợp các ví dụ rèn luyện

Trang 27

thành những tập con tách rời, mà ở đó mọi ví dụ trong một phân vùng có mộtgiá trị

Trang 28

chung cho thuộc tính đó ID3 chọn một thuộc tính để kiểm tra tại nút hiện tại củacây và dùng trắc nghiệm này để phân vùng tập hợp các ví dụ Thuật toán khi đóxây dựng theo cách đệ quy một cây con cho từng phân vùng Việc này tiếp tụccho đến khi mọi thành viên của phân vùng đều nằm trong cùng một lớp, nút đótrở thành nút lá của cây.

Vì thứ tự trắc nghiệm của các trắc nghiệm là rất quan trọng đối với xâydựng một cây quyết định đơn giản ID3 phụ thuộc rất nhiều vào tiêu chuẩn chọnlựa trắc nghiệm để làm gốc của cây

* Giải thuật xây dựng thuật toán ID3

Tên hàm: Genrate_decision_tree

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

Output: Cây quyết định T

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

Function Genrate_decision_tree (S, A)

Begin

If mọi mẫu trong tập S đều nằm trong 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 thenReturn nút lá được gán nhãn bởi tuyển của tất cả các lớp trongtập S (Lớp phổ biến nhất trong tập S)

Else

Trang 29

Chọn thuộc tínhtest_attribute làthuộc tính có giátrị Gain lớn nhấttrong A với tậpmẫu S, lấy nólàm gốc cho câyhiện tại

Trang 30

End

End

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

Đặt vào phân vùng Si các mẫu trong tập mẫu S

có giá trị ai tại thuộc tính test_attribute;

Gọi Genrate_ decision _ tree (Si, attribute _ list_ test _ attribute ), gắn kết quả vào nhánh ai

Trang 31

* Các khả năng có thể có của các phân vùng:

- Trong quá trình xây dựng cây quyết định, phân vùng của một nhánh mới

- Không còn ví dụ nào => Giải thuật trở về mặc nhiên

- Không còn thuộc tính nào => Nghĩa là dữ liệu bị nhiễu, khi đó giải thuậtphải sử dụng một luật nào đó để xử lý, chẳng hạn như luật đa số (lớp nào cónhiều ví dụ hơn sẽ được dùng để gán nhãn cho nút lá trở về)

- Để hiểu hơn về thuật toán ID3, ta xét ví dụ được cho trong bảng 2.1 vớitập dữ liệu S Tập S gồm 14 mẫu dữ liệu, thuộc tính Ngày là thuộc tính địnhdanh Các thuộc tính ứng viên, thuộc tính đi Picnic là thuộc tính phân lớp Ta có:

Trang 32

Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán – log2p bit cho thông điệp có xác suấ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

+ Entropy có giá trị nằm trong khoảng từ [0 1]

+ Entropy(s) = 0  Tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hayS

Trang 33

Trong đó, emtropy đo độ pha trộn của tập S theo công thức sau:

Entropy(S) = -P+ log2 (P+) - P- log2 (P-)

Để tổng quát hơn, đối với tập con S có n phân lớp thì ta có công thức sau:

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

Trang 34

= - 9 log 9

- 5 log

5

= 0.940

Trang 35

1

14 2 14 14

2

14

* Lượng thông tin thu được đo mức độ giảm Entropy mong đợi

Gain là đại lượng dùng để đo tính hiệu quả của một thuộc tính được lựachọn cho việc phân lớp Đại lượng này được 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, 3, , n) giá trị informationcủa thuộc tính Ai ký hiệu là Info(Ai) được xác định bởi công thức:

Info (Ai)= - ∑� log2(pi) = Entropy(S)

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

Gain (S,A) = Info (A) – Entropy(A)

= Entropy (S) - ∑

| �� | 𝐸���𝑟�� (𝑆��)𝑦Trong đó:

- Xét thuộc tính Áo của tập S

Thuộc tính Áo nhận các giá trị ={Áo dài, Áo phông, Áo sơ mi} Trong đó

có 5 trường hợp áo = áo dài, có 4 trường hợp hợp áo = áo phông, có 5 trườnghợp áo = áo sơ mi

Trong 5 trường hợp ứng với thuộc tính áo = áo dài thì có 2 mẫu nhận giátrị “ có”, 3 mẫu nhận giá trị “không”

Trang 36

Trong 4 trường hợp ứng với thuộc tính áo = áo phông thì có 4 mẫu nhậngiá trị “ có”, 0 mẫu nhận giá trị “không”.

Trong 5 trường hợp ứng với thuộc tính áo = áo sơ mi có 3 mẫu nhận giá trị

“ có”, 2 mẫu nhận giá trị “không”

Áo

Áo dài Áo phông Áo sơ mi

Trang 37

- log5 2

5 4

log2

5 5

14

áo sơ mi )

= 0,94 - 5 14 14× 0.971 - 4 × 0 - 5 × 0.971 = 0.246

14

- Tương tự xét thuộc tính quần của tập S

Trang 38

4 3

4 3 2 1

2 1

Entropy(SQuần vải ) = - 6

Entropy(SQuần ngố ) = - 4

log2 6log2 4-

Trang 39

Bố 3

6

6 2 2

3 6

3 6

4 1

4 1

Gain (S, Quần ) = Entropy(S) - 4 Entropy

] [ 6+, 2- ]Vậy khi đó ta có :

log2

-7 7

Trang 40

Gain (S, Phương tiện) = Entropy(S) - 7 Entropy

(S

14

xe bus) - 7 Entropy (S

14

xe máy )

Ngày đăng: 10/09/2019, 15:45

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