Upload
hoangnhan
View
218
Download
1
Embed Size (px)
Citation preview
BỘ GIÁO DỤC VÀO ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG
NGUYỄN ĐẶNG THẾ VINH
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
CHỌN NGÀNH NGHỀ CHO HỌC SINH THPT
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
TP. HỒ CHÍ MINH - 2014
BỘ GIÁO DỤC VÀO ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG
NGUYỄN ĐẶNG THẾ VINH
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
CHỌN NGÀNH NGHỀ CHO HỌC SINH THPT
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
TS. VÕ ĐÌNH BẢY
TP. HỒ CHÍ MINH - NĂM 2014
CHUẨN Y CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN
Luận văn tựa đề: “Ứng dụng khai phá dữ liệu chọn ngành nghề cho học sinh
THPT” công trình được “Nguyễn Đặng Thế Vinh” thực hiện và nộp nhằm thỏa
một phần yêu cầu tốt nghiệp thạc sĩ chuyên ngành Khoa Học Máy Tính.
Chủ tịch Hội đồng Giảng viên hướng dẫn
………………………….
………………………….
TS. Bùi Văn Minh TS. Võ Đình Bảy
(Trưởng ngành Khoa học máy tính, (Giám đốc Trung tâm Tin học,
Trường ĐH Quốc tế Hồng Bàng) Trường ĐH Tôn Đức Thắng)
Ngày… tháng … năm 2014 Ngày… tháng … năm 2014
Ngày bảo vệ luận văn, Tp.HCM, Ngày 11 tháng 5 năm 2014
Viện Đào Tạo Sau Đại Học
Trường Đại học Quốc tế Hồng Bàng
……………………..
i
LÝ LỊCH CÁ NHÂN
- Họ tên: Nguyễn Đặng Thế Vinh
- Ngày sinh: 15/10/1982
- Nơi sinh: Ninh Thuận
- Tốt nghiệp THPT tại trường Nguyễn Du, năm 2000
- Quá trình công tác:
Thời gian Nơi công tác Chức vụ
2003-2004 Công ty CP máy tính Scitec P.Trưởng phòng kỹ thuật
2005-2009 Trường Cao đẳng GTVT 3 Quản lý giáo vụ và giảng dạy tại trung
tâm FCM
2010-2012 Trường Cao đẳng Viễn
Đông
Trưởng Phòng Đào tạo, Phó Giám đốc
Trung tâm Tin học
2012-nay Trường Cao đẳng Viễn
Đông
Phó Giám đốc Trung tâm Tin học,
giảng viên khoa CNTT
- Địa chỉ liên lạc: 58 Tổ 8, Ấp 1 Liên ấp 1-2-3, Vĩnh Lộc A, Bình Chánh, TP.HCM
- Điện thoại: 098.901.2.901
- Email: [email protected]
ii
LỜI CAM ĐOAN
Tôi cam đoan rằng luận văn này: “Ứng dụng khai phá dữ liệu chọn ngành nghề
cho học sinh THPT” là bài nghiên cứu của chính tôi.
Ngoại trừ những tài liệu tham khảo được trích dẫn trong luận văn này, tôi cam
đoan rằng toàn phần hay những phần nhỏ của luận văn này chưa từng được công bố
hay được sử dụng để nhận bằng cấp ở những nơi khác.
Không có sản phẩm/ nghiên cứu nào của người khác được sử dụng trong luận văn
này mà không được trích dẫn theo đúng quy định.
TP.HCM, ngày 10 tháng 04 năm 2014
Tác giả luận văn
(Chữ ký)
Nguyễn Đặng Thế Vinh
iii
LỜI CẢM ƠN
Lời đầu tôi xin chân thành cảm ơn TS. Võ Đình Bảy đã tận tình hướng dẫn, chỉ
bảo tôi trong suốt thời gian thực hiện luận văn.
Tôi xin bày tỏ lòng biết ơn đến các thầy cô trong Viện Đào tạo Sau Đại học
trường Đại học Quốc tế Hồng Bàng đã cung cấp những kiến thức quý báu cho tôi
trong suốt quá trình học tập và nghiên cứu tại trường.
Tôi cũng xin gởi lời cảm ơn đến gia đình, bạn bè và những người thân luôn quan
tâm và giúp đỡ tôi trong suốt thời gian học tập và làm luận văn.
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những
thiếu sót nhất định. Tôi rất mong nhận được sự góp ý quý báu của thầy cô.
iv
TÓM TẮT
Phân lớp dữ liệu là một trong những hướng nghiên cứu chính của KPDL. Công
nghệ này có nhiều ứng dụng trong lĩnh vực thương mại, ngân hàng, y tế, giáo dục, …
Trong các mô hình phân lớp đã được đề xuất, cây quyết định được coi là một
công cụ mạnh, phổ biến và đặc biệt thích hợp với các ứng dụng KPDL.
Qua tìm hiểu những chức năng của KPDL, luận văn tập trung vào nghiên cứu
các kỹ thuật phân lớp bằng cây quyết định. Hiểu được các thuật toán hiệu quả gần
đây, từ đó nắm được những điểm chính cần quan tâm giải quyết trong mỗi kỹ thuật
khai phá tri thức trên CSDL khảo sát lựa chọn ngành học.
Trong số các thuật toán thường dùng cho bài toán phân lớp, thuật toán C4.5 có
độ chính xác khá cao, chạy nhanh và dễ hiểu đối với người dùng, nhưng nếu tập dữ
liệu có nhiều thuộc tính thì cây quyết định thu được cũng sẽ khó hiểu; thuật toán
Naïve Bayes thiếu chính xác đối với các thuộc tính phụ thuộc lẫn nhau và khó hiểu.
Khi áp dụng kết hợp các biện pháp tiền xử lý lấy mẫu dư đối với lớp thiểu số và lấy
mẫu thiếu đối với lớp đa số, kết quả phân lớp sẽ tốt hơn, nhưng việc tiền xử lý này
đòi hỏi phải có kiến thức sâu, không phù hợp với người dùng không chuyên; thuật
toán Neural Network có độ chính xác cao nhưng mô hình khó hiểu đối với người
dùng và thời gian chạy thường lớn.
Luận văn sử dụng thuật toán ID3, cho ra mô hình phân lớp là một tập luật dưới
dạng cây rất đơn giản và dễ hiểu, có độ chính xác khá cao và thời gian chạy chấp
nhận được. Thuật toán được xây dựng trên nền website, thuận tiện cho người sử dụng
ở bất cứ nơi đâu có kết nối internet.
v
ABSTRACT
Classification is one of the main research directions of data mining. This
technology has many applications in the fields of commerce, banking, health,
education, etc.
In the classification model has been proposed, decision trees are considered
powerful tool, common and suitable particularly for data mining applications.
By studying the basic functions of data mining, thesis focused on the research
techniques by decision tree classifier. Understand the recent efficient algorithms,
which understand the main points of interest in each technique solving exploration
database knowledge on the education.
Among the mostly used algorithms for the classification task, C4.5 can provide
decision trees which be easy to interpret, yet their interpretability may diminish the
more they become complex; Naïve Bayes networks are both inaccuracy for
interdependence attributes and difficult to understand. When we combine
oversampling the rare classes and undersampling the majority ones, classification
performance will be better, but this preprocessing technique requires thorough
knowledge, not suitable to non-professional users; Neural Networks have high
classification accuracy but cannot produce easy to understand classification models
for users and its running time is usually long.
This thesis using ID3 algorithm whose resulting classification models are set of
classification rules in the form of trees which are very simple and easy to understand,
with pretty high accuracy and acceptable run time. The algorithm is built on the web,
convenient for user in anywhere with an internet connection.
vi
MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... ii
LỜI CẢM ƠN ........................................................................................................... iii
TÓM TẮT ................................................................................................................. iv
ABSTRACT ................................................................................................................ v
MỤC LỤC ................................................................................................................. vi
DANH MỤC HÌNH VẼ ............................................................................................ ix
DANH MỤC BẢNG ................................................................................................... x
DANH MỤC TỪ VIẾT TẮT .................................................................................... xi
CHƯƠNG 1: TỔNG QUAN ....................................................................................... 1
1.1. Lý do chọn luận văn ...................................................................................... 1
1.2. Mục tiêu nghiên cứu ...................................................................................... 2
1.3. Đối tượng và phạm vi nghiên cứu ................................................................. 2
1.3.1. Đối tượng nghiên cứu .......................................................................... 2
1.3.2. Phạm vi nghiên cứu ............................................................................. 2
1.4. Nhiệm vụ nghiên cứu .................................................................................... 3
1.5. Phương pháp nghiên cứu ............................................................................... 3
1.6. Ý nghĩa của luận văn ..................................................................................... 3
1.6.1. Ý nghĩa khoa học ................................................................................. 3
1.6.2. Ý nghĩa thực tiễn ................................................................................. 3
1.7. Cấu trúc luận văn ........................................................................................... 4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ........................................................................... 5
2.1. Tổng quan về khai phá dữ liệu ...................................................................... 5
2.1.1. Khai phá dữ liệu là gì?......................................................................... 5
2.1.2. Quá trình KPDL .................................................................................. 5
vii
2.2. Phân lớp trong KPDL .................................................................................... 7
2.2.1. Phân lớp dữ liệu ................................................................................... 7
2.2.2. Phân lớp dữ liệu bằng cây quyết định ................................................. 9
2.2.3. Phân lớp dữ liệu bằng giải thuật học ILA ......................................... 10
2.2.4. Phân lớp dữ liệu bằng mạng Naïve Bayes......................................... 11
2.2.5. Phân lớp dữ liệu bằng Neural Network ............................................. 12
2.3. KPDL sử dụng luật kết hợp ......................................................................... 13
2.4. Kỹ thuật KPDL sử dụng cây quyết định ..................................................... 15
2.4.1. Giới thiệu kỹ thuật KPDL sử dụng cây quyết định ........................... 15
2.4.2. Các vấn đề trong KPDL sử dụng cây quyết định .............................. 15
2.4.3. Xây dựng cây quyết định ................................................................... 19
2.4.4. Thuật toán sử dụng xây dựng cây quyết định ................................... 20
2.4.5. Cắt tỉa cây quyết định ........................................................................ 26
2.4.6. Đánh giá độ chính xác của mô hình phân lớp ................................... 28
2.4.7. Các công trình nghiên cứu trước đây liên quan đến luận văn ........... 29
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ................................................................ 30
3.1. Giới thiệu bài toán ........................................................................................... 30
3.2. Mô hình cấu trúc hệ thống .............................................................................. 30
3.2.1. Mô tả đầu vào/ đầu ra ...................................................................................... 30
3.2.2. Phương pháp xây dựng hệ thống ..................................................................... 31
3.3. Phân tích và thiết kế hệ thống ......................................................................... 31
3.3.1. Thiết kế CSDL ............................................................................................. 31
3.3.2. Xử lý và huấn luyện dữ liệu ........................................................................ 40
3.3.3. Xây dựng và thiết kế giao diện của chương trình ........................................ 41
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ ..................................................... 50
4.1. Dữ liệu thực nghiệm ....................................................................................... 50
viii
4.2. Môi trường thực nghiệm ................................................................................. 51
4.3. Đánh giá độ chính xác của cây quyết định ..................................................... 51
4.4. Phân tích, so sánh kết quả và nhận xét............................................................ 52
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................... 57
5.1. Kết quả đạt được từ nghiên cứu ...................................................................... 57
5.2. Đóng góp luận văn .......................................................................................... 57
5.3. Hạn chế ........................................................................................................... 57
5.4. Hướng phát triển luận văn............................................................................... 58
KẾ HOẠCH NGHIÊN CỨU .................................................................................... 59
TÀI LIỆU THAM KHẢO ......................................................................................... 60
PHỤ LỤC .................................................................................................................. 63
A. Bộ công cụ trắc nghiệm định hướng nghề nghiệp của John Holland ............... 63
B. Thông tin về ngành học, trường đào tạo, bậc học, khối thi, điểm chuẩn. ......... 64
ix
DANH MỤC HÌNH VẼ
Hình 2.1: Quá trình KPDL [6] .................................................................................... 5
Hình 2.2 (a): Bước học/ huấn luyện trong quá trình phân lớp hai bước [7] ............... 7
Hình 2.2 (b): Bước phân lớp trong quá trình phân lớp hai bước [7] ........................... 7
Hình 2.3: Một ví dụ về cây quyết định [7] ................................................................ 10
Hình 2.4: Mô hình ứng dụng luật .............................................................................. 14
Hình 2.5: k-fold cross –validation [3] ....................................................................... 28
Hình 3.1: Mô hình cấu trúc hệ thống tư vấn chọn ngành học ................................... 30
Hình 3.2: Giao diện chương trình ............................................................................. 41
Hình 3.3: Giao diện Phiếu đăng ký tài khoản sử dụng ............................................. 41
Hình 3.4: Giao diện Phiếu khảo sát thông tin về sở thích, tích cách ........................ 44
Hình 3.5: Giao diện kết quả thực hiện tính tổng điểm từng nhóm sở thích .............. 45
Hình 3.6: Giao diện kết quả thực hiện tính tổng điểm từng nhóm sở thích (thông tin
đăng ký ban đầu khác với kết quả thực hiện khảo sát) ............................................. 46
Hình 3.7: Giao diện kết quả ngành học của 2 nhóm có điểm số cao nhất ................ 47
Hình 3.8: Giao diện kết quả tư vấn chọn ngành học của chương trình ..................... 48
Hình 3.9: Kết quả trường ĐH, CĐ có đào tạo ngành học được tư vấn ..................... 49
Hình 4.1: Bảng phân chia dữ liệu test 10-fold cross – validation ............................. 51
Hình 4.2: Chương trình mô phỏng chọn ngành, trường của ĐHQG Tp.HCM ......... 53
Hình 4.3: Kết quả tư vấn chọn ngành của luận văn .................................................. 54
x
DANH MỤC BẢNG
Bảng 3.1: Bảng thông tin các trường ĐH, CĐ .......................................................... 31
Bảng 3.2: Bảng lưu các ngành học của các trường ĐH, CĐ .................................... 32
Bảng 3.3: Bảng lưu điểm trung bình ......................................................................... 32
Bảng 3.4: Bảng lưu 6 nhóm sở thích ......................................................................... 33
Bảng 3.5: Bảng Mã ngành thuộc nhóm ngành .......................................................... 33
Bảng 3.6: Bảng lưu kết quả khảo sát sinh viên ......................................................... 33
Bảng 3.7: Bảng khối thi ............................................................................................ 34
Bảng 3.8: Bảng Ngành học ....................................................................................... 34
Bảng 3.9: Bảng Nhóm ngành .................................................................................... 34
Bảng 3.10: Bảng chứa thông tin tỉnh ........................................................................ 35
Bảng 3.11: Bảng câu hỏi trắc nghiệm ....................................................................... 35
Bảng 3.12: Bảng thông tin khảo sát về chọn ngành học của sinh viên ..................... 36
Bảng 3.13: Bảng chi tiết thông tin khảo sát về chọn ngành học của sinh viên ......... 37
Bảng 3.14: Bảng thông tin phiếu khảo sát ................................................................ 38
Bảng 3.15: Bảng thông tin trường THPT .................................................................. 39
Bảng 4.1: Số liệu thực hiện khảo sát sinh viên ......................................................... 50
Bảng 4.2: Số liệu chi tiết từng ngành ........................................................................ 51
Bảng 4.3: Kết quả đánh giá 10-fold cross - validation.............................................. 52
Bảng 4.4: Kết quả chọn ngành, trường của ĐHQG Tp.HCM ................................... 54
Bảng 4.5: Thời gian thực hiện tư vấn chọn ngành .................................................... 54
Bảng 4.6: Bảng so sánh kết quả ................................................................................ 55
xi
DANH MỤC TỪ VIẾT TẮT
KPDL Khai phá dữ liệu
THPT Trung học phổ thông
NB Naïve Bayes
NN Neural Network
CLS Concept Learning System
CSDL Cơ sở dữ liệu
ĐH Đại học
CĐ Cao đẳng
TCCN Trung cấp chuyên nghiệp
ĐTB Điểm trung bình
HSSV Học sinh sinh viên
SV Sinh viên
QĐ Quyết định
1
CHƯƠNG 1: TỔNG QUAN
1.1. Lý do chọn luận văn
Mặc dù chưa có số liệu thống kê cụ thể, nhưng có thể thấy rằng hầu hết học sinh
sau khi hoàn tất chương trình lớp 12 đều tiếp tục lựa chọn cho mình những trường
ĐH, CĐ, TCCN. Thông qua việc chọn trường, chọn ngành nghề sẽ giúp các em có
được kiến thức, bằng cấp, kỹ năng làm việc để đáp ứng nhu cầu lao động của xã hội
sau khi các em tốt nghiệp. Việc chọn đúng ngành nghề giúp các em định hướng đi
phù hợp với khả năng của bản thân mình và tránh khỏi những lựa chọn vội vàng để
rồi phải bỏ lỡ rất nhiều cơ hội mà đáng ra nếu chọn và định hướng sớm và đúng các
em sẽ thành công. Do rất nhiều yếu tố khách quan, chủ quan khác và đa phần các em
ở các tỉnh thành, việc tiếp cận các thông tin về chọn ngành nghề cũng hạn chế và
thiếu thông tin để lựa chọn và định hướng cho mình.
Việc chọn đúng ngành học trong bối cảnh kinh tế, xã hội hiện nay nhằm tránh
việc có nhiều cá nhân lựa chọn sai nghề sẽ dẫn tới giảm sút chất lượng đào tạo, gây
lãng phí cho công tác đào tạo và đào tạo lại. Chất lượng nguồn nhân lực sau đào tạo
không đảm bảo dẫn tới năng suất lao động không cao, nảy sinh nhiều xáo trộn cho
hoạt động của các tổ chức, doanh nghiệp bởi các hiện tượng như: bỏ nghề, chuyển
nghề, … Các doanh nghiệp mất thêm chi phí đào tạo và đào tạo lại cho đội ngũ của
mình.
Học tập là một quá trình dài và khó khăn, đòi hỏi sinh viên phải đầu tư nhiều
công sức, tiền bạc của cá nhân cũng như gia đình, nếu thất bại trong việc chọn ngành
nghề sẽ dẫn đến những tổn thất lớn về cả tinh thần lẫn vật chất cho sinh viên và gia
đình họ. Việc định hướng chọn đúng ngành nghề sẽ giúp các em tránh khỏi những
vấn đề trên.
Vì vậy, công tác hướng nghiệp chọn ngành nghề cho học sinh THPT là điều hết
sức cần thiết.
Trước những thực tế đó, tôi chọn luận văn “Ứng dụng khai phá dữ liệu chọn
ngành nghề cho học sinh THPT”. Luận văn thực hiện việc KPDL từ việc khảo sát
chọn ngành học của sinh viên các trường ĐH, CĐ để dự đoán ngành học cho học sinh
THPT. Dựa vào kết quả dự đoán đó sẽ giúp học sinh lựa chọn cho mình một ngành
học phù hợp với điều kiện và năng lực của bản thân để đạt được kết quả tốt nhất.
2
1.2. Mục tiêu nghiên cứu
- Tìm hiểu các kỹ thuật KPDL, ứng dụng các kỹ thuật KPDL trong phân tích
số liệu, xây dựng các tập luật chọn ngành học dựa vào kết quả khảo sát thực
tế sinh viên.
- Xây dựng ứng dụng hỗ trợ học sinh các trường THPT trên địa bàn tỉnh Ninh
Thuận có những lựa chọn về ngành học phù hợp với bản thân và hỗ trợ các
cán bộ chuyên trách tuyển sinh của các trường THPT trên địa bàn tỉnh Ninh
Thuận nhận định và đề ra những biện pháp phù hợp nhằm tư vấn thêm cho
các em trong việc xác định nghề nghiệp cho bản thân.
1.3. Đối tượng và phạm vi nghiên cứu
1.3.1. Đối tượng nghiên cứu
- Các kỹ thuật KPDL.
- Dữ liệu khảo sát kết quả chọn ngành học.
- Hệ thống tư vấn.
1.3.2. Phạm vi nghiên cứu
- Các phương pháp phân lớp. Ứng dụng các hệ hỗ trợ quyết định vào bài toán.
- Dữ liệu khảo sát thực tế việc chọn ngành học của sinh viên thông qua bảng
câu hỏi trắc nghiệm chọn ngành nghề của Tiến sỹ Tâm lý học John Holland,
nhằm phát hiện ra các đặc điểm chung của HSSV trong việc lựa chọn ngành
nghề học tập tại một số trường Đại học và cao đẳng tại TP.HCM tập trung
vào 11 ngành học như: Quản trị kinh doanh, Ngôn ngữ Anh, Sư phạm Toán
học, Giáo dục tiểu học, Công nghệ kỹ thuật công trình xây dựng, Quản lý
công nghiệp, Việt Nam học, Công nghệ thông tin, Kế toán, Tài chính Ngân
hàng, Khoa học thư viện.
- Xây dựng ứng dụng dự đoán ngành học để hỗ trợ tư vấn chọn ngành học
cho học sinh các trường THPT tại tỉnh Ninh Thuận.
3
1.4. Nhiệm vụ nghiên cứu
- Nghiên cứu lý thuyết về KPDL, cụ thể là các kỹ thuật phân lớp và cây quyết
định.
- Xác định bài toán cụ thể là xây dựng công cụ lựa chọn ngành học và chuẩn
bị nguồn dữ liệu để xây dựng chương trình.
- Xây dựng mô hình dự đoán ngành học của sinh viên theo các kỹ thuật khác
nhau như cây quyết định, luật kết hợp và kiểm tra các mô hình.
- Xây dựng chương trình ứng dụng mô hình được lựa chọn để dự đoán ngành
học của học sinh dựa vào các thông tin đầu vào, từ đó thực hiện tư vấn chọn
ngành học cho học sinh nhằm đạt được kết quả tốt nhất.
1.5. 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 KPDL
thích hợp.
- Phương pháp nghiên cứu thu thập thông tin, phân tích số liệu: Thu thập thống
kê số liệu từ phiếu khảo sát sinh viên (trực tiếp, paper, website), phân tích
nghiên cứu các tài liệu, ứng dụng và tham khảo ý kiến của các chuyên gia
liên quan đến công tác hướng nghiệp cho học sinh để có được các kinh
nghiệm từ thực tiễn.
- Phương pháp nghiên cứu thực nghiệm: Phân tích thiết kế hệ thống, triển khai
xây dựng ứng dụng.
1.6. Ý nghĩa của luận văn
1.6.1. Ý nghĩa khoa học
Áp dụng các thuật toán KPDL trên dữ liệu khảo sát lựa chọn ngành học. (Dữ
liệu được thu thập từ các trường ĐH, CĐ tại TP.HCM).
1.6.2. Ý nghĩa thực tiễn
Luận văn ứng dụng KPDL chọn ngành nghề cho học sinh THPT đóng góp như
là một công cụ hỗ trợ để học sinh chọn đúng ngành học. Kết quả, kinh nghiệm
thu được khi thực hiện luận văn này sẽ giúp các tổ chức giáo dục, những cá
nhân làm công tác giáo dục (ở Việt Nam) phân luồng lại hệ thống các trường
4
ĐH, CĐ, TCCN, giao chỉ tiêu đào tạo cho các trường, nhằm tránh việc lãng phí
trong đào tạo.
1.7. Cấu trúc luận văn
Chương 1: Tổng quan
Chương 2: Cơ sở lý thuyết
Chương 3: Xây dựng ứng dụng
Chương 4: Thực nghiệm và đánh giá
Chương 5: Kết luận và hướng phát triển
5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về khai phá dữ liệu
2.1.1. Khai phá dữ liệu là gì?
Khai phá dữ liệu là một khái niệm ra đời vào cuối những năm 1980. Nó là quá
trình khám phá thông tin ẩn được tìm thấy trong các CSDL và có thể xem như là một
bước trong quá trình khám phá tri thức. KPDL là giai đoạn quan trọng nhất trong tiến
trình khai phá tri thức từ CSDL, các tri thức này hỗ trợ trong việc ra quyết định trong
các lĩnh vực như: khoa học, giáo dục [8] [15], kinh doanh, …
Năm 1989 Fayyad, Smyth và Piatestsky-Shapiro đã dùng khái niệm Phát hiện
tri thức từ CSDL (Knowledge Discovery in Database - KDD) trong đó KPDL là một
giai đoạn rất đặc biệt trong toàn bộ quá trình, nó sử dụng các kỹ thuật để tìm ra các
mẫu từ dữ liệu.
KPDL là quá trình phát hiện các mô hình, các tổng kết khác nhau và các giá trị
được lấy từ tập dữ liệu cho trước [11]. Hay, KPDL là sự thăm dò và phân tích lượng
dữ liệu lớn để khám phá từ dữ liệu ra các mẫu hợp lệ, mới lạ, có ích và có thể hiểu
được [23].
2.1.2. Quá trình KPDL
Quá trình KPDL sẽ tiến hành qua 6 giai đoạn [6], [7]
Hình 2.1: Quá trình KPDL [6]
Dữ liệu
Dữ liệu đích
Dữ liệu đã
xử lý
Dữ liệu đã
chuyển đổi
Mô hình
Trích lọc dữ liệu
Tiền xử lý và chuẩn
bị dữ liệu
Chuyển đổi dữ liệu
Khai phá dữ liệu
Đánh giá luật
Tri thức
6
Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất
ra. Về lý thuyết thì có vẽ rất đơn giản nhưng thực sự đây là một quá trình rất khó khăn
gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ
quá trình, …
2.1.2.1. Tập hợp dữ liệu (Data)
Đây là giai đoạn đầu tiên trong quá trình KPDL. Giai đoạn này lấy dữ liệu trong
một CSDL, một kho dữ liệu và dữ liệu từ các nguồn Internet.
2.1.2.2. Trích lọc dữ liệu (Selection)
Giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn nào
đó.
2.1.2.3. Tiền xử lý và chuẩn bị dữ liệu (Preprocessing)
Giai đoạn này rất quan trọng trong quá trình KPDL. Một số lỗi thường mắc phải
trong khi thu thập dữ liệu như thiếu thông tin, không logic... 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 dữ liệu.
Giai đoạn này tiến hành xử lý những dạng dữ liệu nói trên. Những dữ liệu dạng
này được xem như thông tin dư thừa, không có giá trị. Vì vậy, đây là một giai đoạn
rất quan trọng vì dữ liệu này nế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 trong KPDL.
2.1.2.4. Chuyển đổi dữ liệu (Transformation)
Giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều khiển được
bởi việc tổ chức lại nó. Dữ liệu đã được chuyển đổi phù hợp với mục đích khai thác.
2.1.2.5. Khai phá dữ liệu (Data Mining)
Giai đoạn mang tính tư duy trong KPDL. Ở giai đoạn này nhiều thuật toán khác
nhau đã được sử dụng để xuất ra các mẫu từ dữ liệu. Thuật toán thường dùng là thuật
toán phân loại dữ liệu, kết hợp dữ liệu hoặc các mô hình hóa dữ liệu tuần tự.
Đây là giai đoạn được nhiều người nghiên cứu nhất.
2.1.2.6. Đánh giá kết quả mẫu (Interpretation/ Evaluation)
Giai đoạn cuối trong quá trình KPDL. Trong 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 bất cứ mẫu dữ liệu nào cũng
7
đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy, cần phải ưu tiên những tiêu chuẩn
đánh giá để đưa ra các tri thức cần thiết và sử dụng được.
2.2. Phân lớp trong KPDL
2.2.1. Phân lớp dữ liệu
Phân lớp dữ liệu là một quá trình gồm hai bước: một bước học (trong đó xây
dựng nên một mô hình phân lớp) và một bước phân lớp (trong đó mô hình vừa xây
dựng được sử dụng để dự đoán các nhãn lớp cho những dữ liệu nào đó).
Hình 2.2 minh họa quá trình này cho trường hợp dữ liệu xin vay tiền. Dữ liệu
ấy đã được đơn giản hóa để dễ minh họa. Trong thực tế, có thể ta cần xem xét nhiều
thuộc tính hơn.
Hình 2.2 (a): Bước học/ huấn luyện trong quá trình phân lớp hai bước [7]
Hình 2.2 (b): Bước phân lớp trong quá trình phân lớp hai bước [7]
8
Ở bước thứ nhất, ta xây dựng một mô hình phân lớp mô tả một bộ xác định
trước các lớp dữ liệu hay khái niệm. Đây là bước học (hay giai đoạn huấn luyện), ở
đó một thuật toán phân lớp xây dựng nên mô hình phân lớp bằng cách phân tích hoặc
“học hỏi từ” một tập huấn luyện hình thành từ các bản ghi trong CSDL và các nhãn
lớp liên kết với chúng. Mỗi bản ghi X được biểu diễn bởi một vector thuộc tính gồm
n-chiều, X = (x1, x2, …, xn), mô tả n giá trị đo đã thực hiện trên bản ghi đó từ n thuộc
tính tương ứng của CSDL A1, A2, …, An. Mỗi bản ghi X được giả định là thuộc về một
lớp được quy định trước, như được xác định bởi một thuộc tính khác của CSDL gọi
là thuộc tính nhãn lớp.
Thuộc tính nhãn lớp này có trị rời rạc và không có thứ tự. Nó có tính phân loại
ở chỗ mỗi giá trị của nó đóng vai trò một loại hoặc lớp. Các bản ghi riêng tạo thành
tập huấn luyện được gọi là các bản ghi huấn luyện và được lấy mẫu ngẫu nhiên từ
CSDL đang phân tích. Trong ngữ cảnh phân lớp, các bản ghi của CSDL có thể được
các tài liệu khác nhau gọi là mẫu, ví dụ, thể hiện, điểm dữ liệu, hoặc đối tượng.
Do nhãn lớp của mỗi bản ghi huấn luyện đều được cung cấp sẵn, nên bước này
còn được gọi là học có giám sát, tức là việc học của mô hình phân lớp là “có giám
sát” ở chỗ nó được cho biết là mỗi bản ghi huấn luyện thuộc về lớp nào. Nó trái với
học không giám sát, trong đó ta không biết nhãn lớp của mỗi bản ghi huấn luyện và
có thể cả số lượng hoặc tập hợp các lớp cần học nữa.
Mỗi thuộc tính đại diện cho một “đặc điểm” của X. Do đó các tài liệu về nhận
dạng mẫu dùng thuật ngữ vector đặc điểm thay cho vector thuộc tính. Trong luận văn
này, tác giả dùng thuật ngữ vector thuộc tính, và trong cách ký hiệu của tác giả, bất
kỳ biến nào đại diện cho một vector đều được trình bày bằng kiểu chữ đậm và
nghiêng, các giá trị đo mô tả vector đó được trình bày bằng kiểu chữ nghiêng (ví dụ:
X = (x1, x2, x3)).
Trong các tài liệu về máy học, các bản ghi huấn luyện thường được gọi là mẫu
huấn luyện hoặc ví dụ huấn luyện.
Bước thứ nhất của quá trình phân lớp còn có thể được xem như là việc học (hay
tìm kiếm) một ánh xạ hay hàm y = f (X) mà có thể dự đoán được nhãn lớp y liên kết
với một bản ghi X cho trước. Theo cách quan sát này, chúng ta muốn tìm ra một ánh
xạ hay hàm mà chia tách các lớp dữ liệu. Thông thường, ánh xạ này được biểu diễn
9
dưới dạng các luật phân lớp, các cây quyết định, hoặc các công thức toán học. Trong
ví dụ dữ liệu xin vay ngân hàng bên trên, ánh xạ này được biểu diễn dưới dạng các
luật phân lớp giúp nhận diện những đơn xin vay tiền nào là an toàn hoặc rủi ro (Hình
2.2 (a)). Các luật này có thể được dùng để phân loại các bản ghi dữ liệu trong tương
lai cũng như giúp ta hiểu biết sâu hơn trong nội dung dữ liệu. Chúng cũng cung cấp
một cách biểu diễn dữ liệu ngắn gọn, cô đọng.
Ở bước thứ hai (Hình 2.2 (b)), mô hình tìm được ở bước thứ nhất sẽ được dùng
cho việc phân loại những dữ liệu mới. Trước hết, ta đánh giá độ chính xác dự đoán
(predictive accuracy) của mô hình phân loại ấy. Nếu như ta dùng tập huấn luyện để
đánh giá độ chính xác của mô hình phân lớp thì việc đánh giá này nhiều khả năng là
quá lạc quan, bởi vì mô hình ấy có khuynh hướng quá khớp dữ liệu (tức là trong quá
trình học, nó có thể sáp nhập luôn một số trường hợp bất thường của dữ liệu huấn
luyện, vốn không hiện diện trong tổng thể tập dữ liệu nói chung). Vì thế, ta dùng một
tập kiểm tra, bao gồm các bản ghi kiểm tra và các nhãn lớp liên kết với chúng, để
thực hiện việc đánh giá này. Các bản ghi kiểm tra này độc lập với các bản ghi huấn
luyện, nghĩa là chúng không được dùng để xây dựng mô hình phân lớp.
Độ chính xác của một mô hình phân lớp trên một tập kiểm tra xác định là tỷ lệ
các bản ghi của tập kiểm tra được phân loại đúng đắn bởi mô hình phân lớp ấy. Nhãn
lớp liên kết của mỗi bản ghi kiểm tra được so sánh với sự dự đoán lớp của mô hình
phân lớp học ứng với bản ghi đó.
Mục 2.4.6.1 (Trong chương 2) mô tả vài phương pháp để đánh giá độ chính xác
của mô hình phân lớp. Nếu độ chính xác của mô hình phân lớp được xem là chấp
nhận được, thì mô hình phân lớp có thể được dùng để phân loại những bản ghi dữ
liệu trong tương lai mà nhãn lớp chưa biết.
Ví dụ, các luật phân lớp học được trong Hình 2.2 (a) từ việc phân tích dữ liệu
của những đơn xin vay tiền lúc trước, nếu có độ chính xác cao khi phân lớp tập kiểm
tra, thì có thể được dùng để chuẩn thuận hoặc bác những đơn xin vay tiền mới hoặc
sẽ có trong tương lai, như được minh họa trong Hình 2.2 (b).
2.2.2. Phân lớp dữ liệu bằng cây quyết định
Quy nạp cây quyết định (decision tree induction) là việc tìm kiếm các cây quyết
định từ những bản ghi huấn luyện đã có nhãn lớp. Mỗi cây quyết định (decision tree)
10
là một cấu trúc cây kiểu lưu đồ, trong đó mỗi nút trong biểu thị một sự kiểm tra trên
một thuộc tính nào đó, mỗi nhánh biểu diễn một kết quả của sự kiểm tra đó, còn mỗi
nút lá chứa một nhãn lớp. Nút ở trên cùng của cây là nút gốc, chứa tên của thuộc tính
cần kiểm tra. Hình 2.3 cho thấy một cây quyết định tiêu biểu. Các nút trong được biểu
diễn bằng các hình chữ nhật, còn các nút lá được biểu diễn bằng các hình bầu dục.
Một số thuật toán cây quyết định chỉ sinh ra các cây nhị phân (trong đó mỗi nút trong
rẽ nhánh đến hai nút khác), trong khi những thuật toán cây quyết định khác có thể
sinh ra những cây không nhị phân.
Các cây quyết định được dùng cho phân lớp như thế nào? Cho một bản ghi X
nào đó mà ta chưa biết nhãn lớp liên kết với nó, các giá trị thuộc tính của bản ghi đó
được kiểm tra so với cây quyết định. Dựa theo những cuộc kiểm tra đó, ta lần ra một
đường đi từ gốc đến một nút lá chứa kết quả dự đoán lớp dành cho bản ghi ấy. Các
cây quyết định có thể dễ dàng được chuyển đổi thành các luật phân lớp, tức hình thức
phân loại đơn giản và dễ hiểu nhất đối với con người [30].
Hình 2.3: Một ví dụ về cây quyết định [7]
2.2.3. Phân lớp dữ liệu bằng giải thuật học ILA
- Thuật giải ILA được dùng để xác định các luật phân loại cho tập hợp các mẫu
học. Thuật giải này thực hiện theo cơ chế lặp, để tìm luật riêng đại diện cho tập
mẫu của từng lớp. Sau khi xác định được luật, thuật giải sẽ loại bỏ các mẫu mà
luật này bao hàm, đồng thời thêm luật mới này vào tập luật. Kết quả có được là
một danh sách có thứ tự các luật. [26], [28].
- Mô tả thuật giải ILA [27]
11
+ Bước 1: Chia bảng con có chứa m mẫu thành n bảng con. Một bảng con ứng
với một giá trị của thuộc tính phân lớp (Lặp lại từ bước 2 đến bước 8 cho
mỗi bảng con).
+ Bước 2: Khởi tạo số lượng thuộc tính kết hợp j với j = 1.
+ Bước 3: Với mỗi bảng con đang xét, phân chia các thuộc tính của nó thành
một danh sách các thuộc tính kết hợp, mỗi thành phần của danh sách có j
thuộc tính phân biệt.
+ Bước 4: Với mỗi kết hợp các thuộc tính trong danh sách trên, đếm số lần
xuất hiện các giá trị cho các thuộc tính trong kết hợp đó ở các dòng chưa bị
khóa của bảng đang xét nhưng nó không được xuất hiện cùng giá trị ở những
bảng con khác. Chọn ra một kết hợp trong danh sách sao cho nó có giá trị
tương ứng xuất hiện nhiều nhất và được gọi là Max_combination.
+ Bước 5: Nếu Max_combination = 0 thì j = j+1 quay lại bước 3.
+ Bước 6: Khóa các dòng ở bảng con đang xét mà tại đó giá trị bằng với giá
trị tạo ra Max_combination.
+ Bước 7: Thêm vào R luật mới với giả thuyết là các giá trị tạo ra
Max_combination kết nối các bộ này bằng phép AND, kết luận là giá trị
của thuộc tính quyết định trong bảng con đang xét.
+ Bước 8: Nếu tất cả các dòng đều khóa:
Nếu còn bảng con thì qua bảng con tiếp theo và quay lại bước 2.
Ngược lại chấm dứt thuật toán.
Ngược lại quay lại bước 4.
2.2.4. Phân lớp dữ liệu bằng mạng Naïve Bayes
Các mô hình phân lớp dựa theo Bayes (Bayesian classifier) là loại mô hình phân
lớp theo lý thuyết thống kê. Chúng có thể dự đoán xác suất của các thành viên lớp,
chẳng hạn xác suất để một bản ghi nhất định thuộc về một lớp cụ thể nào đó. Phân
lớp dựa theo Bayes căn cứ vào nền tảng lý thuyết là định lý Bayes (được đặt theo tên
của Thomas Bayes, nhà toán học Anh vào thế kỷ 18).
Thuật toán phân lớp Naïve Bayes (NB) giả định rằng ảnh hưởng của một giá trị
thuộc tính nào đó trên một lớp nhất định là độc lập với các giá trị của các thuộc tính
khác. Giả định này được gọi là sự độc lập theo điều kiện lớp (class-conditional
12
independence). Người ta giả định như vậy để đơn giản hóa khối lượng tính toán cần
thiết, và vì lý do này, nó được gọi là “ngây thơ” (naïve).
Chi tiết của việc phân lớp dữ liệu bằng mạng NB có thể được tham khảo ở [7].
- Ưu điểm
+ Về thời gian học (tức thời gian xây dựng mô hình): ít hơn so với phương
pháp quy nạp cây quyết định, và ít hơn rất nhiều so với mạng nơ-rôn, nhất
là đối với dữ liệu rời rạc.
+ Hiệu năng phân lớp (độ chính xác và tốc độ) cao khi dùng với CSDL lớn.
+ Thuật toán dễ hiểu và dễ hiện thực.
- Nhược điểm
+ Do NB giả định là các thuộc tính độc lập với nhau, nên khi các thuộc tính
có sự phụ thuộc lẫn nhau (ví dụ, trong giáo dục có một số môn học có ý
nghĩa tiên quyết đối với một số môn học khác) thì phương pháp NB trở
nên thiếu chính xác.
+ NB không sinh ra được những mô hình phân lớp dễ hiểu đối với người
dùng không chuyên về KPDL.
2.2.5. Phân lớp dữ liệu bằng Neural Network
Lĩnh vực học bằng các mạng nơ-rôn nhân tạo (artificial neural network – ANN),
lúc đầu được khởi xướng bởi các nhà tâm lý học và các nhà sinh học thần kinh muốn
tìm cách xây dựng và kiểm tra những mô hình tính toán tương tự với mạng lưới các
tế bào thần kinh (neuron) của con người. Một mạng nơ-rôn nhân tạo, hay chỉ vắn tắt
là mạng nơ-rôn (NN), đôi khi còn được gọi là multilayer perceptron (MLP), là một
tập hợp các nút xuất/nhập nối kết với nhau, trong đó mỗi đường nối kết có một trọng
số liên kết với nó. Trong giai đoạn học, mạng này học bằng cách điều chỉnh các trọng
số để dự đoán được nhãn lớp đúng đắn của các bản ghi nhập vào.
- Ưu điểm
+ Các mô hình học được từ NN có khả năng chịu đựng đối với dữ liệu nhiễu
cao cũng như khả năng phân lớp được những mẫu hình mà chúng chưa
từng được huấn luyện.
+ Chúng rất thích hợp đối với dữ liệu nhập và xuất có trị liên tục.
13
+ Các thuật toán mạng nơ-rôn vốn có sẵn tính song song; có thể dùng các kỹ
thuật song song hóa để tăng tốc quá trình tính toán.
+ Ngoài ra, gần đây đã có nhiều kỹ thuật được xây dựng để rút trích ra các
luật phân lớp dễ hiểu từ các mạng nơ-rôn học được.
Chi tiết của việc phân lớp dữ liệu bằng các NN có thể được tham khảo ở [7],
[30].
- Nhược điểm
+ Học bằng NN đòi hỏi thời gian huấn luyện phải dài, vì thế thích hợp hơn
với các ứng dụng nào chấp nhận điều này.
+ Thuật toán xây dựng NN cần một số tham số mà thường thì chỉ được xác
định tốt nhất thông qua thí nghiệm, như cấu trúc.
+ Các mô hình học bằng NN đã bị chỉ trích vì tính khó hiểu của chúng; con
người khó diễn giải được ý nghĩa biểu tượng đằng sau các trọng số học và
ý nghĩa của các “đơn vị ẩn” trong mạng.
2.3. KPDL sử dụng luật kết hợp
2.3.1. Luật kết hợp trong CSDL
Gọi I = {I1, I2… Im} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục.
Gọi D là một CSDL, trong đó mỗi bản ghi t là một giao dịch và chứa các tập mục, t
I.
Định nghĩa 1: Một luật kết hợp là một biểu thức có dạng X Y, trong đó X, Y
I là các tập mục gọi là các itemset, và YX . Ở đây, X được gọi là tiền đề, Y là
mệnh đề kết quả.
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (s) và độ tin cậy (c).
Định nghĩa 2: Độ hỗ trợ của luật kết hợp X Y là tỷ lệ phần trăm các bản ghi
YX với tổng số các giao dịch có trong CSDL.
Định nghĩa 3: Đối với một số giao dịch được đưa ra, độ tin cậy là tỷ lệ của số
giao dịch có chứa YX với số giao dịch có chứa X. Đơn vị tính %.
Việc khai thác các luật kết hợp từ CSDL chính là việc tìm tất cả các luật có độ
hỗ trợ và độ tin cậy lớn hơn ngưỡng của độ hỗ trợ và độ tin cậy do người sử dụng xác
14
Yêu cầu sử
dụng
Tham chiếu
đến tập luật R
Lựa chọn
luật
Ứng dụng
định trước. Các ngưỡng của độ hỗ trợ và độ tin cậy được ký hiệu là minsup và minconf
[30].
Việc khai thác các luật kết hợp có thể được phân tích thành hai vấn đề sau đây:
- Tìm tất cả các tập phổ biến có độ hỗ trợ lớn hơn hoặc bằng minsup.
- Tạo ra các luật mong muốn sử dụng các tập phổ biến có độ tin cậy lớn hơn
hoặc bằng minconf [5].
2.3.2. Tính ứng dụng
Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác nhau của đời sống như:
khoa học, hoạt động kinh doanh, tiếp thị, thương mại, phân tích thị trường chứng
khoán, tài chính và đầu tư, ... Ứng dụng luật kết hợp phải chỉ rõ các đặc điểm về:
nguồn gốc, điều kiện áp dụng, phạm vi ứng dụng, mục đích ứng dụng. Những đặc
điểm này được thể hiện bằng mô hình sau:
Hình 2.4: Mô hình ứng dụng luật
Trong đó:
- Yêu cầu sử dụng: là phạm vi tính ứng dụng của tập luật ví dụ như về khoa
học, kinh doanh, tiếp thị, thương mại, phân tích thị trường chứng khoán, …
- Tham chiếu đến tập luật R: ở giai đoạn này các tập luật được tham chiếu tại
đây là các tập luật được sinh ra từ CSDL chứa tác nhân yêu cầu sử dụng.
- Lựa chọn luật: ở bước này chúng ta tiến hành lọc các luật hữu ích nhất phục
vụ cho phạm vi sử dụng.
- Ứng dụng: đây là kết quả mong đợi nhất từ khi bắt đầu khai thác cho đến khi
thi hành luật.
Mô hình ứng dụng luật đã làm sáng tỏ tính ứng dụng của việc khai thác luật kết
hợp trong CSDL.
15
Thực tế, ứng dụng của khai thác luật kết hợp trong CSDL giáo dục là một phạm
trù của KPDL nên ứng dụng của nó rất rộng lớn, nhất là trong sự phát triển của xã hội
hiện nay. Ngoài ra, một tập hợp con đặc biệt của luật kết hợp gọi là luật kết hợp lớp
(Class Association rules –CARs) [13], [14], [16] dùng để tích hợp phân loại và khai
phá luật kết hợp.
Tóm lại, tính ứng dụng của khai thác luật kết hợp trong CSDL giáo dục là việc
ứng dụng các tập luật tìm thấy trong đó nhằm vào những mục đích cụ thể và đạt được
kết quả tốt.
2.4. Kỹ thuật KPDL sử dụng cây quyết định
2.4.1. Giới thiệu kỹ thuật KPDL sử dụng cây quyết định
Trong những năm qua, nhiều mô hình phân lớp dữ liệu đã được các nhà khoa
học trong nhiều lĩnh vực khác nhau đề xuất như NN, mô hình thống kê tuyến tính bậc
2, cây quyết định, di truyền, …. Trong số những mô hình đó, cây quyết định với
những ưu điểm của mình được đánh giá là một công cụ mạnh, phổ biến và đặc biệt
thích hợp cho KPDL nói chung và phân lớp dữ liệu nói riêng [25].
Có thể kể ra những ưu điểm của cây quyết định như: xây dựng tương đối nhanh;
đơn giản, dễ hiểu. Hơn nữa các cây có thể dễ dàng được chuyển đổi sang các câu lệnh
SQL để có thể được sử dụng để truy nhập CSDL một cách hiệu quả. Cuối cùng, việc
phân lớp dựa trên cây quyết định đạt được sự tương tự và đôi khi là chính xác hơn so
với các phương pháp phân lớp khác [31].
2.4.2. Các vấn đề trong KPDL sử dụng cây quyết định
Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng cây quyết định gồm:
xác định độ sâu để phát triển cây quyết định, xử lý với những thuộc tính liên tục, chọn
phép đo lựa chọn thuộc tính thích hợp, sử dụng tập dữ liệu huấn luyện với những giá
trị thuộc tính bị thiếu, sử dụng các thuộc tính với những chi phí khác nhau, và cải
thiện hiệu năng tính toán.
2.4.2.1. Tránh “quá khớp” dữ liệu
Thế nào là “quá khớp” dữ liệu? Có thể hiểu đây là hiện tượng cây quyết định
chứa một số đặc trưng riêng của tập dữ liệu huấn luyện, nếu lấy chính tập dữ liệu
huấn luyện để kiểm tra lại mô hình phân lớp thì độ chính xác sẽ rất cao, trong khi đối
16
với những dữ liệu tương lai khác nếu sử dụng cây đó lại không đạt được độ chính xác
cao.
Quá khớp dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và
những phương pháp học khác. Đặc biệt khi số lượng mẫu trong tập dữ liệu huấn luyện
quá ít, hay có nhiễu trong dữ liệu.
Có hai phương pháp tránh “quá khớp” dữ liệu trong cây quyết định:
- Dừng phát triển cây sớm hơn bình thường, trước khi đạt tới điểm phân lớp
hoàn hảo tập dữ liệu huấn luyện. Với phương pháp này, một thách thức đặt
ra là phải ước lượng chính xác thời điểm dừng phát triển cây.
- Cho phép cây có thể “quá khớp” dữ liệu, sau đó sẽ cắt, tỉa cây.
Mặc dù phương pháp thứ nhất có vẻ trực tiếp hơn, nhưng với phương pháp thứ
hai thì cây quyết định được sinh ra được thực nghiệm chứng minh là thành công hơn
trong thực tế. Hơn nữa việc cắt tỉa cây quyết định còn giúp tổng quát hóa, và cải thiện
độ chính xác của mô hình phân lớp. Dù thực hiện phương pháp nào thì vấn đề mấu
chốt ở đây là tiêu chuẩn nào được sử dụng để xác định kích thước hợp lý của cây cuối
cùng.
2.4.2.2. Thao tác với thuộc tính liên tục
Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toàn không đơn
giản như với thuộc tính rời rạc.
Thuộc tính rời rạc có tập giá trị (domain) xác định từ trước và là tập hợp các
giá trị rời rạc. Ví dụ loại ô tô là một thuộc tính rời rạc với tập giá trị là: {xe tải, xe
khách, xe con, taxi}.Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc
tính rời rạc được chọn tại một ví dụ cụ thể có thuộc tập giá trị của thuộc tính đó hay
không: value (A) ∈ X với X ⊂ domain (A). Đây là phép kiểm tra logic đơn giản, không
tốn nhiều tài nguyên tính toán. Trong khi đó, với thuộc tính liên tục (thuộc tính dạng
số) thì tập giá trị là không xác định trước. Chính vì vậy, trong quá trình phát triển cây,
cần sử dụng kiểm tra dạng nhị phân: value (A) ≤ θ. Với θ là hằng số ngưỡng
(threshold) được lần lượt xác định dựa trên từng giá trị riêng biệt hay từng cặp giá trị
liền nhau (theo thứ tự đã sắp xếp) của thuộc tính liên tục đang xem xét trong tập dữ
liệu huấn luyện. Điều đó có nghĩa là nếu thuộc tính liên tục A trong tập dữ liệu huấn
17
luyện có d giá trị phân biệt thì cần thực hiện d-1 lần kiểm tra value (A) ≤ θi với i =
1..d-1 để tìm ra ngưỡng θbest tốt nhất tương ứng với thuộc tính đó. Việc xác định giá
trị của θ và tiêu chuẩn tìm θ tốt nhất tùy vào chiến lược của từng thuật toán [12], [24].
2.4.2.3. Đánh giá cây quyết định trong lĩnh vực KPDL
2.4.2.3.1. Ưu điểm của cây quyết định [4]:
- Khả năng sinh ra các luật dễ hiểu
Cây quyết định có khả năng sinh ra các luật có thể chuyển đổi được sang dạng
tiếng Anh, hoặc các câu lệnh SQL, đây là ưu điểm nổi bật của kỹ thuật này. Thậm chí
với những tập dữ liệu lớn khiến cho hình dáng cây quyết định lớn và phức tạp, việc
đi theo bất cứ đường nào trên cây là dễ dàng theo nghĩa phổ biến và rõ ràng. Do vậy
sự giải thích cho bất cứ một sự phân lớp hay dự đoán nào đều tương đối minh bạch.
- Khả năng thực thi trong những lĩnh vực hướng sử dụng luật
Điều này có nghe có vẻ hiển nhiên, nhưng luật quy nạp nói chung và cây quyết
định nói riêng là lựa chọn hoàn hảo cho những lĩnh vực mang tính quy tắc. Rất nhiều
lĩnh vực từ di truyền tới các quá trình công nghiệp thực sự chứa các quy tắc ẩn, không
rõ ràng (underlying rules) do khá phức tạp và tối nghĩa bởi những dữ liệu lỗi, nhiễu.
Cây quyết định là một sự lựa chọn tự nhiên khi chúng ta nghi ngờ sự tồn tại của các
quy tắc ẩn, không rõ ràng.
- Dễ dàng tính toán trong khi phân lớp
Mặc dù như chúng ta đã biết, cây quyết định có thể chứa nhiều định dạng, nhưng
trong thực tế, các thuật toán sử dụng để tạo ra cây quyết định thường tạo ra những
cây với số phân nhánh thấp và các test đơn giản tại từng node. Những test điển hình
là: so sánh số, xem xét phần tử của một tập hợp, và các phép nối đơn giản. Khi thực
thi trên máy tính, những test này chuyển thành các toán hàm logic và số nguyên là
những toán hạng thực thi nhanh và không đắt. Đây là một ưu điểm quan trọng bởi
trong môi trường thương mại, các mô hình dự đoán thường được sử dụng để phân lớp
hàng triệu thậm trí hàng tỉ bản ghi.
- Khả năng xử lý với cả thuộc tính liên tục và thuộc tính rời rạc
Cây quyết định xử lý “tốt” như nhau với thuộc tính liên tục và thuộc tính rời
rạc. Tuy rằng với thuộc tính liên tục cần nhiều tài nguyên tính toán hơn. Những thuộc
18
tính rời rạc đã từng gây ra những vấn đề với mạng neural và các kỹ thuật thống kê lại
thực sự dễ dàng thao tác với các tiêu chuẩn phân chia (splitting criteria) trên cây quyết
định: mỗi nhánh tương ứng với từng phân tách tập dữ liệu theo giá trị của thuộc tính
được chọn để phát triển tại node đó. Các thuộc tính liên tục cũng dễ dàng phân chia
bằng việc chọn ra một số gọi là ngưỡng trong tập các giá trị đã sắp xếp của thuộc tính
đó. Sau khi chọn được ngưỡng tốt nhất, tập dữ liệu phân chia theo test nhị phân của
ngưỡng đó.
- Thể hiện rõ ràng những thuộc tính tốt nhất
Các thuật toán xây dựng cây quyết định đưa ra thuộc tính mà phân chia tốt nhất
tập dữ liệu đào tạo bắt đầu từ node gốc của cây. Từ đó có thể thấy những thuộc tính
nào là quan trọng nhất cho việc dự đoán hay phân lớp.
2.4.2.3.2. Nhược điểm của cây quyết định
Dù có những sức mạnh nổi bật trên, cây quyết định vẫn không tránh khỏi có
những nhược điểm. Đó là cây quyết định không thích hợp lắm với những bài toán với
mục tiêu là dự đoán giá trị của thuộc tính liên tục như thu nhập, huyết áp hay lãi suất
ngân hàng… Cây quyết định cũng khó giải quyết với những dữ liệu thời gian liên tục
nếu không bỏ ra nhiều công sức cho việc đặt ra sự biểu diễn dữ liệu theo các mẫu liên
tục.
- Dễ xảy ra lỗi khi có quá nhiều lớp
Một số cây quyết định chỉ thao tác với những lớp giá trị nhị phân dạng yes/no
hay accept/reject. 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ỏ. Điều này xảy ra càng
nhanh hơn với cây mà có nhiều tầng hay có nhiều nhánh trên một node.
- Chi phí tính toán đắt để huấn luyện
Điều này nghe có vẻ mâu thuẫn với khẳng định ưu điểm của cây quyết định ở
trên. Nhưng quá trình phát triển cây quyết định đắt về mặt tính toán. Vì cây quyết
định có rất nhiều node trong trước khi đi đến lá cuối cùng. Tại từng node, cần tính
một độ đo (hay tiêu chuẩn phân chia) trên từng thuộc tính, với thuộc tính liên tục phải
thêm thao tác sắp xếp lại tập dữ liệu theo thứ tự giá trị của thuộc tính đó. Sau đó mới
có thể chọn được một thuộc tính phát triển và tương ứng là một phân chia tốt nhất.
19
Một vài thuật toán sử dụng tổ hợp các thuộc tính kết hợp với nhau có trọng số để phát
triển cây quyết định. Quá trình cắt tỉa cây cũng “đắt” vì nhiều cây con ứng cử phải
được tạo ra và so sánh.
2.4.3. Xây dựng cây quyết định
Quá trình xây dựng cây quyết định gồm hai giai đoạn:
- Giai đoạn thứ nhất: phát triển cây quyết định: 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 quy nạp theo cách thức chia để trị
cho tới 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 thứ hai: cắt, tỉa bớt các nhánh trên cây quyết định. Giai đoạn này
nhằm mục đích đơn giản hóa và khái quát hóa từ đó làm tăng độ chính xác
của cây quyết định bằng cách loại bỏ sự phụ thuộc vào mức độ nhiễu, lỗi của
dữ liệu huấn luyện mang tính chất thống kê, hay những sự biến đổi mà có thể
là đặc tính riêng biệt của dữ liệu huấn luyện. Giai đoạn này chỉ truy cập dữ
liệu trên cây quyết định đã được phát triển trong giai đoạn trước và quá trình
thực nghiệm cho thấy giai đoạn này không tốn nhiều tài nguyên tính toán,
như với phần lớn các thuật toán, giai đoạn này chiếm khoảng dưới 1% tổng
thời gian xây dựng mô hình phân lớp [24], [25].
Do vậy, ở đây tôi chỉ tập trung vào nghiên cứu giai đoạn phát triển cây quyết
định. Dưới đây là khung công việc của giai đoạn này:
- Bước 1: Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước.
- Bước 2: Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị
của thuộc tính đã chọn.
- Bước 3: Sắp xếp, phân chia tập dữ liệu huấn luyện tới node con.
- Bước 4: Nếu các ví dụ được phân lớp rõ ràng thì dừng. Ngược lại: lặp lại
bước 1 tới bước 4 cho từng node con.
20
2.4.4. Thuật toán sử dụng xây dựng cây quyết định
2.4.4.1. Thuật toán CLS
Thuật toán này được Hoveland và Hunt giới thiệu trong Concept Learning
System (CLS) vào 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 này được thiết kế theo chiến lược chia để trị từ trên xuống.
Thuật toán CLS là một trong những thuật toán ra đời sớm nhất. Nó chỉ áp dụng
cho các CSDL chứa ít thuộc tính, giá trị các thuộc tính dạng phân loại hay rời rạc.
Còn đối với các CSDL lớn và có chứa các thuộc tính mà giá trị của nó là liên tục thì
CLS làm việc không hiệu quả. Thuật toán có thể cho các kết quả khác nhau với cùng
một tập dữ liệu đầu vào. Bởi vì, thuật toán này chưa có tiêu chí để lựa chọn thuộc tính
trong quá trình xây dựng cây. Nhưng đây là thuật toán đơn giản, dễ cài đặt, phù hợp
trong việc hình thành ý tưởng và giải quyết những nhiệm vụ đơn giản.
Chi tiết về thuật toán xem trong [7]
2.4.4.2. Thuật toán ID3 (Interactive Dichotomizer 3)
Thuật toán ID3 được phát triển bởi Quinlan và được công bố vào cuối thập niên
70 của thế kỷ 20. Sau đó, thuật toán ID3 được giới thiệu và trình bày trong mục
Induction on Decition Trees, Machine Learning năm 1986. ID3 được xem như là một
cải tiến của CLS 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ại mỗi bước. ID3 xây dựng cây quyết định từ trên xuống (top-down) [18]
- Entropy: dùng để do tính thuần nhất của một tập dữ liệu. Entropy của một tập
S được tính theo công thức (2.1) [18]
Entropy (S) = −𝑃+𝑙𝑜𝑔2(𝑃+)−𝑃−𝑙𝑜𝑔2(𝑃−) (2.1)
+ Trong trường hợp các mẫu dữ liệu có hai thuộc tính phân lớp “Yes” (+), “No”
(-). Ký hiệu 𝑃+ là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là
“Yes”, và hiệu 𝑃− là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định
là “No” trong tập S.
+ Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có công thức
sau:
21
Entropy (S) = ∑ (−𝑃𝑖𝑙𝑜𝑔2(𝑃𝑖))𝑛𝑖=1 (2.2)
Trong đó 𝑃𝑖 là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra.
+ Các trường hợp đặc biệt
▪ Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì
Entropy (S) = 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.
▪ Các trường hợp còn lại 0 < Entropy (S) < 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 [7]
+ Cho tập dữ liệu S gồm có n thuộc tính 𝐴𝑖(𝑖 = 1, 2 … 𝑛) giá trị Information
của thuộc tính 𝐴𝑖 ký hiệu là 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 (𝐴𝑖) được xác định bởi công thức
𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 (𝐴𝑖) = − ∑ 𝑙𝑜𝑔2(𝑃)𝑖 = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆)𝑛𝑖=1 (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
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛(𝐴) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐴)
= 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − ∑|𝑆𝑣|
|𝑆|𝑣 𝑣𝑎𝑙𝑢𝑒 (𝐴) 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑣) (2.4)
Trong đó:
▪ S là tập hợp ban đầu với thuộc tính A. Các giá trị của v tương ứng là các
giá trị của thuộc tính A.
▪ 𝑆𝑣 bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v.
▪ |𝑆𝑣| là số phần tử của tập 𝑆𝑣
▪ |𝑆| là số phần tử của tập 𝑆
Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước triển
khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất.
22
Thuật toán ID3 [2] [18]
ID3 (Examples, Target_attribute, Attributes)
Examples là tập huấn luyện. Target_attribute là thuộc tính có giá trị để dự đoán
cho cây. Attributes là một danh sách các thuộc tính khác dùng kiểm tra việc học của
cây quyết định. Kết quả trả về một cây quyết định được phân loại chính xác bởi những
tập huấn luyện.
Tạo một nút Root cho cây
If tất cả tập Examples có trong cây, Return cây có nút Root duy nhất được
gán với nhãn “+”
If tất cả tập Examples không có trong cây, Return cây có nút Root duy nhất
được gán với nhãn “-”
If tập Attributes rỗng, Return cây có nút Root duy nhất được gán với nhãn
là giá trị phổ biến nhất của tập Target_attribute trong tập Examples
Nếu không Begin
o A Thuộc tính trong tập Attributes có khả năng phân loại tốt nhất đối với
tập Examples
o Thuộc tính quyết định cho nút Root A
o For each giá trị có trong cây, vi của thuộc tính A
Thêm một nhánh cây mới dưới nút Root, tương ứng với trường hợp A
= vi
Xác định tập 𝐸𝑥𝑎𝑚𝑝𝑙𝑒𝑠𝑣𝑖 là tập hợp con của tập Examples có giá trị vi
của A
If 𝐸𝑥𝑎𝑚𝑝𝑙𝑒𝑠𝑣𝑖 rỗng
• Dưới nhánh mới này thêm một nút lá với nhãn là giá trị phổ biến nhất
của tập Target_attribute trong tập Examples.
• Else dưới nhánh mới này thêm cây con
ID3 (𝐸𝑥𝑎𝑚𝑝𝑙𝑒𝑠𝑣𝑖, Target_attribute, Attributes – {A})
End
Return Root
23
Với việc tính toá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 toán ID3 được xem là một cải tiến của thuật toán CLS.
Khi áp dụng thuật toán ID3 cho cùng một tập dữ liệu đầu vào và thử nhiều lần
thì cho cùng một kết quả. Bởi vì, thuộc tính ứng viên được lựa chọn ở mỗi bước trong
quá trình xây dựng cây được lựa chọn trước.
Tuy nhiên, thuật toán này cũng chưa giải quyết được vấn đề thuộc tính số, liên
tục, số lượng các thuộc tính còn bị hạn chế và giải quyết hạn chế với vấn đề dữ liệu
bị thiếu hoặc nhiễu.
2.4.4.3. Thuật toán C4.5
Thuật toán C4.5 được phát triển và công bố bởi Quinlan vào năm 1996. Thuật
toán C4.5 là một thuật toán được cải tiến từ thuật toán ID3 với việc cho phép xử lý
trên tập dữ liệu có các thuộc tính số và làm việc được với tập dữ liệu thiếu và dữ liệu
nhiễu. Nó thực hiện phân lớp tập mẫu dữ liệu theo chiến lược ưu tiên theo chiều sâu.
Thuật toán xét tất cả các phép thử có thể để phân chia tập dữ liệu đã cho và chọn ra
một phép thử có giá trị GainRatio tốt nhất. GainRatio là một đại lượng để đánh giá
độ hiệu quả của thuộc tính, dùng để thực hiện phép tách trong thuật toán để phát triển
cây quyết định. GainRatio được tính dựa trên kết quả tính toán đại lượng Information
Gain theo công thức sau
𝐺𝑎𝑖𝑛𝑅𝑎𝑡𝑖𝑜𝑛 (𝑋, 𝑇) = 𝐺𝑎𝑖𝑛 (𝑋,𝑇)
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜 (𝑋,𝑇) (2.5)
Với
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜 (𝑋, 𝑇) = − ∑|𝑇𝑖|
|𝑇|𝑖 𝑉𝑎𝑙𝑢𝑒 (𝑋) 𝑙𝑜𝑔2|𝑇𝑖|
|𝑇| (2.6)
Trong đó:
- Value (X) là tập các giá trị của thuộc tính X
- 𝑇𝑖 là tập con của tập T ứng với thuộc tính X = giá trị là 𝑣𝑖
Đối với các thuộc tính liên tục, chúng ta tiến hành phép thử nhị phân cho mọi
giá trị của thuộc tính đó. Để thu thập được giá trị Entropy Gain của tất cả các phép
thử nhị phân một cách hữu hiệu ta tiến hành sắp xếp các dữ liệu theo giá trị của thuộc
tính liên tục đó bằng thuật toán Quicksort.
24
Thuật toán xây dựng cây quyết định C4.5 xem thêm trong [7], [19].
Một số công thức được sử dụng
𝐼𝑛𝑓𝑜𝑥(𝑇) = − ∑|𝑇𝑖|
|𝑇|∗ 𝐼𝑛𝑓𝑜 (𝑇𝑖)𝑛
𝑖=1 (2.7)
𝐺𝑎𝑖𝑛 (𝑋) = 𝐼𝑛𝑓𝑜 (𝑇) − 𝐼𝑛𝑓𝑜𝑥 (𝑇) (2.8)
Công thức (2.8) được sử dụng làm tiêu chuẩn để lựa chọn thuộc tính khi phân
lớp. Thuộc tính được chọn là thuộc tính có giá trị Gain tính theo (2.8) đạt giá trị lớn
nhất.
Một số cải tiến của thuật toán C4.5
- Làm việc với thuộc tính đa trị
Tiêu chuẩn (2.8) có một khuyết điểm là không chấp nhận các thuộc tính đa trị.
Vì vậy, thuật toán C4.5 đã đưa ra các đại lượng GainRatio và SplitInfo
(SplitInformation), chúng được xác định theo các công thức sau:
𝑃 =𝑓𝑟𝑒𝑞 (𝐶𝑗 , 𝑇)
|𝑆|
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜 (𝑋) = − ∑𝑇𝑖
𝑇 𝑙𝑜𝑔2 (
𝑇𝑖
𝑇)𝑛
𝑖=1 (2.9)
𝐺𝑎𝑖𝑛𝑅𝑎𝑡𝑖𝑜 (𝑋) = 𝐺𝑎𝑖𝑛 (𝑋)
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜 (𝑋) (2.10)
Giá trị SplitInfo là đại lượng đánh giá thông tin tiềm năng thu nhập được khi
phân chia tập T thành n tập hợp con.
GainRatio là tiêu chuẩn để đánh giá việc lựa chọn thuộc tính phân loại.
- Làm việc với dữ liệu thiếu
Thuật toán vừa xây dựng dựa vào giả thuyết tất cả các mẫu dữ liệu có đủ các
thuộc tính. Nhưng trong thực tế, xảy ra hiện tượng dữ liệu bị thiếu, tức là ở một số
mẫu dữ liệu có những thuộc tính không được xác định, hoặc mâu thuẫn, không bình
thường. Ta xem xét kỹ hơn với trường hợp dữ liệu bị thiếu. Đơn giản nhất là không
đưa các mẫu với các giá trị bị thiếu vào, nếu làm như vậy thì có thể dẫn đến tình trạng
thiếu các mẫu học. Giả sử T là một tập hợp gồm các mẫu cần được phân loại, X là
phép kiểm tra theo thuộc tính L, U là số lượng các giá trị bị thiếu của thuộc tính L.
Khi đó ta có:
25
𝐼𝑛𝑓𝑜 (𝑇) = − ∑𝑓𝑟𝑒𝑞 (𝐶𝑗,𝑇)
|𝑇|−𝑈∗ 𝑙𝑜𝑔2 (
𝑓𝑟𝑒𝑞 (𝐶𝑗,𝑇)
|𝑇|−𝑈)𝑘
𝑗=1 (2.11)
𝐼𝑛𝑓𝑜𝑥 (𝑇) = − ∑|𝑇|
|𝑇|−𝑈∗ 𝑙𝑜𝑔2(𝑇𝑖)𝑛
𝑗=1 (2.12)
Trong trường hợp này, khi tính tần số freq (𝐶𝑖 , 𝑇) ta chỉ tính riêng các mẫu với
giá trị trên thuộc tính L đã xác định. Khi đó tiêu chuẩn (2.8) được viết lại bằng công
thức (2.13) như sau:
𝐺𝑎𝑖𝑛 (𝑋) = |𝑇|−𝑈
|𝑇| (𝐼𝑛𝑓𝑜 (𝑇) − 𝐼𝑛𝑓𝑜𝑥 (𝑇)) (2.13)
Tương tự thay đổi tiêu chuẩn (2.13). Nếu phép kiểm tra có N giá trị đầu vào thì
tiêu chuẩn (2.13) được tính như trường hợp chia N tập hợp ban đầu thành (N+1) tập
hợp con.
Giả sử phép thử X có các giá trị 𝑂1, 𝑂2 … 𝑂𝑛 được lựa chọn theo kiểu chuẩn
(2.13), ta cần xử lý như thế nào với các dữ liệu bị thiếu. Giả sử mẫu từ tập hợp T với
đầu ra là 𝑂𝑖 có liên quan đến tập hợp 𝑇𝑖 thì khả năng mẫu đó thuộc tập hợp 𝑇𝑖 là 1.
Giả sử mỗi mẫu trong 𝑇𝑖 có một chỉ số xác định xác suất thuộc tập hợp 𝑇𝑖. Nếu
mẫu có các giá trị thuộc tính L thì có trọng số bằng 1. Nếu trong trường hợp ngược
lại, thì mẫu này liên quan đến tập con 𝑇1, 𝑇2 … 𝑇𝑛 với xác suất tương ứng là:
|𝑇1|
|𝑇|−𝑈,
|𝑇2|
|𝑇|−𝑈, … ,
|𝑇𝑛|
|𝑇|−𝑈 (2.14)
Ta có thể dễ dàng thấy được rằng tổng các xác suất này bằng 1.
∑|𝑇𝑖|
|𝑇|−𝑈= 1𝑛
𝑖=1 (2.15)
Tóm lại giải pháp này được phát biểu như sau: Xác suất xuất hiện của các giá
trị bị thiếu tỷ lệ thuận với xác suất xuất hiện của các giá trị không thiếu.
Trong thuật toán này đã giải quyết được vấn đề làm việc với thuộc tính số (liên
tục), thuộc tính có nhiều giá trị và vấn đề dữ liệu bị thiếu, nhiễu. Trong C4.5 thực
hiện việc phân ngưỡng với thuộc tính số bằng phép tách nhị phân đưa vào đại lượng
GainRatio thay thế cho đại lượng Gain của ID3. Để giải quyết được vấn đề thuộc tính
có nhiều giá trị.
26
Ngoài ra, còn có bước cắt tỉa nhánh không phù hợp. Tuy nhiên, yếu điểm của
thuật toán này là làm việc không hiệu quả với CSDL lớn vì chưa giải quyết được vấn
đề bộ nhớ.
2.4.5. Cắt tỉa cây quyết định
Qua tìm hiểu các thuật toán xây dựng cây quyết định ở trên, ta thấy việc xây
dựng cây bằng cách phát triển nhánh cây đầy đủ theo chiều sâu để phân lớp hoàn toàn
các mẫu huấn luyện; như thuật toán CLS và thuật toán ID3 đôi khi gặp khó khăn trong
các trường hợp dữ liệu nhiễu hoặc dữ liệu bị thiếu không đủ để đại diện cho một quy
luật; tức là tạo ra các nút có số mẫu rất nhỏ. Trong trường hợp này, nếu thuật toán vẫn
cứ phát triển cây, sẽ dẫn đến một tình huống mà ta gọi là tình trạng “Over fitting”
trong cây quyết định. [7], [11]
Vấn đề Over fitting là một khó khăn trong việc nghiên cứu và ứng dụng cây
quyết định. Để giải quyết tình trạng này người ta sử dụng phương pháp cắt tỉa cây
quyết định. Có hai phương pháp cắt tỉa cây quyết định.
2.4.5.1. Tiền cắt tỉa (Prepruning)
Chiến thuật tiền cắt tỉa nghĩa là sẽ dừng sớm việc phát triển cây trước khi nó
vươn đến điểm mà việc phân lớp các mẫu huấn luyện được hoàn thành. Nghĩa là trong
quá trình xây dựng cây, một nút có thể sẽ không được tách thêm bước nữa nếu như
kết quả của phép tách đó rơi vào một ngưỡng gần như chắc chắn. Nút đó trở thành
nút lá và được gán nhãn là nhãn của lớp phổ biến nhất của tập các mẫu tại nút đó [7].
2.4.5.2. Hậu cắt tỉa (Postpruning)
Chiến thuật này ngược với chiến thuật tiền cắt tỉa. Nó cho phép phát triển cây
đầy đủ sau đó mới cắt tỉa. Nghĩa là xây dựng cây sau đó mới thực hiện cắt bỏ các
nhánh không hợp lý. Trong quá trình xây dựng cây theo chiến thuật hậu cắt tỉa thì cho
phép tình trạng Over fitting xảy ra. Nếu một nút mà các cây con của nó bị cắt thì nó
sẽ trở thành nút lá và nhãn của lá được gán là nhãn của lớp phổ biến nhất của các con
trước đó của nó [7], [11].
Trong thực tế, phương pháp hậu cắt tỉa là một phương pháp khá thành công cho
việc tìm ra các giả thuyết chính xác cao. Chiến thuật hậu cắt tỉa được tiến hành thông
qua việc tính toán các lỗi sau:
27
Giả sử ta gọi: E (S) là lỗi tĩnh (Static error hay expected error) của một nút S;
BackUpError (S) là lỗi từ các nút con của S (Back Up Error); Error (S) là lỗi của nút
S. Các giá trị này được tính như sau:
Error (S) = Min (E (S), BackUpError (S)) (2.16)
E (S) = (N-n+1)/ (N+2)
Trong đó: N là tổng số mẫu ở nút S, n là số mẫu của lớp phổ biến nhất trong S.
Trong trường hợp tổng quát, nếu thuộc tính lớp có K giá trị (K lớp) thì:
E (S) = (N – n + K -1)/ (N+K)
𝐵𝑎𝑐𝑘𝑈𝑝𝐸𝑟𝑟𝑜𝑟 (𝑆) = ∑ 𝑃𝑖 𝐸𝑟𝑟𝑜𝑟 (𝑆𝑖)𝑖 (2.17)
Trong đó: 𝑆𝑖 là nút con của S, 𝑃𝑖 là tỷ lệ số mẫu trong 𝑆𝑖 trên số mẫu trong S.
Như vậy các nút lá sẽ có lỗi Error (𝑆𝑖) = E (𝑆𝑖) do nút lá không có nút con dẫn
đến không có lỗi BackUpError. Nếu BackUpError (S) ≥ E (S) thì chiến thuật hậu cắt
tỉa cây quyết định sẽ cắt tại nút S (tức là cắt bỏ các cây con của S).
Tóm lại, việc cắt tỉa cây nhằm: tối ưu hóa cây kết quả. Tối ưu về kích cỡ cây và
về độ chính xác của việc phân lớp bằng cách cắt bỏ các nhánh không phù hợp (over
fitted branches). Để thực hiện việc cắt tỉa cây thì có các kỹ thuật cơ bản sau đây [7],
[22], [29].
- Sử dụng tập hợp tách rời của mẫu học để đánh giá tính hữu dụng của việc
hậu cắt tỉa những nút trong cây. Sử dụng kỹ thuật cắt tỉa cây này có thuật toán
CART, gọi tắt là chi phí phức tạp (Cost – Complexity prunning).
- Áp dụng phương pháp thống kê để đánh giá và cắt bỏ các nhánh có độ tin cậy
kém hoặc mở rộng tiếp các nhánh có độ chính xác cao. Kỹ thuật cắt tỉa này
được gọi là cắt tỉa bi quan và thường được sử dụng để cắt tỉa các cây được
xây dựng theo thuật toán ID3 và C4.5.
- Kỹ thuật mô tả độ dài tối thiểu – MDL (Minimum Description Length). Kỹ
thuật này không cần thiết phải kiểm tra các mẫu và nó thường được sử dụng
trong các thuật toán SLIQ, SPRINT.
28
2.4.6. Đánh giá độ chính xác của mô hình phân lớp
Ước lượng độ chính xác của bộ phân lớp là quan trọng ở chỗ nó cho phép dự
đoán được độ chính xác của các kết quả phân lớp những dữ liệu tương lai. Độ chính
xác còn giúp so sánh các mô hình phân lớp khác nhau.
Cross-validation là một phương pháp thống kê đánh giá và so sánh các thuật
toán học bằng cách chia dữ liệu thành hai phân đoạn: một phân đoạn sử dụng để huấn
luyện một mô hình và phân đoạn khác được sử dụng để xác thực mô hình đó.
Cross-validation dùng để ước tính hiệu suất của mô hình học được từ dữ liệu có
sẵn bằng cách sử dụng một thuật toán. Nói cách khác, để đánh giá tổng quát một thuật
toán. Cross-validation còn dùng để so sánh hiệu suất của hai hoặc nhiều hơn các thuật
toán khác nhau và đưa ra thuật toán tốt nhất cho các dữ liệu có sẵn, hoặc cách khác
để so sánh hiệu suất của hai hoặc nhiều hơn các biến thể của một mô hình tham số.
[20], [21], [30]
Phương pháp k-fold cross-validation: Tập dữ liệu ban đầu được chia ngẫu nhiên
thành k tập con (fold) có kích thước xấp xỉ nhau S1, S2…, Sk. Quá trình học và test
được thực hiện k lần. Tại lần lặp thứ i, Si là tập dữ liệu kiểm tra, các tập còn lại hợp
thành tập dữ liệu huấn luyện. Có nghĩa là, đầu tiên việc dạy được thực hiện trên các
tập S2, S3,…, Sk, sau đó test trên tập S1; tiếp tục quá trình dạy được thực hiện trên tập
S1, S3, S4,…, Sk, sau đó test trên tập S2; và cứ thế tiếp tục cho các tập còn lại.
Độ chính xác là toàn bộ số phân lớp đúng từ k lần lặp chia cho tổng số mẫu của
tập dữ liệu ban đầu. [27], [28]
Hình 2.5: k-fold cross –validation [3]
DATASET
SPLIT
Learning
Algorithm
Classifier
ESTIMATE
29
2.4.7. Các công trình nghiên cứu trước đây liên quan đến luận văn
- Có một số công trình và ứng dụng đã đưa ra một số phương pháp nhằm hỗ
trợ cho học sinh trong việc chọn ngành và hướng nghiệp cho học sinh như:
+ Công cụ trắc nghiệm hướng nghiệp miễn phí tại địa chỉ website của Đại
học Quốc gia Tp.HCM (http://career.vnuhcm.edu.vn) (do nhóm tác giả
TS. Lê Thị Thanh Mai, TS. Hồ Thiệu Hùng, TS. Nguyễn Đức Nghĩa và
các đồng sự).
+ Bộ trắc nghiệm hướng nghiệp Jim Barrett và Geoff Williams (do Trần Thị
Thu Mai (chủ nhiệm đề tài) 2005-2006. Ứng dụng trắc nghiệm hướng
nghiệp của Jim Barrett và Geoff Williams vào định hướng nghề nghiệp
cho học sinh THPT).
- Hai công trình nghiên cứu trên có rất nhiều tính ứng dụng thực tiễn. Tuy
nhiên, hệ thống thứ nhất cho kết quả nhiều ngành học về cùng một lĩnh vực
nào đó, còn hệ thống thứ hai có tính phí người dùng nên các em học sinh khó
tiếp cận được.
30
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG
Ở chương 2, đã trình bày việc KPDL bằng phương pháp sử dụng cây quyết định.
Để minh họa cho lý thuyết đã trình bày trong luận văn, phần này luận văn trình bày
về quá trình xây dựng và cài đặt bài toán mô phỏng kỹ thuật KPDL bằng cây quyết
định dựa trên thuật toán ID3.
3.1. Giới thiệu bài toán
Là chương trình được xây dựng nhằm mục đích thông qua các câu hỏi trắc
nghiệm, giúp học sinh THPT có thể tự định hướng và lựa chọn đúng ngành học phù
hợp với năng lực, tính cách và sở thích của bản thân, đồng thời giúp cho các cán bộ
làm công tác tư vấn hướng nghiệp trong các trường THPT có thể nắm rõ và tư vấn
chính xác hơn cho các em học sinh trong việc xác định ngành học của mình.
3.2. Mô hình cấu trúc hệ thống
Hình 3.1: Mô hình cấu trúc hệ thống tư vấn chọn ngành học
3.2.1. Mô tả đầu vào/ đầu ra
Hệ trợ giúp tư vấn chọn ngành học được xây dựng với đầu ra (Output) là một
ngành học phù hợp với một học sinh nào đó; Giá trị đầu ra này sẽ phụ thuộc vào các
yếu tố độc lập của đầu vào (Input) là tính cách, sở thích và năng lực của học sinh
thông qua bộ câu hỏi trắc nghiệm định hướng nghề nghiệp của John Holland. [9],
[17]
Kho dữ liệu
Thu thập, tổng hợp dữ liệu
khảo sát chọn ngành học
Khai phá dữ liệu
(Cây quyết định, luật kết hợp …) Tập luật
Hệ thống suy diễn
Giao diện trắc nghiệm
tư vấn chọn ngành học
31
3.2.2. Phương pháp xây dựng hệ thống
Từ phát biểu của bài toán như trên luận văn lựa chọn và thiết kế hệ thống sử
dụng kiểu mô hình cây quyết định với thuật toán ID3.
3.3. Phân tích và thiết kế hệ thống
3.3.1. Thiết kế CSDL
Thiết kế dữ liệu với SQL Server 2008 R2
3.3.1.1. Table College (Thông tin các trường ĐH, CĐ khu vực phía nam)
Bảng 3.1: Bảng thông tin các trường ĐH, CĐ
Mô tả:
- TenTruong: Chi tiết tên trường ĐH, CĐ
- MaTruong: Mã trường theo quy định của Bộ GDĐT
- LoaiTruong: Loại trường (0: Tư thục, 1: Công lập)
- CapBac: Trình độ đào tạo (1: Cao đẳng, 2: Đại học)
- HienThi: Hiển thị (True: Hiển thị, False: Không hiển thị)
- Ghichu: Ghi chú
- WebSite: Địa chỉ website của trường
- DiaChi: Địa chỉ của trường
32
3.3.1.2. Table DHCD_Nganh (Ngành học của các trường ĐH, CĐ)
Bảng 3.2: Bảng lưu các ngành học của các trường ĐH, CĐ
Mô tả:
- MaNganh: Mã ngành đào tạo theo thông tư 14
- MaTruong: Mã trường theo QĐ của Bộ GDĐT
- DiemChuan: Chứa điểm chuẩn của ngành đào tạo
- KhoiThi: Khối thi của ngành đào tạo
- TuyenSinh: Tình trạng hiện tại của ngành tuyển sinh (True: Được phép tuyến
sinh ngành đó, False: Dừng/ Tạm dừng tuyển sinh ngành đó)
3.3.1.3. Table DiemTrungBinh (Lưu trữ ĐTB của học sinh)
Bảng 3.3: Bảng lưu điểm trung bình
Mô tả:
- Lop10: ĐTB lớp 10
- Lop11: ĐTB lớp 11
- Lop12: ĐTB lớp 12
- MaMonHoc: Mã môn học
- KhoiThi: Khối thi
- SinhVienId: Mã SV
33
3.3.1.4. Table Groups (6 nhóm sở thích)
Bảng 3.4: Bảng lưu 6 nhóm sở thích
Mô tả:
- GroupName: Tên nhóm sở thích (R, I, A, S, E, C)
- Description: Mô tả 6 nhóm sở thích
- DisplayOrder: Mã nhóm sở thích (1, 2, 3, 4, 5, 6)
3.3.1.5. Table Groups_Nganh (Mã ngành thuộc vào nhóm sở thích (trong 6 nhóm))
Bảng 3.5: Bảng Mã ngành thuộc nhóm ngành
Mô tả:
- NhomId: Mã nhóm sở thích (1, 2, 3, 4, 5, 6)
- Manganh: Mã ngành đào tạo theo thông tư 14
3.3.1.6. Table KhaoSat_SinhVien (Dữ liệu kết quả khảo sát sinh viên)
Bảng 3.6: Bảng lưu kết quả khảo sát sinh viên
Mô tả:
- QuestionID: Mã số câu hỏi
- ChooseLevel: Điểm số lựa chọn (có 5 mức ứng với điểm số từ 0 - 4)
- SinhVienId: Mã số sinh viên tham gia khảo sát
- SoLan: số lần thực hiện khảo sát
34
3.3.1.7. Table KhoiThi (Dữ liệu khối thi)
Bảng 3.7: Bảng khối thi
Mô tả:
- Khoi: Khối thi (A, A1, B, C, D1, D2, D3, D4, D5, D6, H, N, M, T, V, S, R,
K)
- Mon1: tên môn thi ứng với khối thi
- Mon2: tên môn thi ứng với khối thi
- Mon3: tên môn thi ứng với khối thi
3.3.1.8. Table Nganh (Ngành học)
Bảng 3.8: Bảng Ngành học
Mô tả:
- TenNganh: Tên ngành
- Ma: Mã ngành
3.3.1.9. Table Nhom_Nganh (Nhóm ngành)
Bảng 3.9: Bảng Nhóm ngành
Mô tả:
- Ma: Mã nhóm ngành
- TenNhom: Tên nhóm ngành
35
3.3.1.10. Table Province (Tỉnh)
Bảng 3.10: Bảng chứa thông tin tỉnh
Mô tả:
- Code: Mã tĩnh theo QĐ của Bộ GDĐT
- ProvinceName: Tên tỉnh
- ParentID: Huyện trực thuộc tỉnh
3.3.1.11. Table Questions (Bảng câu trắc nghiệm)
Bảng 3.11: Bảng câu hỏi trắc nghiệm
Mô tả:
- QuestionName: Nội dung câu trắc nghiệm
- GroupId: Câu trắc nghiệm đó thuộc nhóm sở thích nào (1, 2, 3, 4, 5, 6)
- DisplayOrder: Thứ tự câu hỏi hiển thị
- QuestionType: Nhóm câu hỏi
36
3.3.1.12. Table SinhVien (Chứa thông tin khảo sát về chọn ngành học của sinh viên)
Bảng 3.12: Bảng thông tin khảo sát về chọn ngành học của sinh viên
Mô tả:
- TenDangNhap: Tên đăng nhập hệ thống
- HoTen: Họ tên
- NgaySinh: Ngày tháng năm sinh
- NoiSinh: Nơi sinh
- DiaChi: Địa chỉ
- DienThoai: Điện thoại
- MaNhom1 Mã nhóm ngành 1
37
- MaNganh1: Mã ngành 1
- MaNhom2: Mã nhóm ngành 2
- MaNganh2: Mã ngành 2
- KhaNang: Tự chọn nhóm sở thích (1, 2, 3, 4, 5, 6)
- CreateDate: Ngày giờ tạo tài khoản
- Passwords: Mật khẩu đăng nhập hệ thống
- ThichHocNganh: Thích học ngành nào
- LyDo: Lý do thích ngành học đó
- GioiTinh: Giới tính
- NoiHocTHPT: Tỉnh
- TruongTHPT: Trường học THPT
- Email: Địa chỉ Email
- ResultA: Tổng điểm nhóm A
- ResultR: Tổng điểm nhóm R
- ResultC: Tổng điểm nhóm I
- ResultI: Tổng điểm nhóm I
- ResultS: Tổng điểm nhóm S
- ResultE: Tổng điểm nhóm E
3.3.1.13. Table Survey_Answer (Chi tiết thông tin khảo sát về chọn ngành học của
Sinh viên)
Bảng 3.13: Bảng chi tiết thông tin khảo sát về chọn ngành học của sinh viên
Mô tả:
- QuestionsId: Mã câu trắc nghiệm
- ChooseLevel: Điểm số trả lời của câu trắc nghiệm (Mức 1: 0 điểm, Mức 2: 1
điểm, Mức 3: 2 điểm, Mức 4: 3 điểm, Mức 5: 4 điểm)
- TesterId: Mã người trả lời bảng khảo sát
38
3.3.1.14. Table Tester (Thông tin phiếu khảo sát)
Bảng 3.14: Bảng thông tin phiếu khảo sát
Mô tả:
- FullName: Họ tên
- Address: Địa chỉ
- Favorite: Sở thích
- Gender: Giới tính
- DateOfBirth: Ngày sinh
- WhereBirth: Nơi sinh
39
- Phone: Số điện thoại
- HightSchool: Trường học THPT
- Province: Tỉnh
- Department: Sở thích học ngành
- Reason: Lý do thích học ngành
- Scores: Điểm thi ĐH, CĐ
- SchoolTest: Mã trường tham gia thi tuyển sinh
- A: Khối A
- B: Khối B
- C: Khối C
- D: Khối D
- Orther: Khối thi khác
- SchoolLearning: Mã trường đang học
- IsMatch: Chọn phù hợp/ không phù hợp ngành học hiện tại
- Reason1: Lý do phù hợp hay không phù hợp ngành học
- ResultR: Kết quả nhóm R
- ResultI: Kết quả nhóm I
- ResultA: Kết quả nhóm A
- ResultS: Kết quả nhóm S
- ResultC: Kết quả nhóm C
- ResultE: Kết quả nhóm E
- MaNganh: Mã ngành
3.3.1.15. Table TruongTHPT (Trường THPT)
Bảng 3.15: Bảng thông tin trường THPT
40
Mô tả:
- MaTinh: Mã số tỉnh thành
- MaTruong: Mã trường THPT
- TenTruong: Tên trường THPT
- DiaChi: Địa chỉ trường THPT
- KhuVuc: Trường thuộc khu vực nào (1, 2, 3, 2NT)
3.3.2. Xử lý và huấn luyện dữ liệu
Phần 1: Khai phá dữ liệu
Dữ liệu được thu thập thông qua phiếu khảo sát sinh viên (thông tin gồm có:
ngành học, điểm TB, sở thích, v.v…) đang theo học các ngành (Quản trị kinh doanh,
Ngôn ngữ Anh, Sư phạm Toán học, Giáo dục Tiểu học, Công nghệ kỹ thuật công
trình xây dựng, Quản lý công nghiệp, Việt Nam học, Công nghệ thông tin, Kế toán,
Tài chính – Ngân hàng, Khoa học thư viện), dữ liệu chính dùng để khai phá bao gồm
55 thuộc tính: trong đó 54 thuộc tính là của từng nhận định khác nhau (được đánh giá
theo 5 mức độ) và 1 thuộc tính là mã ngành học (với 11 ngành học đã được khảo sát).
Thực hiện làm sạch, tiền xử lý dữ liệu, loại bỏ những dữ liệu không phù hợp, thiếu
thông tin, sai yêu cầu. Sau đó sử dụng thuật toán ID3 để sinh ra các luật từ dữ liệu
thu thập được.
Phần 2: Tư vấn cho người dùng
Chương trình ứng dụng được xây dựng trên giao diện website, sử dụng ngôn
ngữ lập trình ASP. NET. Đưa các luật được sinh ra từ phần 1 vào CSDL SQL Server
của website, ta có bảng luật lưu trữ các luật chọn ngành học.
Người dùng thực hiện đăng nhập hệ thống, trả lời các câu hỏi trắc nghiệm, chương
trình sẽ so sánh nội dung câu trả lời đó với tập luật, nếu trùng với một luật nào đó, sẽ
xuất ra kết quả ngành học để tư vấn cho người dùng.
41
3.3.3. Xây dựng và thiết kế giao diện của chương trình
Người dùng sử dụng Internet, đăng nhập vào trang web với địa chỉ sau:
http://lifeyou.net/login.aspx
- Giao diện đăng nhập vào chương trình
Hình 3.2: Giao diện chương trình
Nếu chưa có tài khoản đăng nhập, người dùng thực hiện tạo tài khoản bằng cách
click vào mục Đăng ký. Sau đó thực hiện điền đầy đủ các thông tin trên Phiếu đăng
ký.
- Giao diện Phiếu đăng ký
Hình 3.3: Giao diện Phiếu đăng ký tài khoản sử dụng
42
+ Các thông tin có dấu (*) là thông tin bắt buộc nhập.
+ Mục “Học tại tỉnh” chứa thông tin các tỉnh thành (dữ liệu gồm 63 tỉnh thành),
sau khi chọn tỉnh, mục “Trường THPT” sẽ hiển thị các trường THPT thuộc tỉnh
đó (dữ liệu gồm 4059 trường THPT trong cả nước theo danh mục của Bộ Giáo
dục và Đào tạo năm 2013).
+ Trong mục “Hãy chọn nhóm ngành bạn dự định học”, mục nhóm ngành 1, 2
chứa thông tin của 114 nhóm ngành đã phân chia trình độ đại học và cao đẳng,
sau khi chọn nhóm ngành, tên ngành học thuộc nhóm ngành đó sẽ hiển thị tại
mục Ngành 1, 2 (dữ liệu gồm 453 ngành học đại học và cao đẳng), dữ liệu này
được lấy từ Thông tư 14/2010/TT-BGDĐT, ngày 27 tháng 04 năm 2010 của Bộ
trưởng Bộ Giáo dục và Đào tạo về việc ban hành Danh mục giáo dục, đào tạo
cấp IV trình độ cao đẳng, đại học.
+ Trong mục “Chọn nhóm khả năng, sở thích phù hợp nhất với bạn (chọn ít nhất
1 hoặc 2 nhóm”, chứa 6 nhóm sở thích nghề nghiệp theo lý thuyết của John
Holland [9] [17]
Sau khi thực hiện đăng ký các thông tin trên “Phiếu đăng ký”, người dùng chọn
vào nút “Đăng ký”. Và thực hiện với bảng câu hỏi trắc nghiệm trong giao diện “Phiếu
khảo sát thông tin”
- Giao diện Phiếu khảo sát thông tin
43
44
Hình 3.4: Giao diện Phiếu khảo sát thông tin về sở thích, tích cách
Sau khi thực hiện trả lời các câu trắc nghiệm, người dùng chọn nút “Next”. Xuất
hiện giao diện như sau:
45
- Giao diện kết quả thực hiện tính tổng điểm từng nhóm sở thích, và chọn ra 2 nhóm
có điểm số cao nhất.
Hình 3.5: Giao diện kết quả thực hiện tính tổng điểm từng nhóm sở thích
+ Trước khi xuất ra kết quả 2 nhóm có điểm số cao nhất, chương trình sẽ thực
hiện kiểm tra, nếu điểm số trên 3 nhóm tương đương ( 2 điểm) hoặc trùng điểm
nhau, chương trình sẽ thực hiện chọn 2 nhóm nào có điểm thành phần là 3 hoặc
4 điểm làm kết quả cuối cùng. (Ví dụ: Ta có 3 nhóm R, I, S trùng điểm nhau (15
điểm), trong đó điểm thành phần của R, I có các điểm số 3, 4, 4, 4 và điểm của
S là 2, 2, 2, 2, 1, 2, 2, 2. Như vậy chương trình sẽ chọn 2 nhóm R, I làm kết quả
cuối cùng)
+ Sau khi chọn ra 2 nhóm có điểm số cao nhất, chương trình sẽ thực hiện so sánh
2 nhóm kết quả này với nội dung đăng ký ban đầu của người dùng. Có 2 trường
hợp sau:
▪ Nếu kết quả 2 nhóm lựa chọn giống với thông tin đăng ký ban đầu sẽ cho kết
quả như hình 3.5.
▪ Nếu kết quả 2 nhóm lựa chọn khác với thông tin đăng ký ban đầu, chương
trình sẽ thông báo cho người dùng “Kết quả của bạn không phù hợp khả năng
46
ban đầu bạn chọn. Bạn chấp nhận kết quả này không? Nếu có chọn “Tiếp
tục””, kết quả như hình 3.6.
Hình 3.6: Giao diện kết quả thực hiện tính tổng điểm từng nhóm sở thích (thông tin
đăng ký ban đầu khác với kết quả thực hiện khảo sát)
• Nếu chọn “Thực hiện lại” chương trình sẽ thực hiện xóa kết quả thực hiện
trả lời các câu hỏi trắc nghiệm trong CSDL và cho người dùng quay lại
giao diện “Phiếu khảo sát thông tin” và thực hiện lại bước trả lời các câu
hỏi trắc nghiệm.
• Nếu chọn “Tiếp tục” chương trình sẽ xuất ra kết quả của tất cả các ngành
học liên quan đến 2 nhóm sở thích này.
47
- Giao diện kết quả ngành học của 2 nhóm có điểm số cao nhất (kết quả này ứng với
2 nhóm ở hình 3.5)
Hình 3.7: Giao diện kết quả ngành học của 2 nhóm có điểm số cao nhất
Ở bước này người dùng có thể tham khảo các ngành học phù hợp nhất với tính
cách của mình.
48
Sau đó chọn vào mục “Tư vấn chọn ngành” để được tư vấn và chương trình sẽ
đưa ra 1 ngành học để tư vấn cho người dùng.
Chương trình sử dụng thuật toán KPDL bằng phương pháp cây quyết định (ID3) để
thực hiện.
- Giao diện kết quả tư vấn chọn ngành học của chương trình, cho ra kết quả 1 ngành
học.
Hình 3.8: Giao diện kết quả tư vấn chọn ngành học của chương trình
Sau khi có kết quả của 1 ngành học do chương trình tư vấn, chương trình sẽ
thực hiện việc tiếp theo là tư vấn một số trường học có đào tạo ngành đó, người sử
dụng thực hiện như sau:
+ Tự chọn khối thi mà mình dự định sẽ đăng ký thi tuyển sinh.
+ Khai báo điểm số trung bình cả năm các môn học Toán, Vật lý, Hóa học, Văn,
Lịch sử, Địa lý, Ngoại ngữ, Sinh của lớp 10, 11, 12 (nếu chưa có điểm cả năm,
chỉ cần lấy điểm trung bình học kỳ 1), tùy theo khối thi mình chọn lựa. (Ví dụ:
Nếu chọn khối A, chỉ cần nhập điểm 3 môn Toán, Lý, Hóa)
49
+ Tự ước đoán khả năng làm bài thi tuyển sinh ĐH, CĐ của khối thi mình chọn
lựa bằng cách tự nhập điểm ước đoán (điểm số này có giá trị từ 0.1 điểm 1
điểm). Có 2 cách để tự ước đoán điểm số này:
▪ Cách 1: Tự đánh giá khả năng sẽ làm được bài thi tuyển sinh được bao nhiêu
điểm?
▪ Cách 2: Thử giải đề thi của năm gần nhất, rồi lấy tổng điểm của 3 môn ở 2
năm chia cho 60.
+ Sau khi khai báo các thông số cần thiết, chương trình tính điểm thi theo công
thức sau (công thức tính này được tham khảo của ĐH QG Tp.HCM, trong buổi
tập huấn về hướng nghiệp cho các cán bộ làm công tác tư vấn tại các trường
THPT, ĐH, CĐ, TCCN do TS. Lê Thị Thanh Mai trình bày)
▪ Cách tính ĐTB môn A = (môn A Lớp 10 + môn A Lớp 11 + môn A Lớp
12*3)/ 5
▪ Cách tính điểm của Khối A= (ĐTB Toán + ĐTB Lý + ĐTB Hoá)*K
(Trong đó K là Tự ước đoán khả năng làm bài thi tuyển sinh (đề thi TS năm
trước) của khối thi tương ứng)
+ Chọn điểm dao động (1, 2, 3), nếu người dùng chọn điểm dao động 3, và
với kết quả điểm của Khối thi tương ứng được tính là 20 điểm. Thì điểm sẽ nằm
trong khoảng từ 17 điểm đến 23 điểm. Như vậy các trường ĐH, CĐ có điểm
chuẩn của ngành học được tư vấn ở trên trong khoảng điểm từ 17-23 sẽ được
chọn để tư vấn cho người dùng.
- Giao diện kết quả trường ĐH, CĐ có đào tạo cho ngành học được tư vấn.
Hình 3.9: Kết quả trường ĐH, CĐ có đào tạo ngành học được tư vấn
50
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1. Dữ liệu thực nghiệm
- CSDL thực nghiệm được khảo sát trên 11 ngành học: Quản trị kinh doanh, Ngôn
ngữ Anh, Sư phạm Toán học, Giáo dục tiểu học, Công nghệ kỹ thuật công trình
xây dựng, Quản lý công nghiệp, Việt Nam học, Công nghệ thông tin, Kế toán,
Tài chính Ngân hàng, Khoa học thư viện.
- Số liệu thu được trong giai đoạn khảo sát thông tin sinh viên các trường Đại học
và Cao đẳng khu vực phía nam: Trường ĐH Quốc tế Hồng Bàng, Trường ĐH
Bách Khoa - ĐHQG Tp.HCM, Trường ĐH Khoa học Tự nhiên - ĐHQG
Tp.HCM, Trường ĐH Mở Tp.HCM, Trường ĐH Sài Gòn, Trường ĐH Sư Phạm
Tp.HCM, Trường CĐ Viễn Đông, Trường CĐ GTVT 3, Trường CĐ Kinh tế -
Kỹ thuật Sài Gòn.
STT Nội dung Số lượng
1 Số phiếu khảo sát ban đầu 4000
2 Số phiếu thu được 2397
3 Số phiếu sau khi tiền xử lý (Dữ liệu đạt yêu cầu) 1536
Bảng 4.1: Số liệu thực hiện khảo sát sinh viên
- Số liệu chi tiết từng ngành khảo sát (sau khi đã tiền xử lý dữ liệu)
STT Mã ngành Tên ngành Số lượng Tỷ lệ
1 5151340101 Quản trị kinh doanh 308 20%
2 5252220201 Ngôn ngữ Anh (Tiếng Anh) 294 19%
3 5252140209 Sư phạm Toán học 171 11%
4 5252140202 Giáo dục Tiểu học 131 9%
5 5151510102 Công nghệ kỹ thuật công trình xây dựng 119 8%
6 5252510601 Quản lý công nghiệp 115 7%
7 5151220113 Việt Nam học 104 7%
8 5252480201 Công nghệ thông tin 86 6%
51
9 5151340301 Kế toán 82 5%
10 5252340201 Tài chính – Ngân hàng 66 4%
11 5252320202 Khoa học thư viện 60 4%
Tổng 1536 100%
Bảng 4.2: Số liệu chi tiết từng ngành
4.2. Môi trường thực nghiệm
Chương trình được cài đặt và thực nghiệm trên máy tính cá nhân có cấu hình
như sau: Intel ® Dual-Core ™ T4300 @ CPU 2.10 Ghz (2 CPU); bộ nhớ RAM 2
Ghz; hệ điều hành Windows 7 Ultimate 32 - bit (6.1, build 7601) Service Pack 1;
ngôn ngữ lập trình Microsoft Visual C#.Net 2010; Microsoft SQL Server 2008 R2.
4.3. Đánh giá độ chính xác của cây quyết định
- Để đánh giá độ chính xác, luận văn sử dụng phương pháp 10-fold cross -
validation (k = 10). Toàn bộ dữ liệu được chia ngẫu nhiên thành 10 nhóm kích
thước như nhau. Bộ phân loại được huấn luyện trên chín nhóm sau đó được
kiểm tra trên một nhóm còn lại. Lặp lại 10 lần với 10 nhóm dùng để kiểm tra,
sau đó lấy trung bình cộng kết quả.
Hình 4.1: Bảng phân chia dữ liệu test 10-fold cross – validation
52
- Kết quả đánh giá theo phương pháp 10-fold cross - validation
Fold Training
Set
Test
Set True False Null Accuracy
1 1382 154 141 11 2 92%
2 1382 154 137 16 1 89%
3 1382 154 130 24 0 84%
4 1382 154 143 11 0 93%
5 1382 154 132 19 3 86%
6 1382 154 136 17 1 88%
7 1383 153 125 25 3 82%
8 1383 153 133 19 1 87%
9 1383 153 145 8 0 95%
10 1383 153 131 20 2 86%
Average 88%
Bảng 4.3: Kết quả đánh giá 10-fold cross - validation
4.4. Phân tích, so sánh kết quả và nhận xét
- Qua sự tìm hiểu, tác giả nhận thấy hiện nay cũng có một số trang web sử dụng
bộ câu hỏi trắc nghiệm lý thuyết của John Holland. Nhưng chỉ có trang web của
Đại học Quốc gia Tp.HCM cung cấp bộ công cụ trắc nghiệm hướng nghiệp
miễn phí tại địa chỉ (http://aad.vnuhcm.edu.vn/huongnghiep/) và một phần mềm
tìm kiếm ngành học và trường dựa vào lý thuyết của John Holland, khá hoàn
chỉnh và đầy đủ. Cho nên tác giả dùng nó để nhận xét và so sánh với luận văn
của mình.
53
Hình 4.2: Chương trình mô phỏng chọn ngành, trường của ĐHQG Tp.HCM
- Nhận xét kết quả trả về ngành học của chương trình trên như sau
STT Nhóm sở
thích 1
Nhóm sở
thích 2
Số lượng kết quả
ngành học được trả về
1 R I 107
2 R A 11
3 R S 10
4 R E 4
5 I A 8
6 I S 43
7 I E 18
8 I C 7
9 A S 20
10 A E 2
11 A C 3
54
12 S E 13
13 S C 2
14 E C 11
Bảng 4.4: Kết quả chọn ngành, trường của ĐHQG Tp.HCM
- Kết quả trả về trong chương trình tư vấn lựa chọn ngành học
Hình 4.3: Kết quả tư vấn chọn ngành của luận văn
- Thời gian cho kết quả tư vấn chọn ngành
STT Tốc độ đường truyền Internet Thời gian thực hiện
1 54Mbps 46.5 giây
2 7.2Mbps (3G) 47.3 giây
Bảng 4.5: Thời gian thực hiện tư vấn chọn ngành
- So sánh với kết quả của luận văn
STT Tên ngành
PM_ĐHQG_KQ Kết quả của
luận văn
(ngành học)
Nhóm sở
thích
Số
lượng
(ngành)
1 Quản trị kinh doanh I-E 18 1
2 Ngôn ngữ Anh (Tiếng Anh) A-S 20 1
3 Sư phạm Toán học S-C, I-C 9 1
4 Giáo dục Tiểu học A-S 20 1
5 Công nghệ kỹ thuật công trình xây dựng R-I 107 1
6 Quản lý công nghiệp R-E 4 1
7 Việt Nam học I-S 43 1
8 Công nghệ thông tin R-I 107 1
55
9 Kế toán E-C 11 1
10 Tài chính – Ngân hàng E-C 11 1
11 Khoa học thư viện A-C 3 1
Bảng 4.6: Bảng so sánh kết quả
+ Chương trình của ĐHQG Tp.HCM sử dụng bộ câu hỏi trắc nghiệm về thói
quen, dự định công việc tương lai, tính cách và có 3 mức để đánh giá cho
điểm. Sau khi có kết quả điểm, sử dụng cách đánh giá của John Holland [9]
[17] dựa vào 6 nhóm sở thích R, I, A, S, E, C chọn ra 2 nhóm nào có điểm
cao nhất và cho ra kết quả các ngành thuộc 2 nhóm sở thích đó. Từ kết quả
trả về ngành học trong bảng 4.4 nhận thấy rằng kết quả chương trình của
ĐHQG Tp.HCM cho thấy những hạn chế như sau:
▪ Kết quả trả về rất nhiều ngành, rất khó trong việc lựa chọn 1 trong số rất
nhiều ngành đó.
▪ Không có kiểm tra tính logic của sự lựa chọn trong chương trình. Nghĩa
là, đầu tiên người sử dụng chọn chức năng đăng ký, trong đó có khai báo
chọn 1 hoặc 2 nhóm sở thích phù hợp (có 6 nhóm sở thích) (ví dụ ở bước
này chọn nhóm I và R), sau đó thực hiện khảo sát thì số điểm cao nhất rơi
vào hai nhóm A, S. Như vậy các ngành học được tư vấn cho người dùng
sẽ thuộc nhóm A, S chứ không phải nhóm I, R như đăng ký ban đầu.
▪ Chương trình còn rời rạc, chưa liên kết các bước với nhau, nghĩa là từ lúc
chọn các câu trắc nghiệm, tính điểm và lúc cho ra kết quả các ngành học,
cả hai bước này người dùng phải tự lựa chọn và thực hiện riêng biệt. Nếu
chương trình liên kết các bước với nhau, sẽ thuận tiện hơn.
+ Chương trình của luận văn sử dụng bộ công cụ trắc nghiệm định hướng nghề
nghiệp của John Holland, với 5 mức để đánh giá cho điểm, tạo sự chính xác
hơn trong mỗi nhận định. Luận văn sử dụng bộ câu hỏi này để tạo bảng khảo
sát sinh viên đang theo học các trường ĐH-CĐ, khảo sát trên 11 ngành học
như đã đề cập ở mục 4.1. Sử dụng kỹ thuật KPDL tạo ra các tập luật từ dữ
liệu thu thập được ở trên. Sau đó dùng các tập luật này tư vấn chọn ngành
học cho các dữ liệu mới.
56
Ngoài ra, luận văn cũng có triển khai thêm tính năng tương tự chương trình
của ĐHQG Tp.HCM nhưng có cải tiến thêm bằng cách liên kết các bước với
nhau, có kiểm tra tính logic của chương trình. Dựa vào kết quả so sánh trong
bảng 4.5, kết quả luận văn có một số ưu điểm sau:
▪ Kết quả trả về chỉ một ngành học.
▪ Luận văn đã liên kết các bước với nhau, nghĩa là sau khi chọn các câu trả
lời trắc nghiệm chương trình sẽ cho ra kết quả ngành học, các bước này
người dùng không phải tự lựa chọn và thực hiện riêng nữa. Thuận tiện hơn
cho người dùng chương trình.
▪ Có kiểm tra tính logic của sự lựa chọn trong chương trình. Nghĩa là, nếu
lựa chọn nhóm sở thích trong lúc đăng ký khác với nhóm sở thích khi thực
hiện khảo sát thì có thông báo nhắc người sử dụng xem xét lại sự lựa chọn
của mình, nếu người dùng đồng ý với kết quả mới thì chọn tiếp tục còn
nếu chọn lại thì thực hiện lại việc khảo sát. Như vậy việc lựa chọn sẽ chính
xác và khách quan hơn.
▪ Việc sử dụng kết quả khảo sát các sinh viên đang theo học các ngành học
do mình lựa chọn để từ đó áp dụng thuật toán KPDL chọn ngành học cho
các dữ liệu mới, tạo nên sự chính xác hơn cho tư vấn ngành học mới.
57
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1. Kết quả đạt được từ nghiên cứu
- Luận văn đã đưa ra một giải pháp từ việc phân loại dữ liệu trên các phiếu khảo
sát thông tin lựa chọn ngành học, đến việc tiến hành khai thác xử lý chúng để
đưa ra các tri thức cần thiết. Các tri thức này được tối ưu hóa và đem vào sử
dụng một cách hiệu quả trong việc tư vấn chọn ngành học cho dữ liệu mới.
- Giao diện website dễ sử dụng, dễ tiếp cận cho mọi đối tượng quan tâm và bất
kỳ nơi đâu có kết nối Internet.
- Luận văn đã đi sâu vào tính ứng dụng thực tiễn, đưa ra cách thức xử lý và thi
hành các tri thức được chiết xuất một cách hiệu quả.
- Về mặt lý thuyết, nêu được giải pháp ứng dụng kỹ thuật phân lớp dữ liệu vào
bài toán tư vấn chọn ngành học cho học sinh THPT.
- Về mặt thực tiễn, luận văn đã đáp ứng được mục tiêu ban đầu đặt ra, hệ thống
đã khai phá được các thông tin lựa chọn ngành học của sinh viên, nhằm hỗ trợ
các em học sinh mới lựa chọn cho mình một ngành học phù hợp. Công việc tư
vấn và hỗ trợ thông tin tuyển sinh nhất là chọn ngành học. Nếu trước đây đó là
công việc hết sức vất vả thì ngày nay, với sự hỗ trợ của công nghệ mới, đó là
một việc rất đơn giản cho đội ngũ làm công tác tư vấn chọn ngành học. Thuật
toán ID3 hỗ trợ việc lựa chọn ra những kết quả tối ưu, phù hợp nhất trong một
tập hợp dữ liệu khổng lồ. Từ đó, những dữ liệu trả về sẽ được tận dụng tối đa
trong công việc, những nhà tư vấn chỉ việc dùng kết quả đó để thực hiện công
việc tiếp theo của mình: tư vấn cho học sinh về những ngành học phù hợp với
khả năng của bản thân.
5.2. Đóng góp luận văn
Ứng dụng hỗ trợ học sinh các trường THPT trên địa bàn tỉnh Ninh Thuận trong
việc xác định và lựa chọn ngành học.
5.3. Hạn chế
- Luận văn chỉ mới tập trung nghiên cứu trên 11 ngành học.
- Dữ liệu thu thập chưa bao quát hết tất cả các ngành học, chưa có phương pháp
tối ưu hóa dữ liệu khi thực hiện trên dữ liệu lớn.
58
5.4. Hướng phát triển luận văn
- Thuật toán phân lớp mà luận văn sử dụng sinh ra những mô hình phân lớp dễ
hiểu, nhưng độ chính xác phân lớp vẫn chưa cao. Có thể kết hợp thêm nhiều
phương khác để thực hiện nhằm đạt độ chính xác cao hơn.
- Các hướng nghiên cứu tiếp theo: Xây dựng ứng dụng thành một hệ thống chuyên
gia chuyên nghiệp đóng vai trò như là một chuyên gia tư vấn ngành học cho tất
cả học sinh trong cả nước.
- Xây dựng hệ thống tư vấn cho tất cả các ngành học hiện có.
- Sử dụng các thuật toán thống kê và xác suất cho các tập dữ liệu kết quả tư vấn,
tập dữ liệu huấn luyện, tập dữ liệu lựa chọn nhóm ngành học ban đầu (lúc đăng
ký).
- Tiến hành lấy mẫu lớn cho các ngành học khác để đưa ra tập luật tổng quát hơn.
- Lấy thêm mẫu dữ liệu từ những đối tượng đã tốt nghiệp ĐH, CĐ (loại khá, giỏi)
của một ngành học để xây dựng tập luật tốt hơn.
- Phân tích thêm các dữ liệu đã loại bỏ khỏi dữ liệu phân lớp để có thể đưa ra
phân lớp phù hợp hơn. Ứng dụng các phương pháp cắt tỉa vào dữ liệu để giảm
thời gian chạy, tối ưu tập luật.
- Ngoài kết quả trả về 1 ngành học, sẽ hiển thị thêm kết quả 1 hoặc 2 ngành học
nữa (để làm được việc này, sẽ tiến hành gắn trọng số cho các tập luật) để cho
các em lựa chọn thêm.
- Hiện nay, dữ liệu được lưu trữ ngày một tăng, để ứng dụng KPDL vào các bài
toán này cần tiếp tục nghiên cứu các phương pháp xử lý cho bài toán với dữ liệu
lớn, nghiên cứu thêm một số ứng dụng khác của KPDL.
- Luận văn nghiên cứu thiên về tính ứng dụng trong CSDL tư vấn chọn ngành
học, nếu có điều kiện sẽ tiếp tục phát triển trên các CSDL khác nhằm mục tiêu
tìm ra một quy luật ứng dụng cho các tri thức đã được trích xuất.
59
KẾ HOẠCH NGHIÊN CỨU
TT Nội dung Thời gian
Giai đoạn 1 Nghiên cứu cơ sở lý thuyết và viết báo cáo sơ lược 01/10/2013-
31/10/2013
Giai đoạn 2 Thu thập số liệu (phiếu khảo sát sinh viên (trực tiếp,
paper, website)), phân tích nghiên cứu các tài liệu, ứng
dụng và tham khảo ý kiến của các chuyên gia liên quan
đến công tác hướng nghiệp cho học sinh để có được các
kinh nghiệm từ thực tiễn.
Thực hiện nhiều biện pháp khác nhau để tiền xử lý dữ
liệu để tiện cho việc phân lớp.
Nghiên cứu bài toán phân lớp, khai thác luật phân lớp
dựa vào luật kết hợp.
Xây dựng và cài đặt ứng dụng. Ứng dụng vào dữ liệu thu
thập được. Chuẩn bị dữ liệu và tiến hành thực nghiệm,
từ đó rút ra những quy luật và những dự đoán về các
ngành nghề phù hợp cho các em lựa chọn và quyết định.
So sánh kết quả đạt được với một số công trình liên quan
để đánh giá hiệu quả thực tiễn của thuật toán, từ đó rút
ra những vấn đề cần cải thiện.
01/11/2013-
28/02/2014
Giai đoạn 3 Kiểm tra và hoàn chỉnh báo cáo theo các yêu cầu đề ra 01/03/2014-
30/03/2014
60
TÀI LIỆU THAM KHẢO
[1] Lynda Jean Allen, The Appropriateness of Holland’s interest code typology for
South African field guides, Faculty of Health Sciences at the Nelson Mandela
Metropolitan University, 2005.
[2] B.K. Baradwaj, S. Pal. Mining Educational Data to Analyze Students’
Performance. International Journal of Advanced Computer-Science and
Applications. 2(6), 2011.
[3] Bramer, M., Principles of Data Mining. Spring-Verlag London limited, 2007.
[4] Ho Tu Bao, Chapter 3: Data mining with Decision Tree –
http://www.netnam.vn/unescocourse/knowlegde/knowlegd.htm.
[5] Margaret H. Dunham, Yongqiao Xiao, Le Gruenwald, Zahid Hossain, A Survey
of Association Rules, International Journel of Computer TheoryAnd
Engineering, vol.4, No.2 , 2003.
[6] Usama Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smyth. From Data
Mining to Knowledge Discovery in Databases. AAAI Press. 1996.
[7] Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, 3rd
Edition. Morgan Kaufmann Publishers, 2011.
[8] C. Heiner, N. Heffernan, T. Barnes. Educational Data Mining. In
Supplementary Proceedings of the 13th International Conference of Artificial
Intelligence in Education (AIED), 2007.
[9] Holland’s Theory and Career Choice is from the career key website:
www.careerkey.org/english, 2002.
[10] John L. Holland, Making Vocational Choices: A Theory of Carrers, Englewood
Cliffs, New Jersey: Prentice-Hall, 1973.
[11] Mehmed Kantardzic, Data Mining: Concepts, Models, Methods, and
Algorithms, 2nd Edition, John Wiley & Sons, 2011.
[12] Ron Kohavi, J. Ross Quinlan. Decision Tree Discovery, 1999.
61
[13] Loan T. T. Nguyen, Bay Vo, Tzung-Pei Hong, Hoang Chi Thanh. CAR-Miner:
An efficient algorithm for mining class-association rules. Expert Systems with
Applications, 40(6), pp. 2305-2311, 2013.
[14] Loan T. T. Nguyen, Bay Vo, Tzung-Pei Hong, Hoang Chi Thanh: Classification
based on association rules: A lattice-based approach. Expert Syst. Appl. 39(13):
11357-11366, 2012.
[15] K. Liu, Y. Xing. A Lightweight Solution to the Educational Data Mining
Challenge. In KDD Cup 2010 Workshop, July 25, 2010.
[16] B. Liu, W. Hsu, Y. Ma. Integrating classification and association rule mining.
The 4th International Conference on Knowledge Discovery and Data Mining,
New York, USA, pp. 80-86, 1998.
[17] MU Career Center’s Guide to Holland Code: Part of the Career and Major
Exploration Guide Series, University of Missouri – MU Career Center, 2010.
[18] Tom M. Mitchell, Machine Learning, McGraw - Hill Science, 1997.
[19] J. R. Quinlan. C4.5: Program for Machine Learning. Morgan Kaufmann
Publishers, San Mateo, CA, 1993.
[20] Payam Refaeilzadeh, Lei Tang, Huan Liu. Encyclopedia of Database Systems.
pp. 532-538. Arizona State University. Springer US, 2009.
[21] Carl Edward Rasmussen, Christopher K.I. Williams. Gausian Processes for
Machine Learning. MIT Press, pp. 130-147. 2006.
[22] Slide Learning from Data: Decision trees, Amos Storkey, School of Informatics
university of Edinburgh, Semester 1, 2004.
[23] Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, 3rd
Edition. McGraw-Hill, 2003.
[24] Anurag Srivastava, Eui- Hong Han, Vipin Kumar, Vieet Singh. Parallel
Formulations of Decision-Tree Classification Algorithm. Kluwer Academic
Publisher, 1999.
62
[25] John Shafer, Rakesh Agrawal, Manish Mehta. SPRINT- A Scalable Paralllel
Classifier for Data mining. In Predeeings of the 22nd International Conference
on Very Large Database, India, 1996.
[26] M.R. Tolun, H. Sever, M. Uludag, S.M. Abu-Soud. ILA-2: An inductive
learning algorithm for knowledge discovery. Cybernetics and Systems, 30(7),
pp. 609 – 628, 1999.
[27] Mehmet R. Tolun, Saleh M. Abu-Soud, An Inductive Learning Algorithm for
Production Rule Discovery, IEEE Press, 1999.
[28] M.R. Tolun, S.M. Abu-Soud. ILA: An inductive learning algorithm for
production rule discovery. Expert Systems with Applications, 14(3), pp. 361–
370, 1998.
[29] Thomas, Data Mining: Definittions and decision tree examples, State University
of New York.
[30] Witten, I.H. and E. Frank, Data Mining: Practical Machine Learning Tools and
Techniques. 3rd Edition. Morgan Kaufmann Publishers, 2011.
[31] Mohammed J. Zaki, Ching-Tien Ho, Rekesh Agrawal. Parallel Classification
for Data Mining on Shared-Memory Multiprocessors. IVM Almaden Research
Center, San Jose, CA 95120, 1998.
63
PHỤ LỤC
A. Bộ công cụ trắc nghiệm định hướng nghề nghiệp của John Holland
- John Lewis Holland (21.10.1919 – 27.11.2008) là giáo sư xã hội học danh dự
tại Trường Đại học Johns Hopkins và là một nhà tâm lý học Mỹ. Ông được biết
đến như là tác giả học thuyết lựa chọn nghề nghiệp hay còn gọi là Mã Holland
(Holland Codes) và thường được viết tắt là RIASEC. [1], [10]
- Trên cơ sở lý thuyết này, John Holland đã xây dựng một bộ câu hỏi dành cho
người muốn tự tìm hiểu mình. Qua nhiều năm phát triển, bộ trắc nghiệm này
giúp cho người ta tự phát hiện được các kiểu người trội nhất đang tiềm ẩn trong
con người mình để tự định hướng khi lựa chọn nghề.
- Lý thuyết này dựa trên 8 luận điểm, trong đó 2 luận điểm đầu là: Hầu như ai
cũng có thể được xếp vào 1 trong 6 kiểu người, 6 kiểu người đó
là Realistic (người thực tế, viết tắt là R), Investigative (người thích nghiên cứu
– I), Artistic (người có tính nghệ sĩ – A), Social (người có tính xã hội –
S), Enterprising (người dám nghĩ dám làm – E) và Conventional (người công
chức – C); có 6 môi trường hoạt động ứng đúng với 6 kiểu người kể trên. Lý
thuyết này về sau lấy 6 chữ cái ghép lại thành tên RIASEC. [9], [17]
- Học thuyết của Holland đã lập luận rằng: “Thiên hướng nghề nghiệp chính là
sự biểu hiện cá tính của mỗi con người” và nó được phân loại thành 6 nhóm và
được diễn tả ở hai phương diện: tính cách con người và môi truờng làm việc.
Phân loại của ông đã được dùng để giải thích cấu trúc của cuộc số nghiên cứu
về định hướng nghề khác nhau dựa trên 2 thang đo mà ông đã phát triển.
- Thuyết Holland không giả định rằng một người chỉ có một trong 6 loại tính cách
trên thế giới. Thay vào đó, ông chỉ ra rằng bất kỳ người nào cũng có thể được
mô tả bằng việc dung hòa một trong 6 loại tính cách theo thứ tự giảm dần. Trên
cơ sở này Bộ quy tắc Holland đã diễn tả 720 mô hình tính cách khác nhau của
con người. Học thuyết này cũng áp dụng trong việc phân loại nghề, nhưng
thường thì chỉ có 2 hoặc 3 quy tắc chi phối được sử dụng để định hướng nghề.
64
B. Thông tin về ngành học, trường đào tạo, bậc học, khối thi, điểm chuẩn.
- Căn cứ Thông tư 14/2010/TT-BGDĐT, ngày 27 tháng 04 năm 2010 của Bộ
trưởng Bộ Giáo dục và Đào tạo về việc ban hành Danh mục giáo dục, đào tạo
cấp IV trình độ cao đẳng, đại học.
- Những điều cần biết về tuyển sinh đại học, cao đẳng năm 2013. Nhà xuất bản
Giáo dục Việt Nam.
- Trang web của các trường đại học, cao đẳng phía nam.
- Cẩm nang hướng nghiệp tuyển sinh Đại học và Cao đẳng năm 2013. Nhà xuất
bản Đại học Quốc gia Tp.HCM.
Giảng viên hướng dẫn Học viên thực hiện
Giám đốc Trung tâm Tin học
TS. Võ Đình Bảy Nguyễn Đặng Thế Vinh
Trường Đại học Tôn Đức Thắng