1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ: Tư vấn chọn ngành học tại học viện CNTT NIIT-ICT HN sử dụng phương pháp học máy

92 0 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

Tiêu đề Tư Vấn Chọn Ngành Học Tại Học Viện CNTT NIIT-ICT HN Sử Dụng Phương Pháp Học Máy
Tác giả Nguyễn Hùng Cường
Người hướng dẫn PGS.TS. Nguyễn Quang Hoan
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 92
Dung lượng 9,09 MB

Nội dung

Xuất phát từ thực tế công tác, tôi đã tìm hiểu, nghiên cứu về phương phápphân lớp dit liệu, cụ thé là giải thuật cây quyết định C4.5 và giải thuật RandomForest để phân lớp dữ liệu theo p

Trang 1

NIL ĐNOHL SHDN ĐNQO

ĐNO/19 ONNH NIAñÐN

61 VỌHX

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRUONG ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SĨCHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TINThư viên

TU VAN CHỌN NGÀNH HỌC TẠI HỌC VIỆN CNTT

NIIT-ICT HN SỬ DỤNG PHƯƠNG PHÁP HỌC MAY

NGUYÊN HÙNG CƯỜNG

HÀ NỘI - NĂM 2023

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRUONG ĐẠI HỌC MỞ HÀ NOI

NGUYÊN HÙNG CƯỜNG

rờng Đại học Mở Hà Nội

TƯ VẤN CHỌN 'NGANH HOC TAI HOC VIEN CNTT

NIIT-ICT HN SU DỤNG PHUONG PHAP HỌC MAYNGANH/CHUYEN NGANH: CONG NGHE THONG TIN

Mã đề tài: 1452

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TS NGUYÊN QUANG HOAN

LUẬN VĂN TÓT NGHIỆP THẠC SĨ

HÀ NỘI - NĂM 2023

Trang 3

LỜI CAM ĐOAN

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

Hà Nội, ngày — tháng 08 năm 2023

HỌC VIÊN

Nguyễn Hùng Cường

Trang 4

LỜI CẢM ƠN

Em xin chân thành cảm ơn Khoa Công nghệ thông tin - Trường Đại học Mở

Hà Nội va Học viện đào tạo Công nghệ thông tin NIIT-ICT HN đã tạo điều kiệnthuận lợi và giúp em rất nhiều để hoàn thành luận văn này

Em xin gửi lời cảm ơn sâu sắc về sự hướng dẫn, chỉ dạy tận tình củaPGS.TS Nguyễn Quang Hoan trong quá trình thực hiện và triển khai đề tài, em rấttrân trọng thầy đã dành thời gian và công sức giúp đỡ em để có thể hoàn thành được

luận văn này.

Em xin cảm ơn các giảng viên và cán bộ khoa Công nghệ thông tin - Trường

Đại học Mở Hà Nội đã truyền thụ kiến thức, hỗ trợ em trong suốt quá trình học tập

vừa qua Cảm ơn bạn bè, đồng nghiệp, gia đình và những người thân yêu đã luônđồng hành, tạo mọi điều kiện, động viên giúp đỡ em trong quá trình học tập, công.tác dé hoàn thành khóa học,yàluận yăn này: ¡ foe iG HA NO

Đặc biệt cảm ơn vợ và hai con đã chia sẻ, luôn ở bên cạnh động viên, tạo

điều kiện, chấp nhận thiệt thòi, và là nguồn động lực to lớn, để chồng/bố có thé

hoàn thành khoá học và luận văn này.

Trang 5

MỤC LỤC

LỜI CAM ĐOAN iLỜI CẢM ON _ iiDANH SACH THUAT NGU VIET TAT TIENG VIET

DANH SÁCH CAC BANG seceeririniririirrrrririrrrrirrie viiiDANH MỤC HÌNH ANH ixLOI MỞ ĐẦU 1

1.2 Các phương pháp ứng dụng trong phân lớp dữ liệu . -: 5

1.3 Một số van đề liên quan đến phân lớp dữ liệu

1.3.1 Chuan bị dữ liệu chớ việe'phẩn lớp

1.3.2 Một số phương pháp đánh giá độ chính xác mô hình phân lớp 1.4 Sử dụng cây quyết định trong phân lớp dữ liệu

1.4.1 Các giai đoạn trong quá trình xây dựng cây quyét định.

1.4.2 Các đặc trưng trong phân lớp dữ liệu sử dụng cây quyét

1.4.2.1 Tránh hiện tượng overfitting

1.4.2.2 Thao tác với thuộc tính liên tục Error! Bookmark not

defined.

1.5 Các nghiên cứu giải thuật hiện nay.

1.6 Phát biểu bài toán của luận văn

Trang 6

2.1.5 C4.5 là một giải thuật hiệu quả cho những tập dữ liệu vừa và nhỏ Error! Bookmark not defined.

2.2 Ưu nhược điểm của cây quyết định trong phân lớp dữ liệu 132.2.1 Ưu điểm của cây quyết định

2.2.2 Nhược điểm của cây quyết định

2.3.1 Giới thiệu tổng quan về giải thuật Random Forest

2.3.2 Các giả định đối với Random Forest.Error! Bookmark not defined

2.3.3 Lý do sử dụng Random Forest

Cơ chế làm việc của giải thuật Random Forest

Những đặc điểm thiết yếu của giải thuật Random Forest

Ứng dụng của giải thuật Random Forest

Khi nào không sử dụng Random Fore:

2.3.8 Ưu điểm của giải thuật Random Forest

CHUONG 3 PHAN LOP DU LIEU HQC VIEN PHUC VU CHO CONG

TAC TU VAN CHON NGANH HQC

3.1 Khảo sát và thu thập dữ liệu

3.3.3 Kết quả của việc áp dụng giải thuật

3.4 Phân lớp học viên sử dụng giải thuật Random Foresi

Trang 7

3.5 Giới thiệu một số ngôn ngữ trong khai phá dữ liệu

3.5.1 Giới thiệu về ngôn ngữ R

3.5.2 Giới thiệu về ngôn ngữ Python

3.5.3 Giới thiệu về phần mềm Weka

3.6 Kết quả thực nghiệm

3.6.1 Chạy giải thuật J48 trên ngôn ngữ Weka

3.6.2 Chạy giải thuật Random Forest trên công cụ Weka

Trang 8

DANH SÁCH THUẬT NGU VIET TAT TIENG ANH

Viết tắt Tiếng Anh Tiếng Việt

DB Database Co sở dữ liệu

N Negative Số mẫu âm

NPV_ | Negative Predictive Value Giá trị tiên đoán âm

P Positive Số mẫu dương

PPV Positive Predictive Value Giá trị tiên đoán dương

TN True Negative Thực âm

TNR_ | True Nagative Rate Ty lệ thực âm

TP True Positive Thực dương

TPR True Positive Rate Tỷ lệ thực dương

GR |Gain Ratio Tỉ sô độ lợi

Is Infonppion Gain Trường Dai lọt Ung Tới

ACC | Accuracy ' * "| Độ chính xác '

vi

Trang 9

DANH SÁCH THUẬT NGU VIET TAT TIENG VIET

Ngôn ngữ truy vân mang tính câu trúc SQL

Công nghệ thông tin CNTT

HÃNG Thư viện Trường B#floc Mở Hà Nội

Trang 10

10 Bảng so sánh kết quả GainRatio trong tập thuộc tính S; ¡

11 Bảng tập luật ap dụng,giải thuật,C4,5 (tính tay)+.›

