Tải bản đầy đủ (.pdf) (37 trang)

ỨNG DỤNG KHAI PHÁ DỮ LIỆU XÂY DỰNG HỆ HỖ TRỢ TUYỂN SINH TẠI TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 10600805

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 37 trang )

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

NGUYỄN THỊ BÌNH MINH

TÊN ĐỀ TÀI LUẬN VĂN:
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
XÂY DỰNG HỆ HỖ TRỢ TUYỂN SINH
TẠI TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG

TÓM TẮT LUẬN VĂN THẠC SĨ

Đà Nẵng – Năm 2019


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

NGUYỄN THỊ BÌNH MINH

TÊN ĐỀ TÀI LUẬN VĂN:
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
XÂY DỰNG HỆ HỖ TRỢ TUYỂN SINH
TẠI TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG
Chun ngành: Hệ thống thơng tin
Mã số: 8480104
TĨM TẮT LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TSKH. TRẦN QUỐC CHIẾN


Đà Nẵng – Năm 2019


2
MỤC LỤC

MỞ ĐẦU .................................................................................................................................... 1
1. Lý do chọn đề tài ......................................................................................................................... 1
2. Mục tiêu và nội dung nghiên cứu .............................................................................................. 1

2.1. Mục tiêu của đề tài ...................................................................................................... 1
2.2. Nội dung nghiên cứu.................................................................................................... 1
3. Đối tượng và phạm vi nghiên cứu.............................................................................................. 2

3.1. Đối tượng nghiên cứu của đề tài ................................................................................. 2
3.2. Phạm vi nghiên cứu ..................................................................................................... 2
4. Phương pháp nghiên cứu ........................................................................................................... 2

4.1. Nghiên cứu lý thuyết .................................................................................................... 2
4.2. Nghiên cứu thực nghiệm .............................................................................................. 2
5. Ý nghĩa đề tài nghiên cứu ........................................................................................................... 2

5.1. Ý nghĩa khoa học ......................................................................................................... 2
5.2. Ý nghĩa thực tiễn .......................................................................................................... 3
6. Kết quả dự kiến ........................................................................................................................... 3
7. Bố cục luận văn ........................................................................................................................... 3

CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU .......... 4
1.1. Phát hiện tri thức ....................................................................................................................... 4
1.2.Các bước trong phát hiện tri thức ............................................................................................. 4

1.4. Khai phá dữ liệu ......................................................................................................................... 4
1.5. Mơ hình khai phá dữ liệu .......................................................................................................... 4
1.6. Các phương pháp khai phá dữ liệu .......................................................................................... 4
1.7. Kết luận Chương 1 ..................................................................................................................... 4

CHƯƠNG 2 KỸ THUẬT KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG ........................................ 6
2.1. Cây quyết định............................................................................................................................ 6
2.2. Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu: ..................................................... 6
2.3. Thuật toán ID3 ........................................................................................................................... 6

2.3.1. Tổng quan ................................................................................................................. 6
2.3.2. Giải thuật thuật toán ID3 ......................................................................................... 7
2.3.4. Ví dụ minh hoạ thuật tốn ID3 ................................................................................. 8
2.3.5. Nhận xét: ................................................................................................................ 11
2.4. Thuật toán C4.5........................................................................................................................ 11

2.4.1. Tổng quan ............................................................................................................... 11


3
2.4.2. Đoạn giả mã ........................................................................................................... 11
2.4.3.Thuật toán C4.5 dùng Gain- Entropy ...................................................................... 12
2.4.4. Mơ tả cách tính độ lợi thơng tin ............................................................................ 13
2.4.4. Tạo luật từ cây quyết định trên ............................................................................... 19
2.4.5. Nhận xét: ................................................................................................................ 20
2.5. Thuật toán Naive Bayes .......................................................................................................... 21

2.5.1. Giới thiệu ................................................................................................................ 21
2.5.2. Định lý Bayes .......................................................................................................... 21
2.5.3. Nhận xét: ................................................................................................................ 22

2.6.Các giai đoạn của quá trình khai phá dữ liệu ........................................................................ 22

2.6.1. Hình thành, xác định và định nghĩa vấn đề ............................................................ 22
3.6.4. Khai phá dữ liệu ..................................................................................................... 22
2.6.5. Giải thích kết quả và đánh giá mơ hình.................................................................. 22
2.7. Khai phá dữ liệu trong giáo dục ............................................................................................ 22
2.8. Khai phá dữ liệu sinh viên Trường Đại học Phạm Văn Đồng ............................................ 22
2.9. Kết luận Chương 2 ................................................................................................................... 22

CHƯƠNG 3 ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG PHÂN TÍCH VÀ HỖ TRỢ HỌC
SINH CHỌN NGÀNH HỌC VÀO TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG ................... 23
3.1. Giới thiệu về Trường Đại học Phạm Văn Đồng .................................................................... 23
3.2. Giới thiệu về công cụ khai phá dữ liệu ................................................................................... 23
3.3. Mơ hình và bài tốn xây dựng hệ hỗ trợ tư vấn tuyển sinh. ................................................ 23

3.3.1. Mơ hình .................................................................................................................. 23
3.3.2. Giới thiệu bài tốn ................................................................................................. 24
3.4. Mơ tả việc tổng hợp dữ liệu cho bài toán ............................................................................... 24
3.5. Chuẩn hoá dữ liệu đầu vào cho thuật toán ........................................................................... 24

3.5.1. Lọc thuộc tính (Filtering Attributes) ...................................................................... 24
3.5.2. Rời rạc hóa dữ liệu(Discretization) ........................................................................ 24
3.6. Phân tích cơ sở dữ liệu dữ liệu ................................................................................................ 24

