1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

78 308 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 1,51 MB

Nội dung

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 1

BỘ 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 3

TRƯỜ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 4

NHIỆ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 5

LỜ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 6

LỜ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 7

TÓ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 8

Today, 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 9

MỤ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 10

2.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 11

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

STT 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 13

DANH 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 14

DANH 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 15

Hì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 16

CHƯƠ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 17

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

CHƯƠ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 20

2.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 21

Hì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 22

2.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 23

Hì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 25

Hì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 26

Bướ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 27

Tươ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 28

MaSo 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 29

Tậ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 31

Fold_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 32

MaSo 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 33

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

2.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 36

Tuy 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 37

Khi 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 38

cắ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 39

Tậ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

Ngày đăng: 22/02/2017, 00:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Bộ Giáo dục và Đào tạo (2015), “Thông tư Ban hành Quy chế thi trung học phổ thông quốc gia”, số 02/2015/TT-BGDĐT Sách, tạp chí
Tiêu đề: Thông tư Ban hành Quy chế thi trung học phổ thông quốc gia
Tác giả: Bộ Giáo dục và Đào tạo
Năm: 2015
[2]. Bộ Giáo dục và Đào tạo (2015), “Thông tư Ban hành Quy chế tuyển sinh đại học, cao đẳng hệ chính quy”, số 03/2015/TT-BGDĐT Sách, tạp chí
Tiêu đề: Thông tư Ban hành Quy chế tuyển sinh đại học, cao đẳng hệ chính quy
Tác giả: Bộ Giáo dục và Đào tạo
Năm: 2015
[3]. Bộ Giáo dục và Đào tạo (2015), “Công văn 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 THPT”, số 1388/BGDĐT-KTKĐCLGD Sách, tạp chí
Tiêu đề: Công văn 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 THPT
Tác giả: Bộ Giáo dục và Đào tạo
Năm: 2015
[4]. Bộ Giáo dục và Đào tạo (2011), “Thông tư 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”, số 58/2011/TT- BGDĐT Sách, tạp chí
Tiêu đề: Thông tư 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
Tác giả: Bộ Giáo dục và Đào tạo
Năm: 2011
[5]. Đỗ Thanh Nghị, Phạm Nguyên Khang, Nguyễn Minh Trung và Trịnh Trung Hưng (2014), “Phát hiện môn học quan trọng ảnh hưởng đến kết quả học tập sinh viên ngành Công nghệ thông tin”, Tạp chí Khoa học Trường Đại học Cần Thơ Sách, tạp chí
Tiêu đề: Phát hiện môn học quan trọng ảnh hưởng đến kết quả học tập sinh viên ngành Công nghệ thông tin”
Tác giả: Đỗ Thanh Nghị, Phạm Nguyên Khang, Nguyễn Minh Trung và Trịnh Trung Hưng
Năm: 2014
[6]. Đỗ Thanh Nghị, Phạm Nguyên Khang, Nguyễn Hữu Hòa và Nguyễn Minh Trung (2015), “Giải thuật rừng ngẫu nhiên với luật gán nhãn cục bộ cho phân lớp”, Kỷ yếu Hội nghị Quốc gia lần thứ VIII về nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/7/2015 Sách, tạp chí
Tiêu đề: Giải thuật rừng ngẫu nhiên với luật gán nhãn cục bộ cho phân lớp”
Tác giả: Đỗ Thanh Nghị, Phạm Nguyên Khang, Nguyễn Hữu Hòa và Nguyễn Minh Trung
Năm: 2015
[7]. Ahmet Tekin (2014), “Early Prediction of Students’ Grade Point Averages at Graduation: A Data Mining Approach”, Eurasian Journal of Educational Research, Issue 54, 207-226 Sách, tạp chí
Tiêu đề: Early Prediction of Students’ Grade Point Averages at Graduation: A Data Mining Approach”
Tác giả: Ahmet Tekin
Năm: 2014
[8]. Edin Osmanbegović, Mirza Suljic (2012), “Data Mining Approach for Predicting Student Performance”, Economic Review – Journal of Economics and Business, Volume X, Issue 1, 1-12 Sách, tạp chí
Tiêu đề: Data Mining Approach for Predicting Student Performance”
Tác giả: Edin Osmanbegović, Mirza Suljic
Năm: 2012
[9]. Jiawei Han, Micheline Kamber, Jian Pei (2000), “Data Mining: Concepts and Techniques”, Chapter 8 – Classification: Basic Concepts, Morgan Kaufmann Publishers is an imprint of Elsevier, ISBN 978-0-12-381479-1, 327-391 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques”
Tác giả: Jiawei Han, Micheline Kamber, Jian Pei
Năm: 2000
[10]. John Ross Quinlan (1986), “Induction of Decision Trees”, Machine Learning 1, 81-106 Sách, tạp chí
Tiêu đề: Induction of Decision Trees”
Tác giả: John Ross Quinlan
Năm: 1986
[11]. John Ross Quinlan (1994), “Book Review: C4.5-Programs for Machine Learning”, Kluwer Academic Publishers, Boston – Manufactured in The Netherlands, Volume 6, Issue 3, 235-240 Sách, tạp chí
Tiêu đề: Book Review: C4.5-Programs for Machine Learning”
Tác giả: John Ross Quinlan
Năm: 1994
[12]. K.Srinivas, G.Raghavendra Rao and A.Govardhan (2011), “Survey On Prediction Of Heart Morbidity Using Data Mining Techniques”, International Journal of Data Mining & Knowledge Management Process (IJDKP), Volume 1 - No.3, 14-34 Sách, tạp chí
Tiêu đề: Survey On Prediction Of Heart Morbidity Using Data Mining Techniques”
Tác giả: K.Srinivas, G.Raghavendra Rao and A.Govardhan
Năm: 2011
[14]. Rutvija Pandya, Jayati Pandya (2015), “C5.0 Algorithm to Improved Decision Tree with Feature Selection and Reduced Error Pruning”, International Journal of Computer Applications (0975-8887), Volume 117 - No. 16, 18-21 Sách, tạp chí
Tiêu đề: C5.0 Algorithm to Improved Decision Tree with Feature Selection and Reduced Error Pruning”
Tác giả: Rutvija Pandya, Jayati Pandya
Năm: 2015
[16]. Ross Ihaka, Robert Gentleman (1996), “R: A Language for Data Analysis and Graphics”, Journal of Computational and Graphical Statistics, Volume 5 - No.3, 299-314 Sách, tạp chí
Tiêu đề: R: A Language for Data Analysis and Graphics”, "Journal of Computational and Graphical Statistics, Volume 5 - No
Tác giả: Ross Ihaka, Robert Gentleman
Năm: 1996
[17]. Sahil P. Karkhanis, Shweta S. Dumbre, PhD (2015), “A Study of Application of Data Mining and Analytics in Education Domain”, International Journal of Computer Applications (0975 – 8887), Volume 120 - No.22, 23-29 Sách, tạp chí
Tiêu đề: A Study of Application of Data Mining and Analytics in Education Domain”
Tác giả: Sahil P. Karkhanis, Shweta S. Dumbre, PhD
Năm: 2015
[18]. Thair Nu Phyu (2009), “Survey of Classification Techniques in Data Mining”, Proceedings of the International MultiConference of Engineers and Computer Scientists, Volume 1, 1-5 Sách, tạp chí
Tiêu đề: Survey of Classification Techniques in Data Mining”
Tác giả: Thair Nu Phyu
Năm: 2009
[19]. V. Ramesh, P. Parkavi, K. Ramar (2013), “Predicting Student Performance: A Statistical and Data Mining Approach”, International Journal of Computer Applications (0975 – 8887), Volume 63 - No.8, 35-39 Sách, tạp chí
Tiêu đề: Predicting Student Performance: A Statistical and Data Mining Approach”
Tác giả: V. Ramesh, P. Parkavi, K. Ramar
Năm: 2013
[20]. Wei-Yin Loh (2011), “Classification and Regression Trees” Overview – WIREs Data Mining and Knowledge Discovery , Volume 1, 14-23 Sách, tạp chí
Tiêu đề: Classification and Regression Trees”
Tác giả: Wei-Yin Loh
Năm: 2011

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w