So sánh giữa Cây quyết định và Random Forest

3:

1.

2 Bảng dữ liệu mẫu huắn luyện

3 Bảng so sánh kết quả GainRatio trong tập thuộc tính S

4 Bảng mẫu huấn luyện TH = KHTN

5 Bảng so sánh kết quả GainRatio trong tập thuộc tinh S;

6.

7 Bảng so sánh kết quả GainRatio trong tập thuộc tính S; ¡

8 Bảng mẫu huấn luyện DoTuoi = Tre

9 Bảng mẫu huấn luyện THIENHUONG = KHXH

Trang 11

DANH MỤC HÌNH ẢNH

Hình 1 1 Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp

Hình 1 2 Ước lượng độ chính xác của mô hình

Hình 1 3 Phân lớp dữ liệu mới

Hình 1 4 Ước lượng độ chính xác của mô hình phân lớp với phương pháp holdout7Hình 1 5 Ước lượng độ chính xác của mô hình phân lớp với phương pháp k-fold

cross-validation

Hình 1 6 Minh hoạ cây quyết định

Hình 2 1 Minh họa cơ chế làm việc của giải thuật Random Forest

Hình 2 2 Biểu điễn về hai phương pháp Bagging và Boosting

Hình 2 3. Biểu diễn phương pháp Bagging,

Hình 3 1 Cây quyết định cấp 1

Hình 3 2 Cây quyết định cấp 2

Hình 3 3 Cây quyết định cấp 2.1

Hình 3 4 Cây quyét định cấp Bl py

Hình 3 5 Cây quyết định hoàn chỉnh

Hình 3 6 Mã nguồn phân lớp dữ liệu với giải thuật RandomForest

thuật C4.5

Hình 3 6 Kết quả Classifer Output gị

Hình 3 7 Cây quyết định sử dụng giải thuật C4.5 trong Weka

Hình 3.8 Kết quả Classifer Output giải thuật Random Forest

Hình 3 9 Màn hình giao diện chính của ứng dụng demo

Hình 3 10 Mã nguồn phân lớp dữ liệu với giải thuật cây quyết định

Hình 3 11 Kết quả ma trận nhằm lẫn với giải thuật cây quyết định

Hình 3.12 Kết quả bảng thống kê các chỉ số với giải thuật cây quyết định.Hình 3.13 Mã nguồn thống kê và hiển thị kết quả với giải thuật cây quyết định 54Hình 3.14 Hàm tự định nghĩa dé tính toán ra chỉ số precision và recall

Hình 3.15 Kết quả bảng thống kê các chỉ số với giải thuật RandomForest Hình 3.16 Kết quả bảng thống kê các chỉ số với giải thuật RandomForest 56Hình 3 17 Thống kê ngành học theo độ tudi

Trang 12

Hình 3 8 Thống kê ngành học theo giới tính

Hình 3 19 Thống kê ngành học theo vùng mi

Hình 3 20 Thống kê ngành học theo trình độ

Hình 3 21 Thống kê ngành học theo thiên hướng

Hình 3 22 Kết quả chức năng export đữ liệu ra Excel

Hình 3.23 Kết quả chức năng export dữ liệu ra JSON

Hình 3.24 Kết quả chức năng export dữ liệu ra MongoDB Hình 3.25 Kết quả chức năng export dữ liệu ra CSDL SQLiteHình 3.26 Kết quả chức năng export dữ liệu ra CSDL MySQL Hình 3.27 Kết quả chức năng export dữ liệu ra file PDF

Hình 3 28 Dữ liệu trước khi làm sạch trong ứng dụng

Hình 3 29 Dữ liệu sau khi làm sạch trong ứng dụng

Hình 3 30 Mã nguồn chức năng làm sạch dữ liệu trong ứng dụng

Trang 13

từ học sinh, sinh viên, cho đến người đi làm muốn chuyển nghành, quân nhân xuấtngũ, người thất nghiệp sau đại dịch Covid 19 v.v Tuy nhiên, trong lĩnh vực công,nghệ thông tin vốn có nhiều công việc khác nhau, nhiều ngành học, vì vậy để chọn

được đúng ngành học phù hợp với khả năng của người học quả là việc không đơn

giản Đã có nhiều học viên lựa chọn chưa đúng ngành học, vì vay dẫn đến việc họckhông hiệu qua, /Học, xoit không, làm được Vises hoặc làm wide, không đúng vớichuyên ngành học, từ đó gây ra sự tốn kém cho xã hội, lãng phí thời gian, công sứctheo học mà không đạt được hiệu quả mong muốn

Xuất phát từ thực tế công tác, tôi đã tìm hiểu, nghiên cứu về phương phápphân lớp dit liệu, cụ thé là giải thuật cây quyết định C4.5 và giải thuật RandomForest để phân lớp dữ liệu theo phương pháp học máy với mong muốn có thé tìm racác quy luật, các đặc trưng tác động đến quá trình tư vấn cho người học trong việclựa chọn ngành học sao cho phù hợp và chính xác nhất, từ đó giúp cho người học cóthé chọn đúng ngành phù hợp với bản thân, học xong có thé làm được việc theo

đúng chuyên ngành.

Với những lý do trên, tôi chọn đề tài “Tư vấn chọn ngành học tại Học viện

CNTT NIIT-ICT HN sử dụng phương pháp học máy”.

2 Mục tiêu, đối tượng và phạm vi nghiên cứu

- Mục tiêu: Phân lớp dữ liệu học viên tại Học viện CNTT NIIT-ICT HN dựa trên giải thuật C4.5 và giải thuật Random Forest.

Trang 14

- Đối tượng nghiên cứu: Đối tượng nghiên cứu của luận văn là dữ liệu về học

viên nhập học tại Học viện CNTT NIIT-ICT HN qua 5 năm gần nhất

- Phạm vi nghiên cứu: Luận văn sẽ tiến hành thử nghiệm phân lớp theo 5 đặctrưng va 217 bản ghi đầu vào, sau đó có thể mở rộng thêm các đặc trưng cũng như

các bản ghi khác.

- Giới hạn của đề tài: Qua quá trình quan sát trực quan, cũng như dựa trên

kinh nghiệm của bản thân, việc lựa chọn ngành học của học viên có thê sẽ phụ

thuộc vào nhiều yếu tố Dé có thé phân tích và khảo sát, cũng như tìm ra được cácyếu tố quyết định thực sự đến quyết định lựa chọn ngành học của học viên thì cầnphải có các cuộc điều tra, khảo sát xã hội học chuyên sâu với quy mô lớn Tuynhiên, do thực tế tình hình tuyển sinh tai Học viện CNTT NIIT-ICT HN, cùng với

bộ dữ liệu tuyển sinh đầu vào của Học viện CNTT NIIT-ICT HN do bộ phận tuyểnsinh cung cấp cũng không có đầy đủ hết các trường dữ liệu, dữ liệu tuyển sinh cũngcòn nhiều hạn chế về các đặc trưng, vì vậy nên trong đề tài này sẽ giả định có 5

trường dữ liệu có tác động đến quyết định chọn ngành học của học viên, bao gồm:

NO

Thién hướng, độ tuổi, giới tinh, trình độ va Vùng mĩ

3 Bố cục luận văn

Luận văn được chia thành ba chương có nội dung như sau:

Luận văn gồm các phần chính sau:

- Phần mở đầu

- Chương |: Phương pháp phân lớp dữ liệu