3.6.1. Tìm hiểu và chuẩn bị dữ liệu .................................................................................. 24
3.6.2. Mơ hình hóa dữ liệu .............................................................................................. 24
3.6.3. Đánh giá mơ hình .................................................................................................. 25
3.7. Khai phá dữ liệu rút ra tri thức .............................................................................................. 26
3.8. Biểu đồ triển khai hệ thống ..................................................................................................... 27
3.9. Triển khai chương trình .......................................................................................................... 28



4
3.9.1. Cài đặt chương trình ............................................................................................. 28
3.9.2. Hướng dẫn sử dụng ............................................................................................... 28
3.10. Hình ảnh trích ra từ chương trình demo ............................................................................. 28

3.10.1. Giao diện thiết lập cơ sở dữ liệu ......................................................................... 28
3.10.2. Giao diện chương trình tư vấn chọn ngành cho học sinh: ................................... 28
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................................... 29
1. Kết luận ...................................................................................................................................... 29
2. Hướng phát triển....................................................................................................................... 29

DANH MỤC TÀI LIỆU THAM KHẢO ................................................................................. 31
Tiếng Việt......................................................................................................................................... 31
Tiếng Anh ........................................................................................................................................ 31
Tài liệu internet ............................................................................................................................... 32


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong tình hình hiện nay, với sự phát triển nhanh của công nghệ thông tin thì
con người rơi vào sự bùng nổ thơng tin. Giữa cả một kho thông tin khổng lồ lựa chọn
được một kho tri thức là cần thiết. Trước tình hình đó, giải pháp hiệu quả giúp con
người phân tích khối lượng lớn dữ liệu đó là khai phá dữ liệu.
Hiện nay, hàng năm có một số lượng lớn học sinh, sinh viên tốt nghiệp các
trường đại học, cao đẳng, trung cấp chuyên nghiệp trong cả nước ra trường mà chưa
tìm được việc làm hoặc làm trái ngành. Đây là vấn đề khó khăn cho xã hội. Tuy nhiên,

các cơng ty, doanh nghiệp vẫn thiếu những nguồn nhân lực đáp ứng yêu cầu công việc
của họ. Do vậy, việc chọn ngành học ngay từ lúc mới bước vào trường đại học, cao
đẳng theo đúng năng lực, niềm đam mê, nghề nghiệp yêu thích, sở trường, thế mạnh
của bản thân, xu hướng xã hội, yêu cầu cơ bản của nhà tuyển dụng là rất cần thiết phải
định hướng ngay từ đầu.
Hiện nay, Trường Đại học Phạm Văn Đồng hiện tại cũng chưa có chương trình
tư vấn tuyển sinh nào tự động để giúp học sinh chọn nghề trước khi chọn ngành đăng
ký vào trường.
Bộ Giáo dục và Đào tạo cũng chưa có phần mềm hay Website hướng dẫn dẫn
học sinh chọn nghề phù hợp trước khi học sinh bước vào các trường Đại học, Cao
đẳng.
Để hỗ trợ tư vấn cho học sinh quyết định trong việc chọn ngành học vào các
trường đại học, cao đẳng thì bộ phận tư vấn tuyển sinh rất quan trọng, giúp các em học
sinh chọn ngành học cho đúng để có định hướng nghề nghiệp cho tương lai của mình.
Do đó, với kỹ thuật khai phá dữ liệu, tôi nghiên cứu đề tài “Khai phá dữ liệu và xây
dựng hệ hỗ trợ tuyển sinh tại Trường Đại học Phạm Văn Đờng” làm luận văn tốt
nghiệp của mình.
2. Mục tiêu và nội dung nghiên cứu
2.1. Mục tiêu của đề tài

Nghiên cứu ứng dụng thuật toán cây quyết định vào tập dữ liệu mẫu để xây
dựng chương trình hệ hỗ trợ tư vấn tuyển sinh tại Trường Đại học Phạm Văn Đồng.
2.2. Nội dung nghiên cứu

- Tổng quan về khai phá dữ liệu, tập dữ liệu mẫu, thuật toán ID3, thuật toán
C4.5, thuật toán Naive Bayes và cây quyết định.
- Quy trình tuyển sinh của trường:


2


3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu của đề tài

+ Kỹ thuật khai phá dữ liệu cụ thể là cây quyết định thuật toán ID3, thuật tốn
C4.5 và thuật tốn Naive Bayes
+ Học sinh, thí sinh tự do.
+ Quy trình tuyển sinh và quy chế xét tuyển.
3.2. Phạm vi nghiên cứu
+ Kỹ thuật phân lớp: cây quyết định, thuật toán ID3,thuật toán C4.5 và thuật
toán Naive Bayes
+ Công cụ khai phá dữ liệu, SQL server và ngơn ngữ lập trình Visual Studio
trên nền Web.
+ Cơng tác tư vấn tuyển sinh Trường Đại học Phạm Văn Đồng.
4. Phương pháp nghiên cứu
4.1. Nghiên cứu lý thuyết
- Nghiên cứu về khai phá dữ liệu và các tài liệu liên quan.
- Nghiên cứu thực trạng tuyển sinh tại trường Đại học Phạm Văn Đồng, tìm
hiểu nhu cầu thực tế của người học, một số tiêu chí cơ bản của các nhà tuyển dụng và
nhu cầu việc làm ngoài xã hội.
4.2. Nghiên cứu thực nghiệm
- Tiến hành xây dựng các giải pháp và xây dựng ứng dụng đánh giá.
- Phân tích thiết kế cơ sở dữ liệu tuyển sinh và kết quả học tập của Sinh viên từ
đó so sánh và dự đoán kết quả học tập của từng ngành, xây dựng hệ thống chương
trình ứng dụng, triển khai xây dựng chương trình ứng dụng, kiểm tra, thử nghiệm và
đánh giá kết quả.
5. Ý nghĩa đề tài nghiên cứu
5.1. Ý nghĩa khoa học
- Tìm hiểu cây quyết định trong khai phá dữ liệu.
- Xây dựng ra một hệ thống tư vấn hỗ trợ tư vấn tuyển sinh của trường.



