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

ỨNG DỤNG KHAI PHÁ DỮ LIỆU CHỌN NGÀNH NGHỀ CHO HỌC SINH THPT

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

Header Page 1 of 137.

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

Footer Page 1 of 137.


Header Page 2 of 137.

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

Footer Page 2 of 137.


Header Page 3 of 137.

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

……………………..

Footer Page 3 of 137.


i

Header Page 4 of 137.

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

2012-nay

Trường Cao đẳng Viễn

Trưởng Phòng Đào tạo, Phó Giám đốc

Đông

Trung tâm Tin học

Trường Cao đẳng Viễn


Phó Giám đốc Trung tâm Tin học,

Đông

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:

Footer Page 4 of 137.


ii

Header Page 5 of 137.

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

Footer Page 5 of 137.


Header Page 6 of 137.

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ô.

Footer Page 6 of 137.


Header Page 7 of 137.

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.

Footer Page 7 of 137.


v

Header Page 8 of 137.

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.

Footer Page 8 of 137.


Header Page 9 of 137.

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

Footer Page 9 of 137.


Header Page 10 of 137.

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

Footer Page 10 of 137.


Header Page 11 of 137.

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

Footer Page 11 of 137.



Header Page 12 of 137.

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

Footer Page 12 of 137.


Header Page 13 of 137.


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

Footer Page 13 of 137.


xi


Header Page 14 of 137.

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



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



Quyết định

Footer Page 14 of 137.


Header Page 15 of 137.


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.
Footer Page 15 of 137.


2

Header Page 16 of 137.

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.

Footer Page 16 of 137.


Header Page 17 of 137.

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
Footer Page 17 of 137.


Header Page 18 of 137.

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


Footer Page 18 of 137.


5

Header Page 19 of 137.

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]
Đánh giá luật
Khai phá dữ liệu
Chuyển đổi dữ liệu
Tiền xử lý và chuẩn
bị dữ liệu


Tri thức

Trích lọc dữ liệu

Mô hình

Dữ liệu

Dữ liệu đích

Dữ liệu đã
xử lý

Dữ liệu đã
chuyển đổi

Hình 2.1: Quá trình KPDL [6]
Footer Page 19 of 137.


Header Page 20 of 137.

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
Footer Page 20 of 137.


Header Page 21 of 137.

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]
Footer Page 21 of 137.


Header Page 22 of 137.

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
Footer Page 22 of 137.


Header Page 23 of 137.

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)
Footer Page 23 of 137.


10

Header Page 24 of 137.

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]
Footer Page 24 of 137.


11

Header Page 25 of 137.

+ 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

Footer Page 25 of 137.


×