- Chương 2: Giải thuật C4.5 và Random Forest

- Chương 3: Phân lớp dữ liệu học viên phục vụ cho công tác tư vấn chọn

ngành học tại Học viện đào tạo CNTT NIHT-ICT HN

- Kết luận: Tổng kết các kết quả đã đạt được của luận văn và hướng nghiêncứu tiếp theo

Trang 15

CHƯƠNG 1 PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU

1.1 Phân lớp dữ liệu.

Phân lớp dữ liệu là kỹ thuật dựa trên tập dữ liệu huấn luyện và những giá trị

còn gọi là nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp dữ liệu mới Phân lớp dữ liệu cũng là quá trình tiên đoán loại lớp của nhãn [10].

Vi dụ: Dựa vào những thói quen mua sắm của khách hàng, hệ thống có thểđưa ra những gợi ý dé các cửa hàng hay siêu thị có thé đưa ra những sự chuẩn bịđầy đủ, chu đáo về số lượng mặt hang, chủng loại sản phẩm cho phù hợp nhất,nhằm đáp ứng được tốt nhất nhu cầu của khách hàng, từ đó làm tăng doanh thu.Trải qua một vài năm gần đây, lĩnh vực phân lớp dữ liệu đã được đông đảonhiều nhà nghiên cứu quan tâm và tìm cách ứng dụng trong nhiều lĩnh vực của cuộcsống Nhiều nhân lực thuộc các vị trí khác nhau đã tham gia vào nghiên cứu phân

lớp dir liệu như: Các nhà nghiên cứu, các chuyên gia, các lập trình viên, giảng viên

v.v Phân lớp oF liệu cũng được ứng dụng trọng nhiều lĩnh vực của đời sống như:

Ngân hàng, tài chính, bảo hiém, y tê, giáo dục, nông nghiệp, thương mai,

Quá trình phân lớp dữ liệu bao gồm hai bước như sau:

Y Bước thứ nhất

Day là bước thực hiện một quá trình “học” để xây dựng nên một mô hình, mô

hình này sẽ cho phép mô tả một tập hợp các lớp dữ liệu Trong bước này thì ta sẽ sử

dụng đầu vào là một số lượng đữ liệu gồm có các thuộc tính, bộ dữ liệu này gồmmột số mẫu hay còn gọi là bộ giá trị Mỗi một phần tử trong tập dữ liệu ta có thể gọibằng nhiều thuật ngữ khác nhau, như bản ghi (Record), hoặc có thể gọi bằng cácthuật ngữ khác như tuple, sample v.v Thuật ngữ lớp chính là một hay một số giátrị của một thuộc tính phân lớp Kết quả của bước học sẽ là một mô hình, ví dụ câyquyết định hoặc có thể là mạng noron Bước | được mô tả như trong Hình 1.1

Trang 16

CŨ cams phân lớp ID

Tuoi Thienhuong | Nganh

Tre KHTN Laptrinh

Tre KHXH Laptrinh IF Tuoi = Tre or Thienhuong =

Thanhnien KHTN Laptrinh KHIN

Trungnien KHTN Laptrinh THEN Ngan =Lapitinh

- Bur y dựng mô hình phân lớp

v Bước thứ hai

Trong bước này, ta sử dụng mô hình đã được tạo ra trong bước một để tiếnhành phân lớp dữ liệu mới Trong bước này, ta tiến hành ước lượng độ chính xáccủa mô hình phân lớp Sau đó, ta có thể sử dụng các kỹ thuật để ước lượng độ chính

xác của mô hình, có thê sử dụng kỹ thuật holdout Kỹ thuật này sẽ cho phép phân

chia tập hợp dữ liệu thành 2 phần, bao gồm một tập dữ liệu kiểm tra (test data) vớicác mẫu đã được gán nhãn lớp

Trang 17

Tuoi Thienhuong | Nganh

Thư viện Trường Đại học Mở Hà Nội

Tuoi Thienhuong | Nganh Nganh

Tre KHTN | Laptrinh Laptrinh

Tre KHXH _ |Kiemthu KiemthuTrungnien KHXH Kiemthu KiemthuThanhnien KHTN Laptrinh Laptrinh

Hình 1 3 Phân lớp dữ liệu mới

1.2 Các phương pháp ứng dung trong phân lớp dir liệu

Dưới đây là một tập hợp các giải thuật phân lớp thông dụng:

Trang 18

- Random Forest

1.3 Một số van đề liên quan đến phân lớp dữ liệu

1.3.1 Chuẩn bj dữ liệu cho việc phân lóp

Trước khi bắt đầu tiến hành phân lớp dữ liệu, ta cần thực hiện bước đầu tiên

là tiền xử lý dir liệu (Data Preprocessing) Tiền xử lý dữ liệu cho quá trình phân lớp

là một công việc bắt buộc và có vai trò quan trọng quyết định tới việc có áp dụngđược mô hình phân lớp hay không Đây là bước rat quan trọng dé có bộ dữ liệu đủtốt và đảm bảo cho quá trình phân lớp Quá trình này sẽ cho phép nâng cao độ chính

xác và tính hiệu quả mô hình phân lớp.

Quá trình thực hiện data preprocessing bao gồm các bước sau:

- Làm sạch dữ liệu (data cleaning): Là công việc bao gồm điều chỉnh hoặc

xử lý các giá trị bị khuyết (missing value) trong tập đầu vào Quá trình này còn baogồm việc loại bỏ những dữ liệu không chính xác, sai định dạng, không liên quantrong tập di liệu ban đầu Cách xử lý là có thể thay missing value bằng giá tri

mode/mean dựa trên thống kê, nếu dữ liệu thuậc dang số thì có, the thay các giá trị

bị khuyết bằng giá trị médium (rung bình cộng) của thuộc tinh đó Kết quả của

công việc này sẽ giúp xử lý các giá trị thiếu, lỗi trong tập dữ liệu, góp phần làm

giảm mức độ lộn xộn trong quá trình xây dựng mô hình phân lớp.

- Phân tích sự cần thiết của dữ liệu: Trong bước này, ta cần tiến hành lọc racác thuộc tính ít quan trọng, ít liên quan đến hệ thống phân lớp Ví dụ: màu da haychiều cao, cân nặng của người học không liên quan đối với ứng dụng phân lớp dữ liệuhọc viên đê phục vụ cho công tác tư vấn chọn nghành học, nên những thuộc tính này

là dư thừa và cần loại bỏ khỏi tập dữ liệu Hệ thống sẽ phải tốn kém tài nguyên để xử

lý những thuộc tính đó, vì vậy ta cần loại bỏ chúng

- Chuyển doi dữ liệu: Ta thục hiện làm đơn giản hoá dữ liệu lên mức caohon, dé hiểu hơn Quá trình này giúp tăng hiệu suất của giải thuật

1.3.2 Một số phương pháp đánh giá độ chính xác mô hình phân lóp

Ở đây ta sẽ tìm hiểu hai phương pháp đánh giá phô biến nhất là holdout và fold cross-validation Hai cách thức này đều cho phép tiến hành chia tập đầu vào

Trang 19

k-Phương pháp holdout

Trong phương pháp nay, dir liệu đưa ra được chia một cách ngẫu nhiên thành

2 phan la: tập dữ liệu đào tao và tập dữ liệu kiêm tra.

Lấy từ bộTập dữ liệu phân lớp

Phương pháp k-fold cross-validation