3

5.2. Ý nghĩa thực tiễn
- Thu thập và thiết kế được kho cơ sở dữ liệu phục vụ cho quá trình tư vấn
tuyển sinh.
- Góp phần nâng cao hiệu quả trong tuyển sinh cũng như sự phát triển trong
việc dạy và học của trường.
6. Kết quả dự kiến
- Xây dựng được hệ hỗ trợ tuyển sinh của Trường dựa trên lý thuyết khai phá
dữ liệu.
7. Bố cục luận văn
Lời cam đoan
Lời cảm ơn
Mục lục
Danh mục từ viết tắt
Danh mục bảng
Mở đầu
Luận văn gồm 3 chương: Chương 1: Tổng quan về phát hiện tri thức và khai
phá dữ liệu; Chương 2:Cơ sở lý thuyết về khai phá dữ liệu; Chương 3: Ứng dụng xây
dựng hệ hỗ trợ tư vấn tuyển sinh và đánh giá kết quả.
Kết luận


4

CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI
PHÁ DỮ LIỆU
Chương này đề cập đến các giai đoạn của quy trình phát hiện tri thức, các vấn

đề chính của khai phá dữ liệu, các phương pháp, các nhiệm vụ trong khai phá dữ liệu.
1.1. Phát hiện tri thức
Khái niệm: Ngoài thuật ngữ phát hiện tri thức, người ta cịn dùng một số thuật
ngữ khác có ý nghĩa tương tự như phân tích dữ liệu/mẫu, khai mỏ dữ liệu, khai phá dữ
liệu… Nhưng tóm lại, về bản chất phát hiện tri thức liên quan đến việc phân tích các
dữ liệu và sử dụng các kỹ thuật đặc biệt để tìm ra các mẫu đặc trưng trong một tập dữ
liệu khổng lồ. Có nhiều định nghĩa về phát hiện tri thức đã được các tác giả khác nhau
đưa ra, theo định nghĩa của Fayyad: “KDD (Knowledge Discovery in Databases)là quá
trình không tầm thường của việc xác định các mẫu tiềm ẩn có tính hợp lệ, mới lạ, có
ích và có thể hiểu được trong dữ liệu”.
Tiến trình khai phá tri thức bao gồm các giai đoạn: Chuẩn bị dữ liệu, tìm kiếm
mơ hình, khai phá dữ liệu, đánh giá mẫu và sử dụng tri thức khai phá được. Thuật ngữ
“mẫu tiềm ẩn” được hiểu là mối quan hệ trong dữ liệu chẳng hạn như những sinh viên
học giỏi toán và tiếng anh thì có điểm trung bình cuối khóa cao, “hợp lệ” bởi vì chứng
minh được tính đúng của mơ hình. Thuật ngữ “mới lạ” hàm ý rằng những mẫu khai
phá được là không biết trước.
1.2.Các bước trong phát hiện tri thức
1.3. Các ứng dụng của phát hiện tri thức
1.4. Khai phá dữ liệu
1.5. Mơ hình khai phá dữ liệu
1.6. Các phương pháp khai phá dữ liệu
1.7. Kết luận Chương 1
Phát hiện tri thức từ dữ liệu là quá trình khám phá mẫu có ích, chưa biết từ khối dữ
liệu lớn. Quá trình phát hiện tri thức bao gồm nhiều giai đoạn từ việc xác định mục tiêu
của bài toán đến chuẩn bị liệu và cuối cùng là kiểm định kết quả và sử dụng tri thức thu
được. Khai phá dữ liệu là một giai đoạn quan trọng trong toàn bộ quá trình phát hiện tri
thức.
KDD được ứng dụng rộng rãi trong nhiều lĩnh vực: thiên văn, sinh học, y tế,
thương mại, an ninh quốc phòng, đặc biệt trong lĩnh vực giáo dục. Khai phá dữ liệu
trong giáo dục tuy là ngành mới nổi nhưng thu hút được sự quan tâm của đông đảo

cộng đồng khoa học. Ứng dụng khai phá dữ liệu trong giáo dục nhằm tìm lời giải đáp


5

cho các câu hỏi trong giáo dục, làm sáng tỏ tiến trình học tập từ đó hỗ trợ cho các nhà
quản lý giáo dục trong việc ra quyết định để nâng cao hiệu suất giảng dạy và học tập,
nâng cao năng lực cạnh tranh của trường học.
Chương này trình bày kỹ thuật xây dựng cây quyết định bằng thuật toán ID3.
Cây quyết định được dùng trong các bài toán phân lớp, dự báo. Cây quyết định được
dùng rộng rãi vì những ưu điểm của nó cho kết quả trực quan, dễ hiểu và xử lý được
dữ liệu kiểu số, dữ liệu có giá trị là tên thể loại, dữ liệu rời rạc, dữ liệu thiếu và xử lý
tốt một lượng dữ liệu lớn trong thời gian ngắn.


6

