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

Định dạng
Số trang 92
Dung lượng 9,09 MB

Nội dung

Trang 1

NIL ĐNOHL SHDN ĐNQO ĐNO/19 ONNH NIAñÐN

61 VỌHX

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

LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

Thư 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 MAY NGANH/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ện thuậ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ủa PGS.TS Nguyễn Quang Hoan trong quá trình thực hiện và triển khai đề tài, em rất trâ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 i LỜI CẢM ON _ ii DANH SACH THUAT NGU VIET TAT TIENG VIET

DANH SÁCH CAC BANG seceeririniririirrrrririrrrrirrie viii

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

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 13 2.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ữ Weka3.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 âmTP True Positive Thực dươngTPR 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 SQLCô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;

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

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 54 Hì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 56 Hì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 SQLite Hì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ụngHì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

LỜI MỞ ĐẦU

1 Lý do chọn đề tài

Công nghệ thông tin đã, đang và sẽ là một lĩnh vực thu hút rất nhiều nhân lực tham gia, bởi nhiều ưu điểm của nó: không quá chú trọng bằng cấp, không cần quan hệ xin-cho, có mức thu nhập tốt so với những nghành khác, đồng thời có nhiều cơ hội việc làm Vì vậy nên nhu cầu học công nghệ thông tin là rất lớn, người học không chỉ đăng ky ở trong các trường đại học — cao đăng chính quy, mà còn tham gia học rất nhiều tại các đơn vị ngoài công lập như các trung tâm, học viện đào tạo công nghệ thông tin Đối tượng đăng ký học công nghệ thông tin cũng rất đa dạng, 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ất ngũ, 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ọc không hiệu qua, /Học, xoit không, làm được Vises hoặc làm wide, không đúng với chuyê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ức theo 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áp phâ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 Random Forest để 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 ra cá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ệc lự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ựatrê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 đặc trư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ác yế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ần phả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 Tuy nhiê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ển sinh 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ũng cò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:

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ên cứ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ệcphâ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 đảo nhiề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ộc số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ồm mộ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ọi bằng nhiều thuật ngữ khác nhau, như bản ghi (Record), hoặc có thể gọi bằng các thuậ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ây quyế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ến hà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ác củ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ới cá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 Kiemthu Trungnien KHXH Kiemthu Kiemthu Thanhnien 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 bao gồ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 quan trong 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 ra cá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 hay chiề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ệu họ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 cao hon, 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à k-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

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. 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ệu con có kích thước xấp xi nhau Aj,Ao, ,Ax Trong lần thực hiện thứ i, A; là test data 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ành tươ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ây quyết định.

Trang 21

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

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

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 định 1.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ượng câ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ậy nế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ính xác sẽ rất cao, tuy nhiên, độ chính xác sẽ có thé thấp hoặc không như mong muốn nế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ựa trê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ừng phá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ệm cho 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ạo CNTT 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ện bà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

hành so sánh kết ¿ quả của hai giải thuật5 đố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 1 cò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

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ệu quả 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ần chọ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ìm hiể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):

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 đến nhữ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ập trự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 đượclớp nao từ các case trong Sp và được tính theo công thức 2.6:

Tập con Sy là tập con các case trong S ma có giá trị thuộc tinh A, không biét S; biéu diễn các case với đầu ra là b; trong B

12

Trang 25

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

ISol oa (at )- Isil Isil

P(S,B) =— Dis = 27BI 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ủa câ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ánh thấ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ủa câ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ồn tạ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 ra mộ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ị

~ 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ốn ké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ám sát Trong đó, thay vì chỉ dựa vào duy nhất một cây quyết định, giải thuật Random Forest 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án cuố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 ra cá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 đa dạ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 Random

Forest, 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áp

Bagging, đ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 Random Forest để 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áchhà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ưa thớ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ơntoá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

2.3.7 Các hyperparameter quan trọng

Hyperparameter được sử dụng trong giải thuật để cải thiện hiệu suất và dự đoán sức mạnh của mô hình, hoặc để làm cho mô hình thực hiện nhanh hơn

Một số hyperpafimeters được sử dụng để cải thiện sức mạn dự đoán: n-estimators: Số lượng cây được xây dựng bởi giải thuật trước khi tính trung bình max_features: Số lượng đặc trưng tối đa random forest sử dụng trước khi phân chia

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

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 cung cấ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 (random state) 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.

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 I Sai â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 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ận confusion 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 haitrườ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 định hiệ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ường hợp tồn tại các giá trị thiếu và cho phép hạn chế van đề overfitting Ngoài ra, giải thuậ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ên trong 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ính xá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ới những giá trị thiếu (missing data) Những giá trị thiếu sẽ được thay thế bởi các biến xuấ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ớp hiệ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 cho phé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ách nhanh 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 giao cô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ính tạ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ác nă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 Bao gồ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ách nhữ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ến hà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ác3 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ác4 TD DH Phụ thuộc vào các yêu tô khácCH Phụ thuộc vào các yêu tô khác5 DT Tre Phụ thuộc vào tuôi và các yêu tô khác

25

Trang 38

TrungnienPhu thuộc vào tuôi và các yêu tô khácThanhnienPhụ 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ình9 | 'Trân Thành" NT Nam DH Trungniên | KHTN | Lậptrình10 | 'Diệu Phương" NT Nu DH Trungniên | KHXH | Kiêmthử11 | 'Diệu Bản' NT Nu PTTH Tre KHXH | Lậptrình12 | 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ình18 | '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 NH20 | '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ình23 | Hoàng Văn Chính | NT | Nam | DH Tre KHTN | Lậptrình24 | 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ình s5 | Neate Vise LINT TỊuỒhg|DEPhọ: MŨ*Hà REE | Lm

34 | "Võ Hoàng Bửu' NT | Nam | PTTH Tre KHTN | Lậptrình35 | '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út nhá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êm quyế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

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ạch cây Ta sẽ tiến hành lựa chọn xem thuộc tính nào có độ lợi thông tin (information gain) 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”

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

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

TÀI LIỆU LIÊN QUAN

w