Tập dữ liệu ban đầu sẽ được chia một cách ngẫu nhiên thành k tập dữ liệucon có kích thước xấp xi nhau Aj,Ao, ,Ax Trong lần thực hiện thứ i, A; là testdata và các tập còn lại hợp thành train data Ta có thé hiểu là trong lần đầu tiên ta sẽtiến hành phân lớp trên các tập Ao, A3, -Ay, rồi sẽ tiến hành test trên tập Aj, tương

tự như thế với các tập As,As.Aa, Ak rồi sau đó test trên tập A> , cứ tiến hànhtương tự đối với các tập sau đó cho đến hết

Trang 20

| All Data |

| Fold1 || Fold2 || Folds || Fold4 || Folds |

Final evaluation {

Hình 1 5 Phương pháp K fold cross-validation

(au: Hid UG Died SR

1.4 Sứ dung cây quyết định trong phân lớp dữ liệu

Trong nhiều năm, có nhiều mô hình phân lớp dữ liệu như mạng nơ ron,KNN, cây quyết định v.v

công cụ mạnh mẽ, phổ biến, có nhiều ưu điểm và rat thích hợp cho các bài toán phân

Giữa các mô hình này, cây quyết định nổi bật lên một

lớp dữ liệu [3].

Một số ưu điểm của cây quyết định:

- Cho phép tạo nhanh

- Cấu trúc cây đơn giản, dễ hiểu

- Dễ dang cho các lập trình viên trong việc hiểu, cũng như trực quan hóa câyquyết định

Trang 21

Gém 2 giai đoạn: phát triển cây va cắt tia cây

1.4.2 Các đặc trưng trong phân lóp dữ liệu sử dụng cây quyết định1.4.2.1 Tránh hiện tượng'oyetfitting›c \ (0 Ha Nội

Overfitting (có thể hiểu một cách đơn giản là quá vừa dữ liệu) là hiện tượngcây quyết định chứa một số đặc trưng riêng có, chuyên biệt của training data, vì vậynếu ta lấy chính tập dữ liệu đào tạo để kiểm tra lại mô hình phân lớp thì độ chínhxác sẽ rất cao, tuy nhiên, độ chính xác sẽ có thé thấp hoặc không như mong muốnnếu ta sử dụng cây quyết định dé phân lớp đối với những dữ liệu mới, chưa biết.Quá vừa dé liệu là một vấn đề khá nghiêm trọng đối với quá trình phân lớp dựatrên cây quyết định, đặc biệt khi tập đào tạo có quá ít dữ liệu, hoặc dữ liệu có lỗi

Để có thể tránh được hiện tượng quá vừa dữ liệu, ta dùng hai phương pháp

như sau:

+ Dừng cây quyết định dừng sớm hơn so với bình thường Khi sử dụng phương.pháp này thì điều quan trọng là ta phải phải ước lượng được chính xác thời điểm dừngphát triển cây

+ Cho phép cây quyết định được phép phát triển và chấp nhận quá vừa dữliệu, sau đó ta sẽ tiến hành thao tác cắt, tỉa cây (còn gọi là kỹ thuật pruning)

Trang 22

Phương pháp thứ nhất sẽ khó khăn trong việc xác định chính xác khi nào thìdừng phát triển cây, còn khi sử dụng phương pháp thứ hai thì kết quả thực nghiệmcho thấy là thành công hơn Bên cạnh đó, việc thực hiện kỹ thuật prunning còn hỗ

trợ khả năng cải thié hính xác của mô hình phân lớp.

1.5 Các nghiên cứu giải thuật hiện nay

Có hai yếu tố cần thiết mà ta cần tìm ra mỗi khi tiến hành bài toán phân lớp, đó

là tìm ra được thuộc tinh tốt nhất và làm thé nào dé chia dữ liệu

Để tiến hành, ta có thể sử dụng tiêu chuẩn Gini-Index, hoặc có thể sử dụng

Information-Gain (Quinlan, 1993)

1.6 Phát biểu bài toán của luận văn

- Cho cơ sở dữ là đanh sách học viên đầu vào của Học viện đào tạoCNTT NIIT-ICT HN bao gồm 5 đặc trưng đầu vào (giới tính, vùng miễn, trình độ,

độ tuổi, thiên hướng) và 2 đầu ra (Lập trình và kiểm thử)

- Ap dụng giải thuật học máy C4.5 và giải thuật RandomForest để thực hiệnbài toán phân lớp, dữ liệu học viên ¡tuyển sinh đầu vào của Học viện Sau đó ta sẽ tiến

0

hành so sánh kết ¿ quả của hai giải thuật 5 đống thời đái h giá độ chính xác Xây dựng

một ứng dụng phần mềm thực hiện phân lớp với 2 giải thuật trên và một sé chức năng

mở rộng, bô sung để nhằm phục vụ cho công tác thực tiễn tại Học viện

1.7 Kết luận chương 1

Trong Chương 1 luận văn đã giới thiệu khái quát về mô hình phân lớp dữliệu, đưa ra mô hình và các bước đề tiến hành xây dựng cây quyết định trong quátrình phân lớp Chương | cũng đưa ra một số đánh giá về những điểm mạnh vàđiểm yếu của cây quyết định trong mô hình phân lớp dit liệu Ngoài ra, chương 1còn giới thiệu một số giải thuật đã và đang được sử dụng rộng rãi trong các mô hình

phân lớp hiện nay Một số mục quan trọng như mục tiêu, đối tượng, phạm vi nghiên

cứu và phát biểu bài toán của luận văn cũng đã được trình bày trong chương 1

Trang 23

CHƯƠNG 2 GIẢI THUẬT C4.5 VÀ GIẢI THUẬT RANDOM

FOREST

2.1 Giải thuật C4.5

2.1.1 Tong quan

Giải thuật C4.5 là một giải thuật học máy bằng cây quyết định được phát

triên bởi Ross Quinlan J.Ross Quinlan đã phát triển giải thuật C4.5 với khoảng

9000 dòng lệnh C Cây quyết định được tạo ra bởi C4.5 có thê được sử dụng cho bài

toán phân lớp [20].

Giải thuật C4.5 đã có nhiều cải tiễn so với giải thuật ID3 như:

Cho phép xử lý cả các thuộc tính tiếp diễn và rời rạc

Xử lý được những thiếu sót trong training data với những giá trị thiếu

Hỗ trợ việc xử lý cắt cây (pruning tree) sau khi tao

Giải thuật J48 là một bản cài đặt giải thuật C4.5 được sử dụng với công cụ

Weka và là một phiên bản được viết bằng Java

2.1.2 Giải thuật C4.5 (wong TÔ:

Giải thuật C4.5 là giải thuật phân lớp dữ liệu dựa trên cây quyết định hiệuquả và phổ biến trong những ứng dụng xử lý và thao tác với những tập dữ liệu có

kích thước nhỏ Giải thuật C4.5 phù hợp với những cơ sở dit liệu nhỏ, và có khả

năng sắp xếp lại dữ liệu tại mỗi node trong quá trình phát triển cây quyết định

2.1.3 C4.5 chọn thuộc tính phân loại tốt nhất

Trong quá trình xây dựng cây quyết định, tác vụ quan trọng nhất là ta cầnchọn thuộc tính tốt nhất dé phân hoạch dữ liệu Trong quá trình xây dựng cây, ta

cần tiến hành phân hoạch dữ liệu sao cho kết quả thu được cây nhỏ nhất, điều nay sẽ

phụ thuộc vào việc chọn thuộc tính sinh ra các nút thuần khiết nhất Ở đây ta tìmhiểu và sử dụng giải thuật học máy dựa trên cây quyết định tiêu biểu là giải thuật

C4.5 của Quinlan Dưới đây là công thức (2.1):

(8) =-3#hg,(P) (2.1)=

Trang 24

Dưới đây là công thức tính độ đo hỗn loạn (2.2):

al

148) = Dy 15) (22)i

Độ lợi thông tin (informartion gain) khi chọn thuộc tinh 4 phân hoạch dit

liệu Š thành v phần được tinh theo công thức (2.3) [2]:

Gs) = /(S)-1,S) (3)