CHƯƠNG 2 KỸ THUẬT KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG
2.1. Cây quyết định
Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được gán nhãn
là tên các thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mơ
tả các lớp khác nhau. Các đối tượng được phân lớp theo các đường đi trên cây, qua các
cạnh tương ứng với các giá trị, thuộc tính của đối tượng tới lá.
Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa
về mặt thống kê. Các luật có dạng Nếu P thì Q, với P là mệnh đề đúng với một phần
trong cơ sở dữ liệu, Q là mệnh đề dự đốn.
Cây quyết định và luật có ưu điểm là hình thức mơ tả đơn giản, mơ hình suy
diễn khá dễ hiểu đối với người sử dụng. Tuy nhiên, giới hạn của nó là mơ tả cây và
luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn về cả độ chính

xác của mơ hình.
Trong luận văn tơi ứng dụng kỹ thuật khai phá tập trung vào vấn đề: Dự đoán
được ngành học mà học sinh nên đăng ký vào trường Đại học Phạm Văn Đồng. Ứng
dụng khai phá dữ liệu trong giáo dục nhằm tìm lời giải đáp cho các câu hỏi trong giáo
dục, làm sáng tỏ tiến trình học tập từ đó hỗ trợ cho cho sinh viên chọn đúng ngành học
và góp phần nâng cao hiệu suất giảng dạy và học tập, nâng cao năng lực cạnh tranh
của trường học cũng như đáp ứng nhu cầu của xã hội.
2.2. Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu:
2.3. Thuật toán ID3
2.3.1. Tổng quan
Thuật toán ID3 (Iterative Dichotomiser 3) được phát triển bởi Quiland
(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 tố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 được xem như một cải tiến của thuật
toán CLS (CLS được Hovland Hint giới thiệu trong Concept Learning System vào
những năm 50 của thế kỷ 20) với khả năng lựa chọn thuộc tính tốt nhất để tiếp tục
triển khai cây tạo mỗi bước. ID3 xây dựng cây quyết định từ trên xuống (Top-Down).
Có nhiều thuật toán khác nhau để xây dựng cây quyết định như: CLS, ID3,
C4.5, SPRINT, C5.0…Nhưng nói chung xây dựng cây quyết định gồm 3 giai đoạn cơ
bản:


7

Xây dựng cây: Thực hiện chia một cách đệ quy tập mẫu dữ liệu huấn luyện
cho đến khi các mẫu ở nút lá thuộc cùng một lớp.
 Cắt tỉa cây: Là việc làm dùng để tối ưu hóa cây. Cắt tỉa cây chính là trộn một
cây con vào trong một nút lá.
 Đá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.3.2. Giải thuật thuật toán ID3

Bước 1: Tính chỉ số thơng tin (Information) cho sự phân lớp:
Info (p,n) = -

p
p
n
n
log2
log2
pn
pn
pn
pn

Trong đó:
 Cho P, N là hai lớp và S là tập dữ liệu có p phân tử lớp P và n phần tử lớp N.
Bước 2: Tính Entropy của thuộc tính A(hay thơng tin mong muốn cần thiết để
phân lớp các đối tượng trong tất cả các cây con Si) có cơng thức là:
v

Entropy ( A) =


i 1

pi  ni

Info(pi , ni)
pn

Trong đó:
 Cho các tập {S1, S2,…Sv} là một phân hoạch trên tập S, khi sử dụng thuộctính
A.
 Cho mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N.
 Entropy = 0 nếu tất cả các thành viên của S đều thuộc cùng 1 lớp.
 Entropy = 1 nếu tập hợp chứa số lượng bằng nhau các thành viên thuộc lớp
dương hoặc lớp âm. Nếu các số này khác nhau thì Entropy ở giữa 0 và 1.
Bước 3: Độ lợi thông tin cần thiết của thuộc tính A là:
Gain (A) = Info (p,n) – Entropy (A)
2.3.3. Giải thuật bằng giả mã:
- Mục đích: tìm cây thoả mãn tập mẫu
- Ý tưởng: (đệ quy) chọn thuộc tính quan trọng nhất làm gốc của cây/cây con.

ID3(TapMauHuanLuyen, ThuocTinhPhanLop, ThuocTinhQD)
{


8
(1) Tạo 1 nút gốc Root cho cây
(2) IfTapMauHuanLuyen+
ThenReturn cây chỉ có 1 nút Root, với nhãn +
(3) IfTapMauHuanLuyen–
ThenReturn cây chỉ có 1 nút Root, với nhãn –
(4) IfThuocTinhQDrỗng
ThenReturn cây chỉ có 1 nút Root, với nhãn = giá trị thường
xuất hiện nhất của ThuocTinhPhanLoptrong TapMauHuanLuyen
(5) Else

{


A ← thuộc tính trong ThuocTinhQDcho phép phân loại tốt nhất
TapMauHuanLuyen



Thuộc tính quyết định của nút gốc ← A



Với các giá trị vi có thể có của A,



Thêm 1 nhánh mới dưới gốc, ứng với phép kiểm tra A = vi



Đặt TapMauHuanLuyenvi = tập con của TapMauHuanLuyen
với giá trị thuộctính A = vi

 IfTapMauHuanLuyenvi rỗngThen dưới nhánh mới này, thêm 1
lá với nhãn = giá trịthường xuất hiện nhất của ThuocTinhQDtrong
TapMauHuanLuyen
 ElseID3(TapMauHuanLuyenvi,ThuocTinhPhanLop,
ThuocTinhQD – {A})) //dưới nhánh mới này thêm cây con bằng
cách gọi đệ quy
}

(6) Return Root
}

