Bên cạnh việc nghiên cứu cơ sở lý thuyết về phương pháp cây quyết định, đề tài sử dụng ngôn ngữ R, đây là ngôn ngữ lập trình cấp cao, hỗ trợ rất mạnh mẽ cho việc phân tích dữ liệu, tính
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
-
LÂM QUỐC CƯỜNG
KHAI THÁC ĐIỂM HỌC TẬP ĐỂ
DỰ ĐOÁN KẾT QUẢ THI TRUNG HỌC
PHỔ THÔNG QUỐC GIA CHO
Trang 2-
LÂM QUỐC CƯỜNG
KHAI THÁC ĐIỂM HỌC TẬP ĐỂ
DỰ ĐOÁN KẾT QUẢ THI TRUNG HỌC
PHỔ THÔNG QUỐC GIA CHO
Trang 3TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học: PGS TS VÕ ĐÌNH BẢY
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP Hồ Chí Minh ngày 10 tháng 9 năm 2016
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
3 TS Nguyễn Thị Thúy Loan Phản biện 2
Trang 4NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Lâm Quốc Cường Giới tính: Nam
Ngày, tháng, năm sinh: 27/7/1978 Nơi sinh: Sóc Trăng
Chuyên ngành: Công nghệ thông tin MSHV: 1441860033
I- Tên đề tài:
Khai thác điểm học tập để dự đoán kết quả thi trung học phổ thông quốc gia cho học
sinh trung học
II- Nhiệm vụ và nội dung:
- Nghiên cứu luật phân lớp, dự đoán
- Nghiên cứu các phương pháp để phân lớp và dự đoán kết quả thi trung học phổ thông
quốc gia
- Sử dụng các thuật toán của cây quyết định để phân lớp và dự đoán kết quả thi trung
học phổ thông quốc gia và tìm ra thuật toán có độ chính xác cao nhất
III- Ngày giao nhiệm vụ: 23/01/2016
IV- Ngày hoàn thành nhiệm vụ: 30/7/2016
V- Cán bộ hướng dẫn: PGS TS VÕ ĐÌNH BẢY
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
PGS TS VÕ ĐÌNH BẢY
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
Lâm Quốc Cường
Trang 6LỜI CÁM ƠN
Trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy PGS TS Võ Đình Bảy, thầy đã tận tình giúp đỡ, hướng dẫn, động viên và tạo mọi điều kiện giúp tôi tiếp cận và hoàn thành luận văn này theo đúng yêu cầu
Tôi cũng xin bày tỏ lòng biết ơn tới Quý thầy, cô Khoa Công nghệ thông tin và cán bộ phòng Quản lý khoa học - Đào tạo sau đại học trường Đại học Công nghệ Thành phố Hồ Chí Minh đã tạo mọi điều kiện thuận lợi và hướng dẫn tận tình về các thủ tục, văn bản liên quan đến luận văn
Tôi xin chân thành cảm ơn đến Quý thầy, cô trong Hội đồng đánh giá Luận văn Thạc sĩ đã đóng góp ý kiến quý báo, chân tình để tôi hoàn thiện luận văn này
Cuối cùng, tôi xin cảm ơn gia đình, quý đồng nghiệp, quý lãnh đạo cơ quan đã tạo điều kiện tốt nhất và động viên tôi trong suốt thời gian thực hiện luận văn này
Lâm Quốc Cường
Trang 7TÓM TẮT
Ngày nay, giáo dục và đào tạo là quốc sách hàng đầu đã được Đảng, Nhà nước và toàn dân ta xác định, giáo dục luôn luôn được ưu tiên trong kế hoạch phát triển kinh tế, xã hội của đất nước Trong năm 2015, Bộ Giáo dục và Đào tạo đã thực hiện đổi mới kiểm tra, đánh giá, cụ thể là trong kỳ thi trung học phổ thông quốc gia
đó là kỳ thi hai trong một, nghĩa là học sinh có thể lấy kết quả thi trung học phổ thông quốc gia để xét công nhận tốt nghiệp trung học phổ thông và làm căn cứ để xét tuyển sinh đại học, cao đẳng
Đề tài “Khai thác điểm học tập để dự đoán kết quả thi trung học phổ thông quốc gia của học sinh trung học” nhằm hỗ trợ học sinh lớp 12 trong việc dự đoán kết quả trong kỳ thi trung học phổ thông quốc gia Hiện nay, phân lớp và dự đoán là
để tìm ra dữ liệu có ích phục vụ cho nhu cầu cần thiết để đưa ra các quyết định thông minh hỗ trợ người dùng trong công việc thuộc các lĩnh vực như y tế, giáo dục, kinh doanh, Đề tài sử dụng phương pháp cây quyết định (Decision Tree) đó
là phương pháp đơn giản, dễ sử dụng và có độ tin cậy khá cao và phù hợp với nội dung của đề tài để thực hiện việc dự đoán kết quả của học sinh trong kỳ thi trung học phổ thông quốc gia, cụ thể là đề tài thử nghiệm trên ba thuật toán là C5.0, CART và Random Forest
Bên cạnh việc nghiên cứu cơ sở lý thuyết về phương pháp cây quyết định, đề tài sử dụng ngôn ngữ R, đây là ngôn ngữ lập trình cấp cao, hỗ trợ rất mạnh mẽ cho việc phân tích dữ liệu, tính toán xác suất thống kê, giải thuật học tự động, … để xây dựng ứng dụng hỗ trợ học sinh dự đoán kết quả trong các kỳ thi trung học phổ thông quốc gia hàng năm do Bộ Giáo dục và Đào tạo tổ chức
Trang 8Today, education and training is a top national policy was the Party, State and people identification, education has always been a priority in the economic development plan, the country's society In 2015, the Ministry of Education and Training has implemented innovative inspection and evaluation, particularly in the high school exams that country is in a second exam, which means students can get results exam national high school recognized at graduation for high school and as a basis for college admission and college
The theme “Mining to predict academic test results National High School High School Student” in support of 12th graders in predicting the results of examinations National High School Currently, classification and prediction is to find useful data in service needs to make smart decisions to support users in their work in fields such as health, education, economic business, the theme uses a decision tree method (decision tree) methods that are simple, easy to use and high reliability, and consistent with the content of the subject to perform the project guess the outcome of the exam students in the national high school, namely the three subjects tested on the C5.0 algorithm, CART and Random Forest
Besides the study of the theoretical basis of the decision tree method, subjects using the R language, this is a high-level programming language, very strong support for data analysis, probability calculation system Statistics, automatic learning algorithm, to build applications that support students predict the outcome of the high school exams annually by the national Ministry of Education and Training held
Trang 9MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT vii
DANH MỤC CÁC BẢNG ix
DANH MỤC CÁC BIỂU ĐỒ, ĐỒ THỊ, SƠ ĐỒ, HÌNH ẢNH x
CHƯƠNG 1: MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Lý do chọn đề tài 1
1.3 Mục tiêu, nội dung và phương pháp nghiên cứu 2
1.3.1 Mục tiêu 2
1.3.2 Nội dung 3
1.3.3 Phương pháp 3
1.4 Bố cục Luận văn 3
CHƯƠNG 2: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 4
2.1 Giới thiệu kỳ thi THPT quốc gia 4
2.2 Khai thác dữ liệu 5
2.2.1 Khai thác luật phân lớp, dự đoán 5
2.2.2 Các vấn đề liên quan đến phân lớp dữ liệu 7
2.2.3 Đánh giá độ chính xác của phân lớp 7
2.2.4 Ví dụ về phân lớp và dự đoán 12
2.3 Phương pháp phân lớp dựa trên cây quyết định 17
2.3.1 Giới thiệu 17
2.3.2 Một số lưu ý khi sử dụng cây quyết định 19
2.3.3 Đánh giá hiệu quả phương pháp cây quyết định 20
2.3.4 Xây dựng cây quyết định 21
Trang 102.4 Thuật toán C5.0 22
2.5 Thuật toán CART 27
2.6 Thuật toán RF 30
2.7 Tổng quan vấn đề nghiên cứu 32
2.7.1 Giới thiệu tổng quan 32
2.7.2 Tình hình nghiên cứu trên thế giới 33
2.7.3 Tình hình nghiên cứu trong nước 35
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH 36
3.1 Xây dựng mô hình hệ thống 36
3.1.1 Dữ liệu vào 36
3.1.2 Thuật toán cây quyết định 40
3.1.3 Kết quả ra 43
3.2 Xây dựng các thuật toán 44
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 45
4.1 Môi trường thực nghiệm 45
4.2 Giới thiệu cơ sở dữ liệu thực nghiệm 45
4.3 Áp dụng các thuật toán phân lớp dựa trên phương pháp cây quyết định 45
4.3.1 Xây dựng phần chung 45
4.3.2 Thuật toán C5.0 50
4.3.3 Thuật toán CART 54
4.3.4 Thuật toán RF 56
4.4 Đánh giá và so sánh 57
4.4.1 Đánh giá hiệu suất của các giải thuật 57
4.4.2 So sánh các thuật toán 58
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60
5.1 Kết luận 60
5.2 Ưu điểm và hạn chế 60
5.3 Hướng phát triển 60
TÀI LIỆU THAM KHẢO 62
Trang 1112 TOAN10 Điểm trung bình môn Toán lớp 10
13 VL10 Điểm trung bình môn Vật lí lớp 10
14 HH10 Điểm trung bình môn Hóa học lớp 10
15 SH10 Điểm trung bình môn Sinh học lớp 10
16 NV10 Điểm trung bình môn Ngữ văn lớp 10
17 LS10 Điểm trung bình môn Lịch sử lớp 10
18 DL10 Điểm trung bình môn Địa lí lớp 10
19 NN10 Điểm trung bình môn Ngoại ngữ lớp 10
20 TB10 Điểm trung bình cả năm lớp 10
21 TOAN11 Điểm trung bình môn Toán lớp 11
22 VL11 Điểm trung bình môn Vật lí lớp 11
23 HH11 Điểm trung bình môn Hóa học lớp 11
24 SH11 Điểm trung bình môn Sinh học lớp 11
Trang 12STT Từ viết tắt Viết rõ
25 NV11 Điểm trung bình môn Ngữ văn lớp 11
26 LS11 Điểm trung bình môn Lịch sử lớp 11
27 DL11 Điểm trung bình môn Địa lí lớp 11
28 NN11 Điểm trung bình môn Ngoại ngữ lớp 11
29 TB11 Điểm trung bình cả năm lớp 11
30 TOAN12 Điểm trung bình môn Toán lớp 12
31 VL12 Điểm trung bình môn Vật lí lớp 12
32 HH12 Điểm trung bình môn Hóa học lớp 12
33 SH12 Điểm trung bình môn Sinh học lớp 12
34 NV12 Điểm trung bình môn Ngữ văn lớp 12
35 LS12 Điểm trung bình môn Lịch sử lớp 12
36 DL12 Điểm trung bình môn Địa lí lớp 12
37 NN12 Điểm trung bình môn Ngoại ngữ lớp 12
38 TB12 Điểm trung bình cả năm lớp 12
39 KETQUA Kết quả thi THPT quốc gia
Tiếng Anh
1 CART Classification And Regression Tree
4 CBA Classification Based on Associations
Trang 13DANH MỤC CÁC BẢNG
Bảng 2.1 Tập cơ sở dữ liệu 12
Bảng 2.2 Tập dữ liệu huấn luyện 13
Bảng 2.3 Tập dữ liệu kiểm tra 14
Bảng 2.4 Mẫu cụ thể 14
Bảng 2.5 Kết quả cho mẫu cụ thể 14
Bảng 2.6 Tập cơ sở dữ liệu 15
Bảng 2.7 Tập dữ liệu kiểm tra fold_1 15
Bảng 2.8 Tập dữ liệu huấn luyện 15
Bảng 2.9 Tập dữ liệu kiểm tra fold_2 16
Bảng 2.10 Tập dữ liệu huấn luyện 16
Bảng 2.11 Tập dữ liệu kiểm tra fold_10 16
Bảng 2.12 Tập dữ liệu huấn luyện 16
Bảng 2.13 Mẫu cụ thể 17
Bảng 2.14 Kết quả cho mẫu cụ thể 17
Bảng 3.1 Kết quả của các thuật toán 43
Bảng 4.1 Độ chính xác các thuật toán 58
Trang 14DANH MỤC CÁC BIỂU ĐỒ, ĐỒ THỊ, SƠ ĐỒ, HÌNH ẢNH
Hình 2.1 Mô hình bài toán phân lớp 6
Hình 2.2 Mô hình phân lớp 8
Hình 2.3 Mô hình phân lớp theo phương pháp holdout 9
Hình 2.4 Mô hình phân lớp theo phương pháp k-fold cross-validation 10
Hình 2.5 Mô hình sử dụng fold_1 làm tập kiểm tra 10
Hình 2.6 Mô hình sử dụng fold_2 làm tập kiểm tra 11
Hình 2.7 Mô hình sử dụng fold_3 làm tập kiểm tra 11
Hình 2.8 Mô hình sử dụng fold_10 làm tập kiểm tra 12
Hình 2.9 Cây quyết định mua máy tính hay không, dựa vào độ tuổi, sinh viên và tín dụng 18
Hình 2.10 Giải thuật rừng ngẫu nhiên (RF-Random Forest) 31
Hình 3.1 Mô hình hệ thống 36
Hình 3.2 Mô hình dữ liệu vào 36
Hình 3.3 Bảng điểm học sinh lớp 10 của một trường THPT 37
Hình 3.4 Bảng điểm học sinh thi THPT quốc gia 37
Hình 3.5 Tập tin cơ sở dữ liệu dạng excel 38
Hình 3.6 Tập tin cơ sở dữ liệu dạng csv 39
Hình 3.7 Cơ sở dữ liệu đầu vào dạng csv 40
Hình 3.8 Cây quyết định 41
Hình 3.9 Lưu đồ của các thuật toán 42
Hình 4.1 Dữ liệu các thuộc tính lưu trong bảng HocSinh 46
Hình 4.2 Tập dữ liệu huấn luyện (trainingData) 47
Hình 4.3 Tập dữ liệu kiểm tra (testingData) 48
Hình 4.4 Kích thước dữ liệu chia thành 10 fold 48
Hình 4.5 Fold01 của tập dữ liệu có kích thước 807 mẫu tin 49
Hình 4.6 Fold10 của tập dữ liệu có kích thước 807 mẫu tin 49
Hình 4.7 Kết quả thử nghiệm của tập dữ liệu huấn luyện 50
Trang 15Hình 4.8 Luật được sinh ra của lớp DoGioi 51
Hình 4.9 Luật được sinh ra của lớp DoKha 51
Hình 4.10 Luật được sinh ra của lớp DoKTB 52
Hình 4.11 Luật được sinh ra của lớp DoTB 52
Hình 4.12 Luật được sinh ra của lớp Hong 52
Hình 4.13 Kết quả phân lớp của tập huấn luyện trong thuật toán C5.0 53
Hình 4.14 Kết quả phân lớp của tập kiểm tra trong thuật toán C5.0 53
Hình 4.15 Độ quan trọng của các thuộc tính ảnh hưởng đến phân lớp và dự đoán của thuật toán C5.0 54
Hình 4.16 Độ quan trong của tập dữ liệu huấn luyện trong thuật toán CART 54
Hình 4.17 Kết quả dự đoán của thuật toán CART 55
Hình 4.18 Độ quan trọng của các thuộc tính ảnh hưởng đến phân lớp và dự đoán của thuật toán CART 56
Hình 4.19 Kết quả dự đoán của giải thuật RF 56
Hình 4.20 Độ quan trọng của các thuộc tính ảnh hưởng đến phân lớp và dự đoán thuật toán của RF 57
Hình 4.21 Độ chính xác trung bình của các thuật toán 58
Hình 4.22 Độ chính xác 10 fold của các thuật toán 59
Trang 16CHƯƠNG 1: MỞ ĐẦU
1.1 Đặt vấn đề
Giáo dục và đào tạo là quốc sách hàng đầu đã được Đảng, Nhà nước và toàn dân ta xác định và đầu tư cho giáo dục là đầu tư cho sự phát triển, giáo dục luôn luôn được ưu tiên trong kế hoạch phát triển kinh tế, xã hội của đất nước Trong quá trình đổi mới của đất nước thì giáo dục cần phải được đổi mới một cách căn bản và toàn diện để từ đó tạo ra con người phát triển toàn diện như đã được nêu lên trong Nghị quyết số 29-NQ/TW ngày 04/11/2013 của Ban Chấp hành Trung ương Đảng
Kỳ thi THPT quốc gia mới được Bộ Giáo dục và Đào tạo triển khai thực hiện từ năm 2015 và mục đích của kỳ thi lấy kết quả để xét công nhận tốt nghiệp THPT và xét tuyển sinh đại học, cao đẳng
Hiện nay, có rất có nhiều mô hình phân lớp được đề xuất như cây quyết định, phân lớp NBC, ILA, ANN, SVM, KNN Vấn đề phân lớp dữ liệu và dự đoán đã được quan tâm trong nhiều lĩnh vực như y tế, giáo dục, kinh tế, bảo hiểm, ngân hàng…, chúng ta có thể dựa vào phân lớp dữ liệu để tạo ra mô hình phân lớp và dự đoán để biết được khuynh hướng của dữ liệu trong tương lai Trong y tế, dựa vào các thông số xét nghiệm có thể dự đoán được các bệnh và hỗ trợ đưa ra các quyết định trong việc chẩn đoán; trong ngân hàng, dựa vào các thông tin từ khách hàng
mà ngân hàng đưa ra quyết định cho hay không cho và cho với mức vay là bao nhiêu để có khả năng thu hồi và tăng lợi nhuận; trong giáo dục, từ phân lớp dữ liệu
và dự đoán ta có thể dựa vào điểm học tập của học sinh để từ đó có thể dự đoán được kết quả thi THPT quốc gia
1.2 Lý do chọn đề tài
Học sinh trường THPT muốn bước vào ngưỡng cửa của các trường đại học, cao đẳng thì các em có thể phải trải qua kỳ thi THPT quốc gia và kỳ thi này rất quan trọng quyết định về tương lai sau này của các em Năm 2015, Bộ Giáo dục và Ðào tạo đã thực hiện đổi mới trong kiểm tra, đánh giá được thể hiện trong kỳ thi THPT quốc gia [1], đây là kỳ thi hai trong một, trong kỳ thi này có những môn bắt buộc và
Trang 17các môn tự chọn và học sinh phải có định hướng học như thế nào đối với các môn bắt buộc và các em phải biết chọn các môn nào là thế mạnh của mình để chắt chắn thi đạt trong kỳ thi này
Trong kỳ thi THPT quốc gia tại tỉnh Sóc Trăng, để xét công nhận tốt nghiệp THPT học sinh sẽ thi bốn môn trong đó có hai môn bắt buộc là Toán, Ngữ văn và hai môn tự chọn trong các môn Vật lí, Hóa học, Sinh học, Lịch sử, Địa lí, Tiếng Anh Vì thế từ những năm học lớp 10, 11 các em có thể định hướng các môn thi để đến năm lớp 12 các em có kế hoạch và lựa chọn các môn thi cho phù hợp với khả năng của mình và đặc biệt là được xét công nhận tốt nghiệp THPT từ đó làm căn cứ
để xét vào các trường đại học, cao đẳng
Từ những vấn đề đã nêu trên, tôi nhận thấy cần phải có một công cụ hỗ trợ để học sinh có thể dự đoán kết quả trong kỳ thi THPT quốc gia để học sinh có thể điều chỉnh khả năng học tập và có căn cứ khoa học hơn trong việc lựa chọn môn thi từ
điểm các môn học của lớp 10, lớp 11 và lớp 12 Vì vậy, tôi chọn đề tài “Khai thác điểm học tập để dự đoán kết quả thi trung học phổ thông quốc gia của học sinh trung học” sử dụng các thuật toán của cây quyết định để tìm ra thuật toán có độ
chính xác cao nhất cho đề tài
1.3 Mục tiêu, nội dung và phương pháp nghiên cứu
1.3.1 Mục tiêu
Mục tiêu của đề tài là bước đầu nghiên cứu về khai thác dữ liệu, xây dựng ứng dụng khai thác điểm học tập để dự đoán kết quả thi THPT quốc gia của học sinh trung học và để làm được điều này, đề tài cần được thực hiện các nội dung sau:
- Thực hiện tìm hiểu, phân tích và tổng hợp kết quả học tập của học sinh từ lớp
10 đến lớp 12 để từ đó xác định được những môn thế mạnh cũng như những môn hạn chế
- Nghiên cứu phương pháp phân lớp dữ liệu cụ thể là phương pháp cây quyết định (Decision Tree) để tìm ra thuật toán có độ chính xác cao nhất Sử dụng dữ liệu kết quả học tập và kết quả thi THPT quốc gia năm 2015 để dự đoán kết quả thi THPT quốc gia của học sinh cho những năm tiếp theo
Trang 18- Sử dụng ngôn ngữ R [16] để kiểm định độ chính xác của các thuật toán theo phương pháp cây quyết định
1.3.2 Nội dung
- Sử dụng công cụ để kiểm định kết quả khi sử dụng phân lớp và dự đoán dữ liệu dựa trên phương pháp cây quyết định, các thuật toán tiêu biểu được sử dụng là C5.0, CART và RF
- Sử dụng ngôn ngữ R để kiểm định các thuật toán trên, để lựa chọn thuật toán
có độ chính xác cao nhất
1.3.3 Phương pháp
- Nghiên cứu tài liệu, các văn bản, thông tư, hướng dẫn của Bộ Giáo dục và Đào tạo, của Sở Giáo dục và Đào tạo tỉnh Sóc Trăng có liên quan đến việc đánh giá kết quả học tập, kỳ thi THPT quốc gia năm 2015 [1][2][3]
- Thu thập, tổng hợp dữ liệu
- Làm sạch, phân tích và biến đổi dữ liệu theo đúng yêu cầu
- Tiến hành kiểm thử và đánh giá hiệu suất của các thuật toán dựa trên dữ liệu kết quả thi THPT quốc gia năm 2015
1.4 Bố cục Luận văn
Luận văn được chia thành 5 chương, cụ thể như sau:
Chương 1: Từ vấn đề cần giải quyết đưa ra lý do chọn đề tài và nêu mục tiêu, nội dung và phương pháp nghiên cứu
Chương 2: Giới thiệu khai thác dữ liệu, luật phân lớp và dự đoán cụ thể là phương pháp cây quyết định và các nghiên cứu liên quan
Chương 3: Nghiên cứu các thuật toán phân lớp dữ liệu bằng phương pháp cây quyết định, kiểm định các thuật toán và đưa ra thuật toán có độ chính xác cao nhất
Chương 4: Thực nghiệm và đánh giá kết quả thu được từ việc sử dụng phương pháp cây quyết định trên cơ sở dữ liệu cụ thể
Chương 5: Kết luận, nhận xét và hướng phát triển của đề tài
Trang 19CHƯƠNG 2: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu kỳ thi THPT quốc gia
Năm 2015, Bộ Giáo dục và Đào tạo đã đổi mới trong kỳ thi THPT quốc gia,
cụ thể là Bộ Giáo dục và Đào tạo đã có Thông tư số 02/2015/TT-BGDĐT ngày 26/02/2015 Ban hành Quy chế thi THPT quốc gia [1] và Thông tư số 03/2015/TT-BGDĐT ngày 26/02/2015 Ban hành Quy chế tuyển sinh đại học, cao đẳng hệ chính quy [2], bên cạnh đó Cục Khảo thí và Kiểm định chất lượng giáo dục có công văn
số 1388/BGDĐT-KTKĐCLGD ngày 25/3/2016 về việc hướng dẫn thực hiện Quy chế thi trong tổ chức thi THPT quốc gia và xét công nhận tốt nghiệp trung học phổ thông [3] Đối với tỉnh Sóc Trăng trong kỳ thi này học sinh phải thi hai môn bắt buộc và được phép lựa chọn hai môn còn lại để xét công nhận tốt nghiệp THPT và làm căn cứ tuyển sinh đại học, cao đẳng Đối với các môn tự chọn phần lớn học sinh chưa biết cách chọn có thể chọn theo bạn bè, theo sự tư vấn của thầy cô, theo sự quyết định của cha mẹ vì thế khi tham gia kỳ thi thì kết quả sẽ không như mong muốn và có thể ảnh hưởng đến việc xét vào các trường đại học, cao đẳng sau này
Để giúp cho học sinh tự tin trong việc lựa chọn các môn thi, đề tài đã sử dụng kết quả học tập các môn của từng năm học lớp 10, lớp 11 và lớp 12 để từ đó đưa ra dự đoán kết quả thi THPT quốc gia của học sinh trung học
Trong kỳ thi THPT quốc gia tổ chức thi tám môn Toán, Ngữ văn, Lịch sử, Địa lí, Vật lí, Hóa học, Sinh học, Ngoại ngữ Tỉnh Sóc Trăng, để xét công nhận tốt nghiệp THPT thí sinh phải thi bốn môn gồm hai môn bắt buộc là Toán và Ngữ văn
và hai môn do thí sinh tự chọn trong các môn còn lại Nếu thí sinh muốn xét công nhận tốt nghiệp THPT và xét tuyển sinh đại học, cao đẳng thí sinh phải thi hai môn bắt buộc Toán, Ngữ văn và thi ít nhất hai môn tự chọn trong các môn còn lại và đăng ký dự thi thêm các môn phù hợp với tổ hợp các môn thi để xét tuyển sinh do trường đại học, cao đẳng quy định Kỳ thi THPT quốc gia năm 2015 đáp ứng theo Nghị quyết số 29-NQ/TW ngày 04/11/2013 của Ban Chấp hành Trung ương Đảng
về đổi mới căn bản toàn diện giáo dục và cụ thể là đổi mới trong thi cử
Trang 202.2 Khai thác dữ liệu
Khai thác dữ liệu (Data mining) là một quá trình khai thác các tri thức mới
và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu lớn hiện có được lưu trữ trong cơ sở dữ liệu hay kho dữ liệu Khai thác dữ liệu là một bước của quá trình khai thác tri thức (Knowledge Discovery Process) Trong khai thác tri thức gồm các bước sau: Chọn dữ liệu (data selection): chọn dữ liệu cần thiết; Làm sạch dữ liệu (data cleaning): loại bỏ dữ liệu không thích hợp và dữ liệu nhiễu; Làm giàu dữ liệu (enrichment): bổ sung thêm các thông tin cho dữ liệu phong phú hơn; Chuyển đổi
dữ liệu hoặc mã hóa (data transformation or encoding ): chuyển đổi dữ liệu về dạng phù hợp để thích hợp cho việc khai thác dữ liệu; Khai thác dữ liệu (data mining): sử dụng các phương pháp thích hợp để kết xuất dữ liệu; Báo cáo và trình bày dữ liệu khai thác: sử dụng các kỹ thuật để biểu diễn tri thức cho người sử dụng
2.2.1 Khai thác luật phân lớp, dự đoán
Ngày nay phân lớp dữ liệu là hướng nghiên cứu chính của vấn đề khai thác
dữ liệu, từ nhu cầu thực tế đặt ra là dữ liệu ngày càng lớn và để tìm ra dữ liệu có ích phục vụ cho nhu cầu cần thiết để đưa ra các quyết định thông minh Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm rút trích ra mô hình dữ liệu quan trọng
và dự đoán xu hướng dữ liệu trong tương lai Trong những năm qua, phân lớp dữ liệu đang phát triển mạnh mẽ trong nhiều lĩnh vực khác nhau như máy học, hệ chuyên gia, thống kê, , và được ứng dụng nhiều trong các lĩnh vực như giáo dục, y
tế, thương mại, kinh doanh, nghiên cứu thị trường, bảo hiểm, Ví dụ như mô hình
dự báo thời tiết, muốn dự đoán thời tiết ngày mai là mưa hay nắng thì dựa vào nhiệt
độ, độ ẩm của ngày hôm nay và các ngày trước đó từ đó sẽ đưa ra kết quả dự đoán
Khai thác luật phân lớp được tóm tắt bằng bài toán là ta có cơ sở dữ liệu D với các thuộc tính là (A1, A2, , An) trong đó A1 chứa các giá trị (ai1, ai2, , ain) và thuộc tính phân lớp là C với k lớp là các lớp nhãn (c1, c2, , ck) Sử dụng tập dữ liệu
đã cho khi đó thuật toán phân lớp sẽ tìm ra các luật của dữ liệu và hình thành nên bộ phân lớp, trên cơ sở đó có thể dự đoán được lớp của các mẫu mới
Trang 21Hình 2.1 Mô hình bài toán phân lớp Phân lớp dữ liệu là tạo ra bộ phân lớp hay mô hình phân lớp từ dữ liệu, quá trình phân lớp gồm có hai bước: [9]
- Bước huấn luyện: Dữ liệu huấn luyện được phân tích bởi thuật toán phân lớp (có thuộc tính nhãn lớp) để tạo ra bộ phân lớp Đầu vào của bước huấn luyện là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các
bộ giá trị của các thuộc tính Đầu ra của bước này là các quy tắc phân lớp dưới dạng phương pháp cây quyết định (Decision Tree), cụ thể là các phương pháp dựa trên
mô hình cây như C5.0, CART và RF
- Bước phân lớp: Dữ liệu kiểm tra được dùng để ước lượng độ chính xác của
bộ phân lớp Độ chính xác mang tính chất dự đoán của mô hình phân lớp, nếu độ chính xác là chấp nhận được thì có thể dùng bộ phân lớp để phân lớp các mẫu dữ liệu mới Cần sử dụng tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo Nếu độ chính xác của mô hình là chấp nhận được thì mô hình đó được sử dụng cho để phân lớp dữ liệu trong tương lai
Trong mô hình phân lớp thì thuật toán phân lớp là đóng vai trò quyết định tới
sự thành công hay thất bại của mô hình Vì vậy cần phải tìm ra được một thuật toán phân lớp hiệu quả, nhanh chóng, có độ chính xác cao và có khả năng mở rộng cho các tập dữ liệu lớn [9] Hiện nay có các kỹ thuật phân lớp như sau: phương pháp cây quyết định, NBC, ANN, CBA, KNN, SVM, ILA, phân tích thống kê, thuật toán di truyền, phương pháp tập thô, Đề tài sử dụng phương pháp cây quyết định với các thuật toán là C5.0, CART và RF để xác định dộ chính xác khi dự đoán
DỮ
LIỆU
VÀO
THUẬT TOÁN PHÂN LỚP
LỚP C 1
LỚP C 2
LỚP C k
………
Trang 222.2.2 Các vấn đề liên quan đến phân lớp dữ liệu
Chuẩn bị dữ liệu: dữ liệu cần phải được chuẩn bị trước cho quá trình phân lớp, việc xử lý dữ liệu là một công việc không thể thiếu và đóng vai trò quyết định tới sự áp dụng được hay không được của các mô hình phân lớp Các công việc chuẩn bị dữ liệu [9]:
- Thu thập dữ liệu: thực hiện thu thập các thông tin, dữ liệu cần thiết phục vụ cho nhu cầu của đề tài
- Làm sạch dữ liệu: thực hiện tìm và thay thế những giá trị thiếu trong dữ liệu ban đầu Giá trị thiếu có thể do lỗi chủ quan của người nhập liệu, trường hợp này ta
có thể thay bằng giá trị phổ biến nhất của tập thuộc tính đó
- Chọn lọc dữ liệu: có nhiều thuộc tính không cần thiết hay không liên quan đến vấn đề cần xử lí, ta có thể loại bỏ những thuộc tính này vì có thể những thuộc tính đó làm ảnh hưởng đến quá trình học của thuật toán phân lớp
- Biến đổi dữ liệu: có những dữ liệu của một số thuộc tính là dạng liên tục nên có thể biến đổi sang dạng rời rạc, việc biến đổi này làm cô đọng dữ liệu nên các thao tác vào, ra liên quan sẽ tối ưu hơn trong quá trình học Ví dụ như điểm trung bình của học sinh nếu có giá trị liên tục thì rất nhiều và ta có thể chuyển sang dạng rời rạc gồm giỏi, khá, trung bình, yếu và kém
So sánh các mô hình phân lớp: mỗi ứng dụng cần lựa chọn một mô hình phù hợp dựa trên các tiêu chí như độ chính xác khi dự đoán, tốc độ thực hiện, khả năng tạo ra mô hình dự đoán đúng, khả năng thực hiện hiệu quả trên mô hình đã học, mức độ hiểu và hiểu rõ kết quả sinh ra bởi mô hình đã học
2.2.3 Đánh giá độ chính xác của phân lớp
Hiện nay có rất nhiều phương pháp đánh giá độ chính xác của phân lớp, độ chính xác của phân lớp giúp cho dự đoán kết quả của phân lớp dữ liệu trong tương lai, ngoài ra độ chính xác còn giúp so sánh các mô hình phân lớp Có hai phương pháp được sử dụng phổ biến dựa trên phân hoạch ngẫu nhiên tập dữ liệu ban đầu đó
là holdout (splitting) và k-fold cross-validation Mô hình phân lớp dạng tổng quát
Trang 23Hình 2.2 Mô hình phân lớp Trong mô hình trên, ta thấy tập dữ liệu được chia làm hai phần là tập dữ liệu kiểm tra và tập dữ liệu huấn luyện, trong tập dữ liệu huấn luyện ta dùng các thuật toán phân lớp thực hiện phân lớp trên tập dữ liệu kiểm tra cho kết quả là độ chính xác của mô hình phân lớp Cụ thể là khi có mẫu mới khi đưa vào phân lớp thì kết quả là mẫu mới đó thuộc lớp nào
Việc ước lượng độ chính xác của phân lớp là rất quan trọng cho phép dự đoán độ 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 về tính hiệu quả và khả năng đáp ứng của thuật toán Độ chính xác bộ phân lớp trên tập kiểm tra cho trước là phần trăm của các mẫu trong tập kiểm tra được bộ phân lớp xếp đúng lớp, dựa vào công thức sau:
Tập
dữ liệu
Tập dữ liệu kiểm tra
Tập dữ liệu huấn luyện
Thuật toán phân lớp
Phân lớp Mẫu mới
Lớp
Độ chính xác
Trang 24- Phương pháp holdout, tập dữ liệu sẽ được chia thành hai phần ngẫu nhiên gồm tập dữ liệu huấn luyện và tập dữ liệu kiểm tra Phương pháp holdout chia 2/3 tập dữ liệu huấn luyện và 1/3 tập dữ liệu kiểm tra và thực hiện phân lớp để tính độ chính xác của phân lớp Độ chính xác của bộ phân lớp trên tập kiểm tra cho trước là phần trăm của các mẫu trong tập kiểm tra được bộ phân lớp xếp đúng lớp
Mô hình phân lớp theo phương pháp holdout
Hình 2.3 Mô hình phân lớp theo pương pháp holdout
- Phương pháp k-fold cross-validation, tập dữ liệu sẽ được phân chia ngẫu nhiên thành k-fold có kích thước bằng nhau S1, S2, , Sk Việc huấn luyện và kiểm tra được thực hiện k lần, trong đó một fold được giữ lại làm tập dữ liệu kiểm tra và k-1 fold còn lại làm tập dữ liệu huấn luyện Lần lược mỗi k-fold được giữ lại làm tập dữ liệu kiểm tra, tức là lần lặp thứ i, Si là tập dữ liệu kiểm tra (với i = 1 k) và các tập dữ liệu còn lại hợp thành tập dữ liệu huấn luyện Mô hình phân lớp theo phương pháp k-fold cross-validation với k = 10, tập dữ liệu được chia ngẫu nhiên từ fold_1, fold_2, , fold_10 có kích thước gần bằng nhau
TẬP
DỮ
LIỆU
TẬP HUẤN LUYỆN
TẬP KIỂM TRA
PHÂN LỚP
ĐỘ CHÍNH XÁC 2/3
1/3
Trang 25Hình 2.4 Mô hình phân lớp theo phương pháp k-fold cross-validation
Bước 1: chia tập dữ liệu thành hai phần, lấy fold_1 làm dữ liệu kiểm tra, còn
9 fold còn lại làm dữ liệu huấn luyện
Trang 26Bước 2: lấy fold_2 làm dữ liệu kiểm tra, còn 9 fold còn lại làm dữ liệu huấn luyện
Trang 27Tương tự bước 10: lấy fold_10 làm dữ liệu kiểm tra, còn 9 fold còn lại làm
dữ liệu huấn luyện
Hình 2.8 Mô hình sử dụng fold_10 làm tập kiểm tra
Độ chính xác là toàn bộ những phân lớp đúng trong k lần lặp chia cho tổng
số mẫu tin của tập dữ liệu
2.2.4 Ví dụ về phân lớp và dự đoán
Cơ sở dữ liệu khảo sát khách hàng mua máy tính gồm MaSo (mã số khách hàng), DoTuoi (độ tuổi chia ra ba mức: thiếu niên, trung niên, cao tuổi) , ThuNhap (thu nhập chia ba mức: thấp, trung bình, cao), SinhVien (dùng để xác định có phải
là sinh viên hay không), TinDung (tín dụng chia hai mức là khá và tốt), MuaMayTinh (kết luận là có mua máy tính hay không)
- Sử dụng phương pháp holdout
Bảng 2.1 Tập cơ sở dữ liệu
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Trang 28MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Cơ sở dữ liệu được chia ngẫu nhiên thành hai phần gồm tập dữ liệu huấn luyện chiếm khoảng 2/3 số mẫu tin trong cơ sở dữ liệu và tập dữ liệu kiểm tra chiếm khoảng 1/3 mẫu tin trong cơ sở dữ liệu
Tập dữ liệu huấn luyện:
Bảng 2.2 Tập dữ liệu huấn luyện
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Trang 29Tập dữ liệu kiểm tra:
Bảng 2.3 Tập dữ liệu kiểm tra
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Thực hiện mô hình phân lớp Hình 2.1, tập cơ sở dữ liệu Bảng 2.1 được chia thành hai phần gồm tập dữ liệu huấn luyện Bảng 2.2 và tập dữ liệu kiểm tra Bảng 2.3 Tập dữ liệu huấn luyện sẽ sử dụng các thuật toán phân lớp để thực hiện phân lớp các mẫu tin thuộc lớp cụ thể nào đó, sau đó sử dụng tập dữ liệu để kiểm tra quá trình huấn luyện có độ chính xác như thế nào
Khi có một mẫu cụ thể nào đó, ví dụ Bảng 2.4 thì kết quả MuaMayTinh như thế nào?
Bảng 2.4 Mẫu cụ thể
DoTuoi ThuNhap SinhVien UyTin MuaMayTinh
Kết quả Bảng 2.5
Bảng 2.5 Kết quả cho mẫu cụ thể
DoTuoi ThuNhap SinhVien UyTin MuaMayTinh
Dựa vào tập dữ liệu huấn luyện đã được học và tập dữ liệu kiểm tra để kiểm thử độ chính xác của dự đoán, khi có một mẫu tin mới như Bảng 2.4 thì sử dụng các thuật toán phân lớp để xác định mẫu tin đó thuộc lớp có mua máy tính như Bảng 2.5 nghĩa là với DoTuoi là ThieuNien, có ThuNhap là Cao, không phải là SinhVien và
có UyTin là Tot, theo tập dữ liệu đã được huấn luyện thì phân lớp MuaMayTinh là Khong
Trang 30- Sử dụng phương pháp k-fold cross-validation
Bảng 2.6 Tập cơ sở dữ liệu
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Cơ sở dữ liệu được chia ngẫu nhiên thành 10 fold, trong đó sử dụng fold_1 làm tập dữ liệu kiểm tra và 9 fold còn lại làm tập dữ liệu huấn luyện
Bảng 2.7 Tập dữ liệu kiểm tra fold_1
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Bảng 2.8 Tập dữ liệu huấn luyện
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Trang 31Fold_2 làm tập dữ liệu kiểm tra và 9 fold còn lại làm tập dữ liệu huân luyện
Bảng 2.9 Tập dữ liệu kiểm tra fold_2
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Bảng 2.10 Tập dữ liệu huấn luyện
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Tương tự, lấy fold_10 làm tập dữ liệu kiểm tra và 9 fold còn lại làm tập dữ liệu huấn luyện
Bảng 2.11 Tập dữ liệu kiểm tra fold_10
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Bảng 2.12 Tập dữ liệu huấn luyện
MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Trang 32MaSo DoTuoi ThuNhap SinhVien TinDung MuaMayTinh
Khi có một mẫu cụ thể nào đó, ví dụ Bảng 2.13 thì kết quả MuaMayTinh như thế nào?
Bảng 2.13 Mẫu cụ thể
DoTuoi ThuNhap SinhVien UyTin MuaMayTinh
Kết quả Bảng 2.5
Bảng 2.14 Kết quả cho mẫu cụ thể
DoTuoi ThuNhap SinhVien UyTin MuaMayTinh
Dựa vào tập dữ liệu huấn luyện đã được học và tập dữ liệu kiểm tra để kiểm thử độ chính xác của dự đoán, khi có một mẫu tin mới như Bảng 2.13 thì sử dụng các thuật toán phân lớp để xác định mẫu tin đó thuộc lớp có mua máy tính như Bảng 2.14 nghĩa là với DoTuoi là ThieuNien, có ThuNhap là Cao, không phải là SinhVien và có UyTin là Tot, theo tập dữ liệu đã được huấn luyện thì phân lớp MuaMayTinh là Khong
2.3 Phương pháp phân lớp dựa trên cây quyết định
2.3.1 Giới thiệu
Trong những năm gần đây, có rất nhiều mô hình phân lớp được các nhà khoa học đề xuất, trong đó cây quyết định là một mô hình phổ biến thích hợp cho phân lớp dữ liệu, cây quyết định được xây dựng một cách nhanh chóng, đơn giản và có tính chính xác khá cao Hiện nay, có nhiều thuật toán xây dựng dựa trên cây quyết định như ID3 [10], C4.5 [11], C5.0 [14], CART [20], RF [13]
Cây quyết định là một biểu đồ dạng cây, ví dụ xây dựng cây quyết định có mua máy tính hay không (MuaMayTinh) dựa vào thuộc tính tuổi (DoTuoi), sinh viên (SinhVien) và tín dụng (TinDung) theo Bảng 2.1
Trang 33Hình 2.9 Cây quyết định mua máy tính hay không,
dựa vào độ tuổi, sinh viên và tín dụng Cây quyết định có cấu trúc gồm nút gốc, các nút lá, các nhánh Cây quyết định được sử dụng trong phân lớp bằng cách duyệt từ nút gốc đến nút lá của cây, từ
đó rút ra lớp của đối tượng cần xét Cây quyết định được xây dựng theo kiểu dữ liệu rời rạc, các mẫu huấn luyện nằm ở gốc của cây sau đó chọn một thuộc tính để phân chia thành các nhánh dựa trên độ đo thống kê hoặc độ đo heuristic, tương tự lặp lại việc xây dựng cây quyết định cho các nhánh Điều kiện dừng là tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá), không còn thuộc tính nào có thể dùng
để phân chia mẫu nữa, không còn lại mẫu nào tại nút
Dựa vào Hình 2.9, nút gốc là DoTuoi và các nút lá Co, Khong Bắt đầu duyệt
từ thuộc tính DoTuoi, nếu là TrungNien thì quyết định MuaMayTinh là Co Nếu là ThieuNien thì phụ thuộc thêm vào thuộc tính SinhVien, nếu là SinhVien thì quyết định MuaMayTinh là Co, nếu không là SinhVien thì quyết định MuaMayTinh là Khong Nếu là CaoTuoi thì phụ thuộc thêm vào thuộc tính TinDung, nếu mức TinDung là Tot thì quyết định MuaMayTinh là Khong, còn mức TinDung là Kha thì quyết định MuaMayTinh là Co
Trang 342.3.2 Một số lưu ý khi sử dụng cây quyết định
Một số vấn đề thường gặp khi sử dụng phân lớp và dự đoán dựa trên phương pháp cây quyết định như xử lý các thuộc tính liên tục, sử dụng tập dữ liệu huấn luyện có giá trị thiếu, cách chọn phép đo để lựa chọn thuộc tính phân lớp, xác định
độ sâu để xây dựng cây và hiệu năng tính toán
- Xử lý các thuộc tính liên tục: cây quyết định thường được sử dụng trên các
dữ liệu rời rạc, vì thế trong quá trình chuẩn bị ta cần chuẩn hóa dữ liệu về dạng rời rạc Cụ thể trong điểm số của học sinh, ta có thể rời rạc hóa về năm mức như Giỏi, Khá, Trung bình, Yếu và Kém theo Thông tư số 58/2011/TT-BGDĐT ngày 12/12/2011 của Bộ Giáo dục và Đào tạo Ban hành Quy chế đánh giá, xếp loại học sinh trung học cơ sở và học sinh trung học phổ thông [4]
- Tránh quá vừa dữ liệu: Trong các thuật toán máy học, cụ thể là phương pháp cây quyết định, một vấn đề thường gặp đó là quá vừa dữ liệu (Overfitting) trong phân lớp làm ảnh hưởng nhiều đến độ chính xác của các thuật toán máy học Khi xây dựng cây quyết định, thuật toán máy học thường cố gắng để phân loại đúng các mẫu huấn luyện Tuy nhiên mục đích học cây quyết định không phải phân loại
dữ liệu mẫu mà phân loại dữ liệu thực tế hay dữ liệu chung, vì thế có thể xảy ra tình huống phương pháp cây quyết định có độ chính xác tốt trên dữ liệu huấn luyện nhưng lại không chính xác trên dữ liệu chung và đó là cây quyết định quá vừa với
dữ liệu huấn luyện Lý do có thể là dữ liệu huấn luyện không đủ, không mang tính đại diện, bị nhiễu vì thế độ chính xác của thuật toán đối với dữ liệu chung không cao Hiện nay có một số phương pháp tránh quá vừa dữ liệu được áp dụng cho phương pháp cây quyết định là:
+ Dừng phát triển cây sớm hơn bình thường đến khi đạt tới phân lớp hoàn toàn cho tập dữ liệu huấn luyện, vì thế đòi hỏi là phải ước lượng được chính xác thời điểm dừng khi xây dựng cây
+ Xây dựng cây đầy đủ, sau đó thực hiện cắt tỉa cây để tạo được cây đơn giản hơn, vì thế cần phải có cách xác định độ chính xác phân loại của cây dựa trên tập dữ liệu huấn luyện và tập dữ liệu kiểm tra riêng biệt
Trang 35+ Sử dụng phương pháp phân chia tập dữ liệu huấn luyện và tập dữ liệu kiểm tra, có thể sử dụng phương pháp holdout, k-folds cross-validation hoặc kết hợp cả hai phương pháp trên nhằm mục đích là tránh quá vừa dữ liệu
2.3.3 Đánh giá hiệu quả phương pháp cây quyết định
Theo nghiên cứu hiện nay, cây quyết định có một số ưu điểm là có thể xử lý
cả dữ liệu có giá trị bằng số và dữ liệu có giá trị là tên thể loại, có thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn Tuy nhiên, phương pháp cây quyết định cũng có một số hạn chế như đối với các bài toán có giá trị liên tục thì hiệu quả xử lý chưa cao và mất khá nhiều chi phí cho việc tính toán độ đo
Phân lớp dựa trên phương pháp cây quyết định thường được sử dụng vì cây quyết định có các khả năng [9]
- Cây quyết định có khả năng sinh ra các quy tắc hiểu được, cụ thể là dưới dạng câu lệnh if then else hoặc câu lệnh dạng SQL, với tập dữ liệu lớn thì cây quyết định được sinh ra rất lớn và phức tạp, tuy nhiên đường đi đến một nút nào đó
là rõ ràng từ đó dễ dàng giải thích cho sự phân lớp và dự đoán
- Cây quyết định có khả năng xử lý cả dữ liệu dạng liên tục và rời rạc, tuy nhiên dữ liệu dạng liên tục thì cần nhiều tài nguyên tính toán hơn so với dữ liệu dạng rời rạc Đối với dữ liệu rời rạc, cây quyết định sẽ phân chia tập dữ liệu theo giá trị thuộc tính được chọn để chia thành các nhánh tương ứng, đối với dữ liệu liên tục thì việc phân chia dựa vào ngưỡng nào đó của từng thuộc tính và tập dữ liệu được phân chia theo kiểm tra nhị phân của ngưỡng đó
- Cây quyết định có khả năng tính toán trong khi phân lớp một cách khá dễ dàng, cây quyết định được tạo ra với phân nhánh thấp và các mẫu kiểm tra đơn giản tại các nút và khi đưa vào máy tính xử lý thì chỉ các phép toán đơn giản nên thực thi rất nhanh
- Cây quyết định có khả năng thể hiện rõ các thuộc tính tốt nhất, cụ thể là các thuật toán xây dựng cây quyết định đưa ra thuộc tính phân chia tốt nhất cho tập dữ liệu huấn luyện bắt đầu từ nút gốc và đưa ra thuộc tính nào là quan trọng nhất cho việc phân lớp và dự đoán
Trang 36Tuy nhiên, cây quyết định cũng có một vài nhược điểm trong việc phân lớp
dữ liệu là dễ xảy ra lỗi khi có quá nhiều lớp, chi phí tính toán khá đắt khi thực hiện học trên dữ liệu huấn luyện
2.3.4 Xây dựng cây quyết định
Hiện nay, có rất nhiều thuật toán khác nhau để xây dựng cây quyết định là CLS, ID3, C4.5, C5.0, CART, RF, SLIQ, SPRINT Tuy nhiên quá trình xây dựng cây quyết định có chung các bước như sau:
- Bước 1: Xây dựng cây quyết định bắt đầu từ nút gốc, đến xây dựng các nhánh và tiếp tục xây dựng cho đến khi tất cả các nút lá đều được gán nhãn lớp
- Bước 2: Cắt, tỉa cây quyết định nhằm mục đích khái quát hóa làm tăng độ chính xác khi dự đoán
Các thuật toán phân lớp dựa trên phương pháp cây quyết định luôn có hai vấn đề lớn được đặt ra là làm cách nào để xác định được thuộc tính tốt nhất để xây dựng tại mỗi nút và lưu trữ, phân chia dữ liệu như thế nào Giải thuật cây quyết định thường được thực hiện bằng cách xây dựng cây Top-Down dùng để phân hoạch dữ liệu bằng đệ quy với mục tiêu tạo ra các nhóm sao cho một lớp chiếm ưu thế trong từng nhóm, thuộc tính được chọn là thuộc tính có độ đo tốt nhất có lợi nhất trong quá trình phân lớp và cắt nhánh Bottom-Up dùng để tránh học vẹt Thuộc tính được chọn là thuộc tính có lợi nhất cho quá trình phân lớp (tạo ra cây nhỏ nhất) Khi chọn thuộc tính để phân hoạch thì việc đánh giá dựa trên các độ đo là độ lợi thông tin (Information Gain), Gain Ratio và chỉ số GINI
- Độ lợi thông tin (Information Gain): phản ánh mức độ hiệu quả của một thuộc tính trong phân lớp, đó là sự rút giảm mong muốn của Entropy gây ra sự phân hoạch theo thuộc tính này Đa số các hệ thống máy học đều cố gắng tạo ra một cây càng nhỏ càng tốt vì cây nhỏ dễ đạt được độ chính xác dự đoán và dễ hiểu hơn
Chỉ số thông tin dùng để phân lớp I(S) với S là tập cần xét để phân lớp I(S) được tính bằng công thức sau:
Trang 37Khi S được chia thành các (S1, S2, ., Sm), tính Entropy của thuộc tính A có giá trị (a1, a2, , av)
) , , (
v
j
m j j
S S I S
S S
và làm việc được với tập dữ liệu bị thiếu, bị nhiễu ID3 [10] là một hệ thống đơn giản chứa khoảng 600 dòng lệnh Pascal Năm 1993, John Ross Quinlan đã kế thừa các kết quả đó phát triển thành C4.5 với 9000 dòng lệnh C chứa trong một đĩa mềm,
từ C4.5 đã phát triển thành C5.0 [14]
Hiện nay, có các thuật toán phân lớp ID3, C4.5 và C5.0, thuật toán C4.5 kế thừa các luật của thuật toán ID3, tương tự như thuật toán C5.0 cũng kế thừa các luật của thuật toán của C4.5, C5.0 có độ chính xác cao và sử dụng bộ nhớ thấp, tạo ra ít tập luật trong bộ phân lớp dữ liệu Thuật toán C5.0 có nhiều tính năng như:
- Các cây quyết định lớn có thể được xem như một tập các luật, điều đó giúp
dễ hiểu hơn
- Thuật toán C5.0 cho phép thực hiện trên các dữ liệu nhiễu và dữ liệu thiếu
- Vấn đề quá phù hợp dữ liệu và lỗi cắt tỉa được giải quyết bằng các thuật toán C5.0
- Trong kỹ thuật phân lớp dữ liệu C5.0 có thể dự đoán các thuộc tính có hay không có liên quan trong phân lớp
Cây quyết định do Kohavi, Quinlan đã tìm hiểu và công bố trên báo vào năm
1999 [15], trong bài báo này tác giả mô tả hai hệ thống phổ biến nhất được sử dụng
để giới thiệu cây quyết định cho phân lớp là C4.5 và CART, tác giả đã xây dựng các quyết định khác nhau thực hiện trong hệ thống liên quan đến các tiêu chí như tách,
Trang 38cắt tỉa, xử lý dữ liệu và nhiều tính năng khác Đối với C4.5 tác giả đã nêu các tính năng như chia để trị, kiểm tra ứng viên, kiểm tra lựa chọn, giá trị thiếu, tránh quá phù hợp, ước tính giá trị lỗi đúng, cắt tỉa cây quyết định; còn CART có các tính năng cấu trúc cây, chuẩn chia tách, cắt tỉa, giá trị thiếu, cây hồi quy
Thuật toán C4.5 thực hiện phân lớp trên tập dữ liệu mẫu theo chiến lược phát triển theo chiều sâu (depth-first strategy) Thuật toán C5.0 kế thừa từ thuật toán C4.5, thuật toán xét tất cả các phép thử có thể để phân chia tập dữ liệu ban đầu sau
đó 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 để phát triển cây quyết định GainRatio được tính dựa trên phép tính độ lợi thông tin (Information Gain)
Với
Nếu các thuộc tính có giá trị là liên tục thì thực hiện 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, sau đó sử dụng thuật toán QuickSort 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 đó
Thuật toán C5.0 được mô tả bằng mã giả như sau: [14]
- Tạo một nút gốc cho cây
- Thực hiện kiểm tra các trường hợp cơ bản
- Với kỹ thuật Genetic Search Apply Feature Selection được sử dụng
bestTree = Xây dựng một cây quyết định sử dụng dữ liệu huấn luyện
- Áp dụng kỹ thuật Cross validation
+ Chia các dữ liệu huấn luyện vào k tập con rời nhau, R = R1, R2, , Rk
+ For each j = 1, , k do
Trang 39Tập dữ liệu kiểm tra = Rj
Tập dữ liệu huấn luyện = R - Rj
Sử dụng tập dữ liệu huấn luyện, thực hiện tính toán cây quyết định Quyết định độ chính xác Xj với việc sử dụng tập dữ liệu kiểm tra + Sử dụng kỹ thuật k-fold cross-validation để ước lượng hiệu suất = (X1 + X2
+ + Xk) / k
- Áp dụng kỹ thuật Reduced Error Pruning tìm các thuộc tính với độ lợi thông tin cao nhất (A_Best), sau đó thực hiện phân lớp: For each tj є D, áp dụng cây quyết định để xác định thuộc lớp nào
Ví dụ: dựa vào Bảng 2.1 tính độ lợi thông tin cho các thuộc tính DoTuoi, ThuNhap, SinhVien, TinDung trong việc quyết định có mua hay không mua máy tính
Trong tập dữ liệu trên ta quy ước S1 là tập những mẫu tin có giá trị phân lớp mua máy tính là “Co” và S2 là tập những mẫu tin có giá trị phân lớp mua máy tính