Tuy nhiên, khi dữ liệu có thuộc tính có nhiều giá trị hơn các thuộc tính khác,

độ lợi thông tin tăng trên các thuộc tính có nhiều giá trị phân hoạch Giả sử khi sửdụng thuộc tinh A phân hoạch dữ liệu Š thành v phan, thông tin của phân phối dữ

liệu được tính như công thức (2.4):

P(S) => Shoe, Sl (2.4)& |s| S

Va tỉ số độ lợi được tính như công thức (2.5):

Gain Ratio(S) = Số) (2.5) P(S)

Phy viện Trường Dai học

2.1.4 Xử lý những giá trị thiểu trong C4.5

Trong quá trình xử lý các tệp dữ liệu, từ những bài toán đơn giản cho đếnnhững bài toán phức tap, không thé tránh khỏi việc có dữ liệu thiếu (missing data)trong tệp dữ liệu Dữ liệu thiếu là giá trị của thuộc tính không có do lỗi trong quátrình nhập bản ghi vào cơ sở dữ liệu (có thể nhập qua biểu mẫu ứng dụng hoặc nhậptrực tiếp vào cơ sở dữ liệu)

Khi đó độ đo độ lợi thông tin của test 8 giảm vì chúng ta không phân được lớp nao từ các case trong Sp và được tính theo công thức 2.6:

IS = 5lIs]

Y nghĩa của các thông số trong công thức trên:

Trang 25

Từ đó P(S, 8) cũng thay đổi như sau:

tISol oa (at )- Isil Isil

P(S,B) =— Dis = 27 BI Uist) ~ 2, BỊ 5% isi a0

2.2 Ưu nhược đi m của cây quyết định trong phân lớp dữ liệu

2.2.1 Uu điểm của cây quyết định

- Cho phép sinh ra các quy tắc dé hiểu: Một trong những điểm mạnh củacây quyết định là khả năng sinh ra các quy tắc, những quy tắc này sau đó có thé dédàng chuyển đổi được sang dạng tiếng anh, hoặc chuyển thành các câu lệnh SQL.Tir đó sẽ khiến cho quá trình phân lớp trở nên dé hiểu và dé mô tả hơn

- Hỗ trợ khả năng tính toán dễ dàng trong quá phân lóp: Các giải thuậtđược sử dụng dé tạo ra cây quyết định thường tạo ra những cây với số phân nhánhthấp và các test đơn giản tại từng node Điều này trở thành một ưu điểm nỗi trội củacây quyết định, bởi lẽ trong môi trường thương mại, các mô hình dự đoán thườngđược sử dụng dé phân lớp với số lượng dữ liệu cực lớn, thậm chí lên đến hàng ti bản

shi Thư viện ong Dé

2.2.2 Nhược điểm của cây quyết định

Mặc dù có nhiều ưu điểm như đã mô tả ở phần trên, cây quyết định vẫn tồntại một số điểm yếu Một trong những điểm yếu nhất của cây quyết định là nó

không tỏ ra thích hợp khi thực hiện những bài toán với mục tiêu là dự đoán giá trị

của thuộc tính liên tục như doanh số, thu nhập, lãi suất V.V

- Gặp khó khăn hoặc phát sinh lỗi nếu có quá nhiều lớp

Đối với cây quyết định, nếu có quá nhiều lớp thì có thể xảy ra lỗi Ngoài ramột số cây quyết định lại chỉ phù hợp khi tiến hành những bài toán phân lớp nhị

phân.

~ Tốn kém khi đào tao

Khi ta quyết định sử dụng cây quyết định, ta sẽ cần phải chấp nhận sẽ tốnkém hay đắt về mặt tính toán, vì tại mỗi node ta cần tính toán một độ đo trên từng

thuộc tính.

Trang 26

2.3 Giải thuật Random Forest

2.3.1 Giới thiệu tong quan về giải thuật Random Forest

Random Forest là một giải thuật học máy thông dụng thuộc kiểu học có giámsát Trong đó, thay vì chỉ dựa vào duy nhất một cây quyết định, giải thuật RandomForest sẽ tiến hành dự đoán trên từng cây và dựa trên những dự đoán chiếm ưu thé,

nó sẽ dự đoán ra kết quả cuối cùng (final output)

Điều quan trọng: Số lượng cây trong rừng càng nhiều, thì độ chính xác sẽcàng cao, và càng han chế được vấn đề overfiting

Hình 2 1 Minh họa cơ chế làm việc của giải thuật Random Forest