2.3.4. Ví dụ minh hoạ thuật tốn ID3
Dựa vào các thuộc tính Học lực, Điểm rèn luyện, Khu vực, Điểm tuyển sinh ta
dự đốn xem sinh viên có thôi học hay không. Xây dựng cây quyết định bằng thuật
toán ID3.


9

Bảng 2.1: Bảng dữ liệu ví dụ về sinh viên
Học lực

Điểm rèn luyện

Khu vực

Điểm tuyển sinh

Thơi học

Yếu

Thấp

1

TB




Trung bình

Thấp

2

TB



Trung bình

Thấp

3

Cao



Yếu

Cao

3

Cao




Khá

Thấp

3

Cao



Trung bình

Thấp

2

Cao



Khá

Cao

2

Cao




Yếu

Cao

2

TB



Yếu

Thấp

1

Cao



Khá

Thấp

1

TB


Khơng

Khá

Cao

1

TB

Khơng

Trung bình

Cao

3

Cao

Khơng

Khá

Thấp

2

TB


Khơng

Trung bình

Cao

2

TB

Khơng

Xét ví dụ với tập dữ luyện như bảng 2.1 ở trên
Ta có:
Lớp P: Thơi học = “Có” = 9
Lớp N: Thơi học = “Khơng” = 5
Bước 1: Tính chỉ số thông tin cần thiết để phân lớp một mẫu được cho là:
(p,n) = Info (9,5) = -

9
9
5
5
log 2
log 2 = 0.940
14
14
14
14


Xét thuộc tính “Học lực” ta có :
○ “Học lực” = “Khá”:
Info([2,3]) = – 2/5log2(2/5) – 3/5log2(3/5) = 0.971
○ “Học lực” = “Yếu”:
Info([4,0]) = – 4/4log2(4/4) – 0/4log2(0/4) = 0
○ “Học lực” = “TB”:

Info


10

Info([3,2]) = – 3/5log2(3/5) – 2/5log2(2/5) = 0.971
Bước 2: Entropy cho phép phân tách trên thuộc tính “Học lực” :
Entropy (Học lực) =

5
4
5
Info(2,3)+
Info(4,0) + Info(3,2)
14
14
14

= (5/14) * 0.971 + (4/14) * 0 + (5/14) * 0.971
= 0.694
Bước 3: Gain(“Học lực”) = Info(9,5) – Entropy(“Học lực”)
= 0.940 – 0.694 = 0.246
Tương tự cho các thuộc tính cịn lại ta có:

Gain(“Học lực”) = 0.246
Gain(“Điểm tuyển sinh”) = 0.151
Gain(“Điểm rèn luyện”) = 0.048
Gain(“Khu vực”)= 0.029
Kết quả trên cho thấy thuộc tính “Học lực” có độ lợi thơng tin lớn nhất nên
được chọn làm thuộc tính để phân tách. Tiếp tục tương tự ta sẽ được cây quyết định
cuối cùng có dạng :

Hình 2.2: Kết quả cây quyết định với tập dữ liệu học trong bảng 2.1


11

2.3.5. Nhận xét:
- Ưu điểm:
+ Kết quả của quá trình huấn luyện (học) được biểu diễn dưới dạng luật If Then nên dễ hiểu với con người, được sử dụng chủ yếu trong các hệ chuyên gia.
+ Rút luật từ cây quyết định: đi từ nút gốc đến nút lá, lấy các phép thử làm tiền
đề và phân loại của nút lá làm kết quả.
+ Nói chung, các giải thuật cây quyết định cho độ chính xác khá cao.
- Nhược điểm:
+ Hạn chế lớn nhất của ID3 và Cây quyết định nói chung là việc nếu một điểm

dữ liệu mới rơi vào nhầmnhánh ở ngay những lần phân chia đầu tiên, kết quả cuối
cùng sẽ khác đi rất nhiều. Việc rơi vào nhầm nhánh này rất dễ xảy ra trong trường hợp
thuộc tính liên tục được chia thành nhiều nhóm nhỏ, vì hai điểm có thuộc tính tương
ứng rất gần nhau có thể rơi vào hai nhóm khác nhau.
+ Việc xếp hạng các thuộc tính để phân nhánh dựa vào lần phân nhánh trước đó
và bỏ qua sự phụ thuộc lẫn nhau giữa các thuộc tính.
+ Khi dùng độ lợi thơng tin (Infomation Gain) để xác định thuộc tính rẽ nhánh
thì các thuộc tính có nhiều giá trị thường được ưu tiên hơn.

+ Thuật toán ID3 yêu cầu các thuộc tính mục tiêu phải là giá trị rời rạc.
+ Với việc tính tốn giá trị Gain để lựa chọn thuộc tính tối ưu cho việc triển
khai cây, thuật tốn ID3 được xem là một cải tiến của thuật toán CLS. Tuy nhiên, thuật
tốn ID3 khơng có khả năng xử lý đối với những dữ liệu có thuộc tính số - thuộc tính
liên tục (numeric attribute) và khó khăn trong xử lý dữ liệu thiếu (missing data) và dữ
liệu nhiễu (noisy data). Vấn đề này sẽ được giải quyết trong thuật toán C4.5.
2.4. Thuật toán C4.5
2.4.1. Tổng quan
Thuật toán C4.5 (thuật toán cải tiến của ID3) là một thuật toán phân lớp tạo ra
cây quyết định được phát triển bởi J. Ross Quinlan. Cây quyết định được tạo ra bởi
thuật toán C4.5 có đặc điểm đơn giản, dễ sử dụng, dễ hiểu bởi các luật tạo ra ở nút lá
của cây có thể biểu diễn dưới dạng câu lệnh If - Then.
2.4.2. Đoạn giả mã
1.
2.

