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 2BỘ 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 3LỜ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 4LỜ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 5MỤ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 62.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 73.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 8DANH 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 9DANH 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 1010 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 11DANH 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 12Hì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 13LỜ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 15CHƯƠ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 16CŨ 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 17Tuoi 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 19Phươ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 21Hì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 22Phươ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 23CHƯƠ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 24Dướ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 25Từ đó 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 262.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 27Có độ 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 28Hì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 29eee 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 30giú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 31So 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 322.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 34Thô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 35CHƯƠ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 36Y 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 373.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 38TrungnienPhu 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 39TT 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”