(Nguồn: https://www.javatpoint,com/machine-learning-random-forest-algorithm:

2.3.2 Lý do sử dụng Random Forest

Có một số lý do giải thích tại sao ta nên sử dụng giải thuật Random Forest:Thời gian để thực hiện training ít hơn so với các giải thuật khác

Giải thuật Random Forest đưa ra dự đoán kết quả với độ chính xác cao, đồng

thời hiệu quả ngay cả với các tệp dữ liệu lớn.

Trang 27

Có độ chính xác cao, thậm chí cho phép duy trì độ chính xác ngay cả khi có

một lượng lớn dữ liệu bị thiếu

Giảm thiểu độ rủi ro của vấn đề overfitting

2.3.3 Cơ chế làm việc của giải thuật Random Forest

Giải thuật Random Forest thực hiện trong hai giai đoạn Giai đoạn đầu tiên làtạo ra rừng ngẫu nhiên (random forest) bằng cách kết hợp N cây quyết định, giaiđoạn thứ hai là đưa ra dự đoán cho từng cây được tạo ra trong giai đoạn đầu.Tiến trình làm việc của giải thuật Random Forest bao gồm các bước như sau:Bước 1: Chon ngẫu nhiên các samples từ tập dữ liệu đào tạo (training set)Bước 2: Xây dựng các cây quyết định được kết hợp với các training data

được chọn

Bước 3: Tiến hành voting bằng cách chia trung bình

Bước 4: Chọn kết quả dự đoán được vote nhiều nhất dé làm kết quả dự đoáncuối cùng

Quá trình kết hợp, của nhiều mô hình 1 này còn In VÌ là Ensemble Ensemble sử

g 1

dung hai phuong 'pháp sau:

Bagging: Tạo ra một tập con dit liệu dao tạo khác từ tập dữ liệu đào tao với

sự thay thế Kết quả cuối cùng được dựa trên giá trị voting chủ yếu

Boosting: Kết hợp các weak learners vào các strong learners bằng cách tạo racác mô hình tuần tự, nhờ đó mô hình cuối cùng có độ chính xác cao nhất Ví dụ:

ADA BOOST, XG BOOST

Trang 28

Hình 2 2 Biểu diễn về hai phương pháp Bagging va Boosting

(Nguồn: https:/Avww simplilearn.com/tutorials/machine-learning-tutorial/random-forest-algorithm)

Giải thuật Random Forest sử dụng phương pháp Bagging Bagging còn được biếtđến với tên là Bootstrap Aggregation được sử dụng bởi giải thuật Random Forest

Guá tình này bài dân tới CR HES 19†4i6"Ôiởfr Nội sờ xếp, dụ

liệu này sẽ được tô chức thành các samples còn được gọi là Bootstrap Sample Quá trình này còn được gọi là Bootstraping.

Trang 29

eee moe

Hinh 2 3 Biéu dién pink pháp Bagging

- Tính lung tung: Mỗi cây có một thuộc tính duy nhất, có các đặc điểm và tính đadạng liên quan đến các cây khác i 4: ThỪ v ten TTỊ ‘ong Đại học Mở Hà Nội

- Tính song song: Ta hoàn toàn có thê sử dụng CPU đề xây dựng random forest

vì mỗi cây được tạo một cách tự động từ các dữ liệu và tính năng khác nhau

- Phân chia dữ liệu đào tạo-kiểm tra (Train-Test split): Trong giải thuật RandomForest, ta không cần phải phân biệt giữa dữ liệu cho việc đào tạo và đữ liệu cho.test, bởi lẽ cây quyết định sẽ không bao giờ nhìn thay quá 30% dữ liệu

- Tính ổn định (stability): Kết quả cuối cùng được dựa trên phương phápBagging, điều đó có nghĩa là kết quả được dựa trên majority voting hoặc giá trị

trung bình.

2.3.5 Ứng dụng của giải thuật Random Forest

Giải thuật Random Forest có thể được sử dụng trong các lĩnh vực sau:

Ngân hàng: Nhận diện rủi ro của các khoản vay Giúp ngân hàng đưa ra

quyết định hoặc phân biệt xem có nên cho khách hàng vay hay không Ngoài ra giải

thuật cũng giúp phát hiện ra những kẻ lừa đảo.

Y dược và chăm sóc sức khỏe: Nhận diện xu hướng dịch bệnh và rủi ro của

bệnh Các chuyên gia y tế có thể sử dụng các hệ thống ứng dụng random forest để

17

Trang 30

giúp chân đoán bệnh nhân Các bệnh nhân được chan đoán bằng cách xem lại lịch

sử điều trị của họ, đề từ đó đưa ra đề xuất sử dụng thuốc cho các bệnh nhân.Chứng khoán: Các chuyên gia tài chính có thể sử dụng giải thuật RandomForest để nhận diện tiềm năng thị trường của các cổ phiếu Giải thuật cũng cho phép

họ nhớ lại về diễn biến của các cô phiêu trước đó

Thương mại điện tử: Giúp các hãng dự đoán được sở thích của các khách hàng dựa trên hành vi tiêu thụ trong quá khứ của họ.

2.3.6 Khi nào không sử dụng Random Forest

Giải thuật Random Forest không phù hợp sử dụng trong những tình huống sau:Ngoại suy: Hồi quy Random Forest không lý tưởng đối với dữ liệu ngoại suy.Không giống như hồi quy tuyến tính vốn sử dụng những quan sát đã có sẵn để dựđoán các giá trị vượt ra miền các quan sát [17]

Dữ liệu thưa thớt: Random Forest không cung cấp kết quả tốt khi dữ liệu bị thưathớt Trong trường hợp này, đối tượng của các đặc trưng và các bootstrap sample sẽ

có một khoảng trồng, bắt, biển, Điệu ney sé din đến sự không hiệu quả, từ đó sẽ tác

j 1 NỌ

động đến kết quả.

Trang 31

So sánh giữa cây quyết định và Random Forest

Cây quyết định Random Forest

Gặp vân đê về overfitting nêu phát | Vì ket quả cuôi cùng được dựa trên trung

triển mà không có sự kiểm soát bình hoặc giá trị vote chiếm ưu thế, nên van

dé về overfitting sẽ không xảy ra

Một cây quyét định sẽ thực hiện tính | Toc độ chậm hơn

toán nhanh hơn.

Sử dụng một tập hợp các quy tac | Random Forest chọn ngẫu nhiên các dữ

dựng nên một cây quyết định, sau đóđược lấy làm đầu vào kết quả nhận được sẽ dựa trên majority

trong khi tập dữ liệu với các đặc trưng | liệ

voting, Không yêu cầu công thức nào.Bang 2 1 So sánh giữa Cây quyết định và Random Forest

một node.

mini_sample_leaf: Xác định số lá (leaves) tối thiểu được yêu cầu để phân chia một

node.

Một số hyperparameters được sử dụng để tăng tốc độ xử lý của mô hình:

N_jobs: Xác định bao nhiêu bộ xử lý được phép sử dụng.

Random state: Kiểm soát độ ngẫu nhiên của sample Mô hình sẽ luôn luôn cungcấp cùng kết quả nếu có một giá trị chắc chắn của trạng thái ngẫu nhiên (randomstate) và nếu có cùng hyperparameters và cùng dữ liệu dao tao

Oob_score: OOB (Out Of Bag) là một phương pháp random forest cross-validation Trong phương pháp này, 1/3 các sample không được dùng dé đào tạo mà được dùng.

dé đánh giá hiệu suất

Trang 32

2.4 Đánh giá độ hiệu quả của thuật giải dùng ma trận nhằm lẫn

Ma trận nhầm lẫn (confusion matrix) là một công cụ rất quan trọng, trong đócung cấp nhiều thông số để cho phép đo lường và đánh giá hiệu quả của giải thuật

phân lớp.

cr

Positive Negative

: False Negative (EN) =

Positive | ‘True Positive (TP) piace TP

Điều kiện dương (Condition positive) (P): Số lượng các trường hợp thực sự

tích cực, hoặc dương tinh trong dit liệu.

Điều kiện phủ định (Condition negatives) (N): Số lượng các trường hợp tiêu

cực thực sự, hoặc âm tính trong dữ liệu.

Dương tính thực (True positive) (TP): Sự chính xác

Âm tính thực (True negative) (TN): Sự từ chối chính xác

Dương tinh giả (False positive) (FP): Báo động nhằm, hay còn gọi là lỗi loại ISai âm tinh (False negative) (FN): Bỏ sót, hay còn gọi là lỗi loại II

Tỷ lệ thực dương (TPR) còn được gọi là Độ nhạy (sensitivity), thu hồi

(recall), tỷ lệ đạt.

20

Trang 33

Giá trị tiên đoán âm (negative predictive value) (NPV)

Trang 34

Thông tin hoặc thông tin chính xác của người dự kiến (Informedness or Détính độ chính xác, chỉ cần tính tổng phần tử trên đường chéo [i, j] của ma trậnconfusion chia cho tổng phan tử Tổng số phan tử không nằm trên đường chéo lỗi là

dự đoán sai của Confusion matrix Tuy nhiên, Confusion matrix chỉ dùng cho hai trường hợp sau đây:

- Hai lớp phân loại

- Các mẫu ra và mẫu dự đoán cùng số lượng

2.5 Kết luận chương 2

Giải thuật C4.5 là một giải thuật học máy cho phép tạo nên cây quyết địnhhiệu quả và chặt chẽ, đồng thời cung cấp các cơ chế xử lí dit liệu lỗi, xử lý trườnghợp tồn tại các giá trị thiếu và cho phép hạn chế van đề overfitting Ngoài ra, giảithuật C4.5 hỗ trợ quá trình chuyên đổi từ cây quyết định sang luật nhằm cải thiện độchính xác và tăng tính dé hiểu của kết quả phân lớp Do đó có thể nói giải thuật này

là giải thuật hiệu quả nhất trong học máy vị

| N ag M 1 NOL ñ

Giải thuật Random Forest là gi lật phần lớp bao gồm nhiều cây quyết

định Giải thuật Random Forest sử dụng các đặc tính bagging và tính ngẫu nhiêntrong quá trình tạo nên từng cây quyết định trong ‘rimg’ để có thể tạo ra một “rừng.cây” không có tương quan với nhau Kết quả dự đoán của một “rừng cây” sẽ chínhxác hơn kết quả của bat kỳ một cây cụ thé nào

Giải thuật Random Forest cũng đưa ra phương pháp ưu việt để làm việc vớinhững giá trị thiếu (missing data) Những giá trị thiếu sẽ được thay thế bởi các biếnxuất hiện nhiều nhất trong một node cụ thể Giữa tắt cả các phương pháp phân lớphiện nay thì giải thuật Random Forest cung cấp độ chính xác cao nhất

Giải thuật Random Forest cũng có thể xử lý dữ liệu lớn Giải thuật này chophép tự động cân bằng các dataset khi một class xuất hiện không thường xuyên nhưcác class khác trong dữ liệu Giải thuật cũng cho phép xử lý các biến một cáchnhanh chóng, khiến cho Random Forest trở nên phù hợp cho những tác vụ phức tạp

2

Trang 35

CHƯƠNG 3 PHÂN LỚP DỮ LIỆU HỌC VIÊN PHỤC VỤ CHO

CÔNG TÁC TƯ VAN CHỌN NGHÀNH HỌC

3.1 Khảo sát và thu thập dữ liệu

- Dữ liệu được cung cấp từ Phòng Tư vấn — Tuyển sinh thuộc Học viện dao

tạo CNTT NIIT-ICT Hà Nội.

- Học viện Đào tao CNTT NIIT - ICT Hà Nội tiền thân là Trung tâm Tin học

Công nghệ được thành lập ngày 11 tháng 06 năm 2002 Ngày 06 tháng 07 năm

2002, Viện Công nghệ Thông tin Quốc gia Án Độ (NIT) đã chính thức chuyền giaocông nghệ đào tạo và công nhận NIIT - ICT Hà Nội là đối tác đào tạo bản quyền thứ

2 tại Việt Nam và đầu tiên tại Hà Nội Học viện NIIT - ICT Hà Nội có trụ sở chínhtại Tầng 3, tòa nhà 25T2 — Đường Nguyễn Thị Thập — Quận Cầu Giấy — Hà Nội.Hiện nay học viện đang tiến hành đào tạo các lớp lập trình viên và kiêm thử viên quốc tế,với hai chuyên nghành chính là đào tạo Lập trình và Kiểm thử

Dữ liệu đửợc:eung.cấp [la SDL thyén §inh:về học viền lệ dài han trong cácnăm từ 2018 đến 2022 cập nhật tháng 8/2022 Dữ liệu gồm gần 5000 bản ghi và 15 đặc

trưng - đây là dữ liệu thô của luận văn.

3.2 Xứ lý dữ liệu

3.2.1.Trich chọn đặc trưng

Trong 15 đặc trưng của học viên trong CSDL tác giả chọn 5 đặc trưng tiêu

biểu có liên quan đến việc chọn ngành học tại học viện, bao gồm: vùng miễn, giới

tính, trình độ, độ tuổi, thiên hướng

3.2.2 Chuyễn đổi dữ liệu

Với 5 đặc trưng được lựa chọn được chuyển đổi di liệu theo mục đích sử

dụng theo thứ tự như sau:

Vàng miền (VM): Là đặc trưng mô tả về vùng miền quê quán của học

viên như sau:

+ TP: Học viên đến từ thành phố

+ NT: Học viên đến từ nông thôn

2

Trang 36

Y Giới tinh (GT): Là đặc trưng mô tả về giới tính của học viên như sau:

+ Nam: Giới tính nam.

+ Nu: Giới tinh nữ.

Y Trinh độ (TD): Là đặc trưng mô tả về trình độ của học viên, gồm các trình

độ như sau:

+ PTTH: Học viên có trình độ Phô thông trung hoc

+ CDDH: Học viên có trình độ Cao đẳng — Đại học

+CH: Học viên có trình độ Cao học trở lên

Độ tuổi (ĐT): Là đặc trưng mô tả về độ tudi của học viên, gồm 3 độ tuổi

như sau:

+ Tre: Học viên có độ tuổi từ 18 tuổi trở xuống

+ Thanhnien: Học viên có độ tuổi nằm trong khoảng 19 - 34 tuôi

+ Trungnien: Học viên có độ tuổi từ 35 tuổi trở lên

v Thiên hướng (TH): Là đặc trưng mô tả về thiên hướng của học viên Baogồm 2 thiên hướng như sau

+ KHTN: Hoe vid Os thiệt liếm, " thà qua kết quả của

các môn học tự nhiên như: Toán, Lý, Hoá).

+ KHXH: Học viên có thiên hướng khoa học xã hội (Thông qua kết quả của

các môn học xã hội như Văn, Sử, Địa).

Như vậy, ta có các giá trị của 5 đặc trưng như sau:

Trang 37

3.2.3 Làm sạch dữ liệu

~ Là quá trình ta tiến hành loại bỏ các đặc trưng không cần thiết và loại bỏ dữliệu nằm ngoài các giá trị của 5 đặc trưng trên như: Loại bỏ ra khỏi danh sáchnhững học viên có vùng miền ở những nơi khác như vùng sâu vùng xa, biên giới hảiđảo là những nơi tuyển sinh được ít học viên; loại bỏ điều kiện hay tiêu chí về tài

chính

- Sap xép đữ liệu theo 5 cấp tương ứng với 5 đặc trưng đã chọn để tìm ra các

bản ghi trùng nhau, loại bỏ ra khỏi tập dit liệu.

- Sau khi làm sạch ta được bang dữ liệu gồm 217 bản ghi với 5 đặc trưng.Tiếp theo, ta dựa vào tập thuộc tính (gồm 5 đặc trưng đã chọn) này dé tiếnhành phân lớp, nhằm dự báo giá trị cho thuộc tính đích Ngành học (NH)

- Đối với ngành học (NH): Ta chia làm 2 ngành như sau:

ligu va kinh nghiệm † tuyển sinh của học viện trong những r năm trước, ta có được căn

cứ dé dự báo như sau.

Nu Phụ thuộc vào các yêu tô khác

3 TH THTN Phụ thuộc vào các yếu tô khác

KHXH Phụ thuộc vào trình độ PTTH Phụ thuộc vào các yếu tô khác

4 TD DH Phụ thuộc vào các yêu tô khác

CH Phụ thuộc vào các yêu tô khác

5 DT Tre Phụ thuộc vào tuôi và các yêu tô khác

25

Trang 38

Trungnien Phu thuộc vào tuôi và các yêu tô khác Thanhnien Phụ thuộc vào các yêu tô khác

Qua quá trình phân tích, làm sạch và dự báo ở bước trên, ta xây dựng được

bang dữ liệu mẫu huấn luyện gồm 35 bản ghi như sau:

Bảng 3 2 Bảng dữ liệu mẫu huấn luyện

TT HỌ TÊN VM GT TD DT TH NH

"Nguyễn Huỳnh

: Chung' HP, Nam | PTTH Tre KHTN | Lậptrình

2 | 'Trần Tiểu Vy' TP Nu DH Tre KHXH | Kiêmthử

3 | Trân Minh Trang’ NT Nu DH Tre KHXH | Kiêmthử

4 | 'Mai Ngoc' TP Nu DH Tre KHXH | Kiêmthử

"Nguyễn Trần

b Khánh Vân' TP Nu DH Tre KHXH | Kiểmthử

6 | Nguyễn Nhạc 10 Vigp TUNBPIDBHIOC Vapi NỘIXH | Kiếmthử

7 | Nguyễn Phúc Minh | TP Nu DH Tre KHXH | Kiémthir

§ | "Trân Thanh' TP Nam DH Tre KHTN | Lậptrình

9 | 'Trân Thành" NT Nam DH Trungniên | KHTN | Lậptrình

10 | 'Diệu Phương" NT Nu DH Trungniên | KHXH | Kiêmthử

11 | 'Diệu Bản' NT Nu PTTH Tre KHXH | Lậptrình

12 | Diệu Nhã' NT Nu PTTH Tre KHXH | Kiêmthử

13 | 'Cao Thai Hà' TP Nu DH | Trungniên | KHXH | Kiêmthử

14 | 'Trương Ngọc ÿnh' | TP Nu DH Trungniên | KHXH | Kiêmthử

15 | Nguyễn Van Phong! TP Nam CH Trungniên | KHTN | Lậptrình

16 | "Trịnh Văn Phú' TP Nam CH Trungniên | KHXH | Kiêmthử

17 | ‘Hoang Văn Thăng' NT | Nam | PTTH Tre KHTN | Lậptrình

18 | 'Hoàng Văn Chinh | NT | Nam DH Tre KHXH | Kiêmthử

19 | 'Hoang Dinh Phong’ NT | Nam DH Tre KHTN | Lậptrình

26

Trang 39

TT HỌ TÊN VM GT TD DT TH NH

20 | 'Chu Van Thai’ NT | Nam DH Tre KHTN | Lậptrình

21 | Hoàng Văn 2ính' NT Nu CH Tre KHTN | Kiêmthử

22 | 'Trân Tiêu Vy' NT Nam DH Tre KHTN | Lậptrình

23 | Hoàng Văn Chính | NT | Nam | DH Tre KHTN | Lậptrình

24 | Hoàng Văn Hoan" NT Nam DH Tre KHTN | Kiêmthử

25 |'Nguyén Hong Nhung | TP Nu DH Tre KHTN | Kiêmthử

26 | Nguyễn Hồng Hoa’ TẾ Nu DH Tre KHTN | Kiêmthử

27 | Le Thanh Mai" TP Nu DH Tre KHTN | Kiêmthử

28 | 'Diệu Nhã' TP Nu DH Tre KHTN | Kiêmthử

29 | 'Tran Minh Trang’ ‘EP Nu DH Tre KHTN | Kiêmthử

30 | Nguyễn Hong Hoa! TP Nu DH Tre KHTN | Kiémthir

31 | Nguyễn Khánh My" TP Nu DH Tre KHTN | Kiêmthử

32 | Nguyễn Hải Băng | NT Nu DH Tre KHTN | Lậptrìnhs5 | Neate Vise LINT TỊuỒhg|DEPhọ: MŨ*Hà REE | Lm

34 | "Võ Hoàng Bửu' NT | Nam | PTTH Tre KHTN | Lậptrình

35 | 'Võ Hoàng Ba’ NT | Nam | PTTH Tre KHTN | Lậptrình

3 3 Sử dụng giải thuật C4.5 để tiến hành phân lớp dữ liệu học viên

3.3.1 Ấp dụng giải thuật

Ta tiến hành xây dựng cây quyết định, quá trình này bắt đầu từ nút gốc(root) Nút gốc sẽ được đặt tên là nút 1, và tương ứng với mức level 0 của cây Sau

đó, ta sẽ phát triển tiếp các nút con (child nodes) của nút gốc sẽ tương ứng với nút

1, và cứ tiến hành tiếp tục tương tự

Tại mỗi nút sẽ chứa các thông tin cơ bản sau đây:

Dữ liệu huấn luyện ứng với nút hiện tại

Thuộc tính dùng để phân tích nút hiện tại Nếu như nút hiện tại là nút lá thìthuộc tính sẽ bằng rỗng Ngược lại, nếu nút hiện tại không phải nút lá mà là một nútnhánh, nó sẽ chứa tên các nút con xuất phát từ nút hiện tại, cũng như các giá trị tương

27

Trang 40

ứng của thuộc tính dùng để phân tích nút hiện thời Bên cạnh đó, nếu nút lá có thêmquyết định đầu ra ở tại nút hiện thời Ngược lại, nếu không phải là nút lá thì không cóchứa thông tin này Dữ liệu huấn luyện tại từng nút thay đổi tùy theo các nút khác

nhau.

3.3.2 Xây dựng cây quyết định

Để có thể dựng nên cây quyết định ta phải xác định nút gốc để phân hoạchcây Ta sẽ tiến hành lựa chọn xem thuộc tính nào có độ lợi thông tin (informationgain) lớn nhất sẽ được chọn làm nút gốc

3.3.2.1 Chọn nút gốc

Đầu tiên ta gọi S là tập thuộc tính đích Có tất cả 35 mẫu và 5 thuộc tính là:Vùng miễn (VM); giới tinh (GT); độ tuổi (ĐT); trình độ (TD); thiên hướng (TH)

Ta phân lớp “+” là lớp LT, lớp “ — ” là lớp KT trong đó:

LT “+” xuất hiện trong tập thuộc tính đích 13 lần

KT “—” xuất hiện trong tập thuộc tính đích 22 lần

v Đối với thuộc tính TH:

Entropy của các tập con S được chia bởi các giá trị của thuộc tính “PLHV” như sau:

Ngày đăng: 14/04/2024, 18:09

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[8] Sourav Kumar & Farhatul Janan (2021). Prediction of Student’s Performance Using Random Forest Classifierhttps://www.researchgate.net/publication/354925634_Prediction_of Student%27s Performance_Using Random _Forest_Classifier Link
[1] Andreas C. Miiller & Sarah Guido, Introduction to Machine Learning with Python, Oreilly, (2017) Khác
[2] Peter Harrington. Machine Learning in Action. Manning, 2012 Khác
[3] Ron Kohavi, J. Ross Quinlan. Decision Tree Discovery, 1999 Tài liệu tiếng Việt Khác
[4] Nguyễn Hữu Toàn (2018). Phân lớp dit liệu sinh viên dé tư van học sinh lựa chọn ngành trong trung tâm Elearning. Luận văn Thạc sĩ Công nghệ Thông tin.Đại học Mở Hà Nội — Khác
[5] Trần Thị Lương (201 8). Nghiên cứu phương pháp học máy cho phân lớp dữin pide triển } Bang! abt van i Me Fea nghé Thông tin,liéu hoc vién tao ngDai học Mở Hà Nội Khác
[6] Nguyễn Quang Hoan (2020). Giáo trinh khai phá đữ liệu — Tài liệu giảng day Dai học Mở Hà Néi Khác
[7] Nguyễn Quang Hoan (2015). Các hệ dựa trên tri thức, giáo trình, Học viên Công nghệ Bưu chính Viễn thông.Website tham khảo Khác

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

TÀI LIỆU LIÊN QUAN

w