3.

Function C45_builder(tập_A, tập_thuộc_tính)
{

if (mọi record trong tập_A đều nằm trong cùng một lớp)


12
4.

{

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


5.
6.

}

7.

else

8.

{

9.

if (tập_thuộc_tính là rỗng)

10.

{

11.

return nút lá được gán nhãn bởi tuyển của tất cảcáclớp
trongtập_A;

12.

}


13.

else

14.

{

15.

Chọn một thuộc tính P, lấy nó làm gốc cho cây hiện
tại;

16.

Xóa P ra khỏitập_thuộc_tính;

17.

For each (giá trị V củaP)

18.

{

19.

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


20.

Đặt vào phân_vùng V các ví dụ trong tập_A có
giá trị V tại thuộc tínhP;

21.

Gọi C45_builder(phân_vùngV, tập_thuộc_tính), gắn
kết quả vào nhánhV;

21.

}

22.

}

23.
24.

}
}

2.4.3.Thuật tốn C4.5 dùng Gain- Entropy
Cây được tạo ra sau khi huấn luyện có kích thước càng nhỏ thì độ chính xác
càng cao và càng dễ hiểu nên thuật toán C4.5 dựa vào độ đo để lựa chọn thuộc tính
tốt nhất. Hai độ đo được sử dụng trong C4.5 là informationGain (chỉ số độ lợi
thông tin)và GainRatio (tỉ lệ độ lợi thông tin).
S: Tập huấn luyện



13

Si: Lớp của tập các lớp Ci(i=1,…,m)
aj: Giá trị thuộc tính A(j=1,…,v)
Chỉ số thơng tin (Information) cho sự phân lớp:
𝑚

𝑆𝑖
𝑆𝑖
𝑙𝑜𝑔2
𝑆
𝑖=1 𝑆

𝐼𝑛𝑓𝑜(𝑆1, 𝑆2, … , 𝑆𝑚 ) = − ∑

Chỉ số thông tin mong muốn (Entropy) cho sự phân lớp:
Giả sử thuộc tính A được chọn để huấn luyện, A={S’1, S’2,…,S’3}
khi đóchỉ số thơng tin mong muốncủa A được tính theo công thức như sau:
𝑚 𝑆′
𝑆 ′𝑗
𝑆 ′ 𝑖𝑗
𝑖𝑗
(− ∑
𝑙𝑜𝑔
2 ′ )

𝑆𝑗
𝑗=1 𝑆

𝑖=1 𝑆 𝑗
𝑣

𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐴) = ∑

Trong đó S’ij là các trường hợp phân lớp củaS’
Chỉ số độ lợi thông tin cho phân lớp:
Chỉ số độ lợi thơng tin có được bởi việc phân nhánh trên thuộc tính A được tính
nhưsau:
Gain(A)=Info(S1,S2,…,Sm)−Entropy(A)
Thuộc tính có độ lợi thơng tin lớn nhất được chọn làm tiêu chí phân chia.
Tỉ lệ độ lợi thơng tin:
𝑆 ′𝑗
𝑆 ′𝑗
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜 (𝐴) = − ∑
𝑙𝑜𝑔2
𝑆
𝑗=1 𝑆
𝑣

𝐺𝑎𝑖𝑛𝑅𝑎𝑡𝑖𝑜 =

𝐺𝑎𝑖𝑛(𝐴)
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜 (𝐴)

2.4.4. Mô tả cách tính độ lợi thơng tin
Ví dụ về thuật toán C4.5: Quy hoạch cán bộ
Qua xem xét và phân tích ta thấy cần chú trọng các thơng tin sau đây:
+ Tuổi (Tuoi): Có 2 độ tuổi được xem xét kỹ theo tiêu chí quy hoạch cán bộ là:
Trên 40 tuổi và dưới 40 tuổi.

+ Trình độ chun mơn (TrinhDoCM): Là trình độ được đào tạo của các nhân
sự đê xem xét đưa vào quy hoạch. Có 3 loại trình độ: Đại học chính quy (ĐHCQ), Vừa
làm vừa học (VLVH) và Khơng (Khong) là những người có bằng cấp dưới đại học.


14

+ Trình độ lý luận chính trị (LLChinhTri) của nhân sự được chia thành 3 dạng
như sau: Cao cấp lý luận chính trị hoặc cử nhân chính trị (CaoCap), hoặc Cao cấp lý
luận chính trị khơng tập trung (CCkhongTT), hoặc những người chưa có cao cấp lý
luận chính trị là khơng (Khong).
+ Trình độ Ngoại ngữ (NgoaiNgu): Những người có chứng chỉ ngoại ngữ B trở
lên (Yes) và chưa có chứng chỉ B trở xuống (No).
Các yếu tố trên chính là tập thuộc tính mà dựa vào tập thuộc tính này để dự
đốn thuộc tính Quy hoạch (QuyHoach).
Từ những phân tích trên ta có tập huấn luyện mẫu như sau:
Bảng 2.2: Bảng dữ liệu huấn luyện
TT

Tuoi

TrinhDoCM

1

<40

ĐHCQ

2


>=40

3

LLChinhTri

NgoaiNgu

QuyHoach

CCkhongTT

Yes

Yes

ĐHCQ

CCkhongTT

Yes

Yes

<40

ĐHCQ

CCkhongTT


No

No

4

>=40

ĐHCQ

CCkhongTT

No

No

5

<40

VLVH

CCkhongTT

Yes

No

6


>=40

VLVH

CCkhongTT

Yes

Yes

7

<40

VLVH

CCkhongTT

No

No

8

>=40

VLVH

CCkhongTT


No

No

9

>=40

Khong

CCkhongTT

Yes

No

10

<40

ĐHCQ

CaoCap

Yes

Yes

11


>=40

ĐHCQ

CaoCap

Yes

Yes

12

<40

ĐHCQ

CaoCap

No

No

13

>=40

ĐHCQ

CaoCap


No

No

14

<40

VLVH

CaoCap

Yes

Yes

15

>=40

VLVH

CaoCap

Yes

Yes

16


<40

VLVH

CaoCap

No

No

17

>=40

VLVH

CaoCap

No

No

18

>=40

Khong

CaoCap


Yes

No

19

<40

ĐHCQ

Khong

Yes

No

20

>=40

ĐHCQ

Khong

Yes

No

21


<40

ĐHCQ

Khong

No

No

22

>=40

ĐHCQ

Khong

No

No


15
23

<40

VLVH


Khong

Yes

No

24

>=40

VLVH

Khong

Yes

No

25

<40

VLVH

Khong

No

No


26

>=40

VLVH

Khong

No

No

Từ ví dụ trên, áp dụng thuật tốn C4.5 dùng tập dữ liệu huấn luyện để xây dựng
cây quyết định cho bài toán xây dựng quy hoạch cán bộ.
Để xây dựng cây quyết định ta phải xác định nút gốc để phân tách cây. Thuộc
tính có đội lợi thơng tin lớn nhất sẽ được chọn làm nút gốc.
Gọi S là tập thuộc tính đích. Có 26 mẫu và trong đó:
Yes = 7; No = 19
Áp dụng cơng thức tính Entropy ta có:
Entropy(S) = - (7/26). log2 (7/26) - (19/26). log2(19/26) = 0.84
Thuộc tính "Tuoi" có 2 giá trị là: >=40, <40
+ Với "Tuoi" = "<40":
Info([3,9]) = - (3/12). log2 (3/12) - (9/12). log2(9/12) = 0.81
+ Với "Tuoi" = ">=40":
Info([4,10]) = - (4/14). log2(4/14) - (10/14). log2(10/14) = 0.86
Entropy của S đối với thuộc tính "Tuoi":
Entropy(S,Tuoi) = (12/26) * 0.81 + (14/26) *0.86 = 0.84
Độ lợi thông tin tương ứng là:
Gain(S,Tuoi) = Entropy(S) - Entropy(S,Tuoi) = 0.84 - 0.84 = 0

Tỷ suất lợi ích Gain Ratio là:
+ SplitInfo(S,Tuoi) = -(12/26).log2 (12/26) - (14/26).log2 (14/26) = 1
+ GainRatio(S,Tuoi) = Gain(S,Tuoi) / SplitInfo(S,Tuoi) = 0/1 = 0
Bằng cách tương tự ta tính được Entropy, độ lợi thông tin Gain và tỷ suất lợi ích
của các thuộc tính còn lại như sau:
* Thuộc tính "TrinhDoCM" có 3 giá trị là: ĐHCQ, VLVH, Khong


16
Bảng 2.3: Bảng dữ liệu thuộc tính TrinhDoCM
QuyHoach

Số
lượng

Yes

No

ĐHCQ

12

4

8

0.67

VLVH


12

3

9

0.82

Khong

2

0

2

0

TrinhDoCM

Info

Entropy

Gain

0.69

0.15


GainRatio

0.15/1.31
= 0.11

* Thuộc tính "LLChinhTri " có 3 thuộc tính: CaoCap, CCkhongTT, Khong
Bảng 2.4: Bảng dữ liệu thuộc tính LLChinhTri
QuyHoach

LLChinhTri

Số
lượng

Yes

No

CaoCap

9

4

5

0.97

CCkhongTT


9

3

6

0.89

Khong

7

0

6

0

Info

Entropy

Gain

GainRatio

0.64

0.2


0.2/1.59
= 0.13

* Thuộc tính "NgoaiNgu " có 2 giá trị là: Yes và No
Bảng 2.5: Bảng dữ liệu thuộc tính NgoaiNgu
QuyHoach

NgoaiNgu

Số
lượng

Yes

No

Yes

14

7

7

1.00

No

12


0

13

0

Info

Entropy

Gain

0.54

0.3

GainRatio

0.3/1 =
0.3

Ta nhận thấy rằng GainRatio(S,NgoaiNgu) = 0.3 là lớn nhất nên thuộc tính
NgoaiNgu có khả năng phân loại tốt nhất.
Ứng với NgoaiNgu = No có Entropy = 0 nên tại nhánh này sẽ là nút có phân
lớp là No.
Ứng với NgoaiNgu = Yes ta có bảng dữ liệu sau:
Bảng 2.6: Bảng dữ liệu thuộc tính NgoaiNgu = yes
TT


Tuoi

TrinhDoCM

1

<40

ĐHCQ

2

>=40

3
4

LLChinhTri

NgoaiNgu

QuyHoach

CCkhongTT

Yes

Yes

ĐHCQ


CCkhongTT

Yes

Yes

<40

VLVH

CCkhongTT

Yes

No

>=40

VLVH

CCkhongTT

Yes

Yes


17
5


>=40

Khong

CCkhongTT

Yes

No

6

<40

ĐHCQ

CaoCap

Yes

Yes

7

>=40

ĐHCQ

CaoCap


Yes

Yes

8

<40

VLVH

CaoCap

Yes

Yes

9

>=40

VLVH

CaoCap

Yes

Yes

10


>=40

Khong

CaoCap

Yes

No

11

<40

ĐHCQ

Khong

Yes

No

12

>=40

ĐHCQ

Khong


Yes

No

13

<40

VLVH

Khong

Yes

No

14

>=40

VLVH

Khong

Yes

No

Ta có nút gốc như sau:

NgoaiNgu

"No"

"Yes"

No

Hình 2.3: Nút gốc của cây quyết định
Gọi S1 là tập thuộc tính đích. Có 14 mẫu, trong đó:
"QuyHoach" = Yes = 7; "QuyHoach" = No = 7
Áp dụng cơng thức tính Entropy cho S1 như sau:
Entropy(S1) = - (7/14). log2 (7/14) - (7/14). log2(7/14) = 1
Tiếp theo ta tính Gain, SplitInfo và GainRatio của các thuộc tính cịn lại như
sau:
Bảng 2.7: Bảng dữ liệu so sánh về GainRatio
Thuộc tính

Gain

SplitInfo

GainRatio

Tuoi

0

0.99


0

TrinhDoCM

0.18

1.45

0.12

LLChinhTri

0.40

1.58

0.25


18

Từ kết quả trên ta thấy GainRatio (S1,LLChinhTri) = 0.25 là lớn nhất nên chọn
thuộc tính LLChinhTri làm nhánh phân tách cây.
Với NgoaiNgu = Yes Ta có nhánh cây như sau:

LLChinhTri

"Khong"

"CaoCap"

"CCkhongTT"

Yes
Yes

No

Hình 2.4: Cây quyết định với nhánh NgoaiNgu = Yes

Với "LLChinhTri" = "Khong" có Entropy = 0 dó đó tại nút này sẽ là nút lá với
phân lớp là No.
Tương tự như vậy đối với các thuộc tính cịn lại. Ta có cây hồn chỉnh như sau:


19

NgoaiNgu

"No"
"Yes"

LLChinhTri

No

"CaoCap"

"Khong"

TrinhDoCM


"CCkhongTT"

TrinhDoCM

No

"ĐHCQ"
"VLVH"
"VLVH"

"Khong"

"Khong"
"ĐHCQ"

Yes

No

Tuoi

">=40"

Yes

Yes

Yes


"<40"

No

Hình 2.5: Cây quyết định hồn chỉnh
2.4.4. Tạo luật từ cây quyết định trên
Từ cây quyết định trên ta rút ra được một số luật sau:
Luật 1: If (NgoaiNgu = No) then QuyHoach = No

No


20

Luật 2: If (NgoaiNgu = Yes) and (LLChinhTri = Khong) then QuyHoach =
No
Luật 3: If (NgoaiNgu = Yes) and if (LLChinhTri = CaoCap) and (TrinhDoCM
= Khong) then QuyHoach = No.
Luật 4:If (NgoaiNgu = Yes) and if (LLChinhTri = CaoCap) and (TrinhDoCM
= ĐHCQ) then QuyHoach = Yes.
Luật 5:If (NgoaiNgu = Yes) and if (LLChinhTri = CaoCap) and (TrinhDoCM =
VLVH) then QuyHoach = yes
Luật 6:If (NgoaiNgu = Yes) and if (LLChinhTri = CCKhongTT) and
(TrinhDoCM = VLVH) and (Tuoi = >=40) then QuyHoach = Yes
Luật 7:If (NgoaiNgu = Yes) and (TrinhDoCM = VLVH) and (Tuoi = >=40)
and (LLChinhTri = CCKhongTT) and (Tuoi = <40) then QuyHoach = No.
Từ việc phân tích các dữ liệu ban đầu, luận văn đã xây dựng được cây quyết
định từ thuật tốn C4.5. Cây quyết định này có khả năng phân loại đúng đắn các mẫu
trong tập dữ liệu đã cho. Từ đó, thấy rằng đây là một công cụ biểu diễn rất trực quan
phù hợp trong việc phân tích các dữ liệu mà dựa trên tập luật này ta đi giải quyết được

bài toán của luận văn đặt ra.
Tập luật rút ra được từ cây quyết định trên gồm 7 luật đơn giản, dễ hiểu và dễ
sử dụng. Luận văn sẽ ứng dụng thuật toán này để giải quyết vấn đề về việc hỗ trợ học
sinh chọn ngành học trước khi bước vào Trường Đại học Phạm Văn Đồng.
2.4.5. Nhận xét:
- Ưu điểm:
+ Thuật tốnC4.5 có cơ chế sinh cây quyết định hiệu quả và chặt chẽ bằng việc
sử dụng độ đo lựa chọn thuộc tính tốt nhất là information-gain. Các cơ chế xử lý với
giá trị lỗi, thiếu và chống “quá vừa” dữ liệu của C4.5 cùng với cơ chế cắt tỉa cây đã tạo
nên sức mạnh của C4.5.
+ Mơ hình phân lớp C4.5 cịn có phần chuyển đổi từ cây quyết định sang luật
dạng if-then, làm tăng độ chính xác và tính dễ hiểu của kết quả phân lớp.
+ Xử lý được các thuộc tính có giá trị thiếu.
+ Cho phép cây quá vừa dữ liệu sau đó cắt tỉa cây.
+ C4.5 có thể làm việc với cả dữ liệu liên tục và rời rạc. Bằng cách xác định
phạm vi hoặc các ngưỡng cho dữ liệu liên tục nhờ vậy dữ liệu liên tục được chuyển
sang dạng rời rạc.
- Nhược điểm:


×