Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.09 MB, 92 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG ĐẠI HỌC MỞ HÀ NỘI
<small>Thư viên</small>
HÀ NỘI - NĂM 2023
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG ĐẠI HỌC MỞ HÀ NOI
rờng Đại học Mở Hà Nội
Mã đề tài: 1452
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYÊN QUANG HOAN
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
<small>trình nào khác.</small>
<small>Hà Nội, ngày — tháng 08 năm 2023</small>
HỌC VIÊN
Nguyễn Hùng Cường
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><small>Em xin chân thành cảm ơn Khoa Công nghệ thông tin - Trường Đại học Mở</small>
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ể hồn thành được
<small>luận văn này.</small>
<small>Em xin cảm ơn các giảng viên và cán bộ khoa Công nghệ thông tin - Trường</small>
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 q trình học tập, cơng. tác dé hồn thành khóa học,luận yăn này: ¡ foe iG HA NO
<small>Đặc biệt cảm ơn vợ và hai con đã chia sẻ, luôn ở bên cạnh động viên, tạo</small>
đ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é
<small>hồn thành khố học và luận văn này.</small>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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
<small>1.2. Các phương pháp ứng dụng trong phân lớp dữ liệu ...--.---: 5</small>
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....
<small>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</small>
<small>1.4.2.1. Tránh hiện tượng overfitting</small>
1.4.2.2. Thao tác với thuộc tính liên tục ... Error! Bookmark not
<small>1.5. Các nghiên cứu giải thuật hiện nay.</small>
1.6. Phát biểu bài toán của luận văn ...
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>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.</small>
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.
<small>2.3.3. Lý do sử dụng Random Forest....</small>
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
<small>Khi nào không sử dụng Random Fore:</small>
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
<small>3.1. Khảo sát và thu thập dữ liệu</small>
3.3.3. Kết quả của việc áp dụng giải thuật
<small>3.4. Phân lớp học viên sử dụng giải thuật Random Foresi</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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...
<small>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</small>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">DANH SÁCH THUẬT NGU VIET TAT TIENG ANH
Viết tắt Tiếng Anh Tiếng Việt
<small>DB Database Co sở dữ liệu</small>
N Negative Số mẫu âm
<small>NPV_ | Negative Predictive Value Giá trị tiên đoán âm</small>
P Positive Số mẫu dương
<small>PPV Positive Predictive Value Giá trị tiên đoán dương</small>
TN True Negative Thực âm
<small>TNR_ | True Nagative Rate Ty lệ thực âmTP True Positive Thực dươngTPR True Positive Rate Tỷ lệ thực dương</small>
<small>GR |Gain Ratio Tỉ sô độ lợi</small>
<small>ACC | Accuracy ' * "| Độ chính xác '</small>
vi
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">10. Bảng so sánh kết quả GainRatio trong tập thuộc tính S; ¡
<small>11. Bảng tập luật ap dụng,giải thuật,C4,5 (tính tay)+.›</small>
. So sánh giữa Cây quyết định và Random Forest....
<small>3:1.</small>
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
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small>Hình 1. 1. Q trình phân lớp dữ liệu - Bước xây dựng mơ hình phân lớp</small>
Hình 1. 2. Ước lượng độ chính xác của mơ hình....
<small>Hình 1. 3. Phân lớp dữ liệu mới</small>
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
<small>Hình 2. 3.</small>. 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 hồn chỉnh.
Hình 3. 6. Mã nguồn phân lớp dữ liệu với giải thuật RandomForest...
<small>thuật C4.5...</small>
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...
<small>Hình 3. 9. Màn hình giao diện chính của ứng dụng demo....</small>
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 tố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
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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 ....
<small>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</small>
Hình 3. 30. Mã nguồn chức năng làm sạch dữ liệu trong ứng dụng
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">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 q 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ị ngồ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
<small>đượ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</small>
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
<small>đúng chuyên ngành.</small>
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
<small>CNTT NIIT-ICT HN sử dụng phương pháp học máy”.</small>
2. Mục tiêu, đối tượng và phạm vi nghiên cứu
<small>- 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.</small>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">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ư
<small>các bản ghi khác.</small>
- 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
<small>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ụ</small>
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
<small>Luận văn được chia thành ba chương có nội dung như sau:</small>
Luận văn gồm các phần chính sau: - Phần mở đầu
<small>- 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</small>
- 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
<small>ngành học tại Học viện đào tạo CNTT NIHT-ICT HN</small>
- 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.
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><small>1.1. Phân lớp dữ liệu.</small>
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ị
<small>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].</small>
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
<small>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</small>
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ư:
<small>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, ...</small>
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 q trình “học” để xây dựng nên một mơ hình, mơ
<small>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ử</small>
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
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Tuoi Thienhuong | Nganh
<small>Tre KHTN Laptrinh</small>
Tre KHXH Laptrinh IF Tuoi = Tre or Thienhuong =
- Bur y dựng mơ hình phân lớp
<small>v Bước thứ hai</small>
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
<small>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</small>
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.
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">Tuoi Thienhuong | 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
<small>Dưới đây là một tập hợp các giải thuật phân lớp thông dụng:</small>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><small>- Random Forest</small>
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
<small>xác và tính hiệu quả mơ hình phân lớp.</small>
Q 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. Q 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
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
<small>giảm mức độ lộn xộn trong q trình xây dựng mơ hình phân lớp.</small>
- 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.
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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
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.
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">| Fold1 || Fold2 || Folds || Fold4 || Folds |
Hình 1. 5. Phương pháp K fold cross-validation
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 tố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
<small>lớp dữ liệu [3].</small>
Một số ưu điểm của cây quyết định:
<small>- Cho phép tạo nhanh</small>
- 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.
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="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ó q í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
<small>như sau:</small>
+ 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).
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="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ỗ
<small>trợ khả năng cải thiéhính xác của mơ hình phân lớp.</small>
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 tố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
<small>Information-Gain (Quinlan, 1993)</small>
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
<small>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</small>
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. Ngồ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
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.
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><small>2.1. Giải thuật C4.5</small>
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
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
<small>tốn phân lớp [20].</small>
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
<small>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ụ</small>
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ó
<small>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ả</small>
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
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
<small>C4.5 của Quinlan. Dưới đây là công thức (2.1):</small>
Dưới đây là cơng thức tính độ đo. hỗn loạn (2.2):
148) = Dy 15) (22) <small>i</small>
<small>Độ lợi thông tin (informartion gain) khi chọn thuộc tinh 4 phân hoạch dit</small>
liệu Š thành v phần được tinh theo công thức (2.3) [2]:
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ữ
<small>liệu được tính như cơng thức (2.4):</small>
Va tỉ số độ lợi được tính như cơng thức (2.5):
<small>Phy viện Trường Dai học</small>
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).
<small>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:</small>
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
<small>12</small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">Từ đó P(S, 8) cũng thay đổi như sau:
ISol oa (at )- Isil Isil
2.2. Ưu nhược đi <small>m của cây quyết định trong phân lớp dữ liệu</small>
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 tố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ự đố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
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ó
<small>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ự đốn giá trị</small>
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ó q 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 tốn, vì tại mỗi node ta cần tính tốn một độ đo trên từng
<small>thuộc tính.</small>
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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ự đố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
<small>(Nguồn: atpoint,com/machine-learning-random-forest-algorithm:</small>
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ự đốn kết quả với độ chính xác cao, đồng.
<small>thời hiệu quả ngay cả với các tệp dữ liệu lớn.</small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"><small>Có độ chính xác cao, thậm chí cho phép duy trì độ chính xác ngay cả khi có</small>
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
<small>được chọn</small>
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ự đốn cuối cùng.
Q trình kết hợp, của nhiều mơ hình 1 này cịn In VÌ là Ensemble. Ensemble sử
<small>g 1</small>
<small>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</small>
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ụ:
<small>ADA BOOST, XG BOOST</small>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">Hình 2. 2. Biểu diễn về hai phương pháp Bagging va Boosting
<small>(Nguồn: https:/Avww simplilearn.com/tutorials/machine-learning-tutorial/random-forest-algorithm)</small>
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.
<small>liệu này sẽ được tơ chức thành các samples còn được gọi là Bootstrap Sample. Qtrình này cịn được gọi là Bootstraping.</small>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">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
<small>- Tính song song: Ta hồn tồn có thê sử dụng CPU đề xây dựng random forest</small>
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 q 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ị
<small>trung bình.</small>
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:
<small>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</small>
quyết định hoặc phân biệt xem có nên cho khách hàng vay hay khơng. Ngồi ra giải
<small>thuật cũng giúp phát hiện ra những kẻ lừa đảo.</small>
<small>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</small>
bệnh. Các chuyên gia y tế có thể sử dụng các hệ thống ứng dụng random forest để
<small>17</small>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="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 đó.
<small>Thương mại điện tử: Giúp các hãng dự đố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ọ.</small>
<small>2.3.6. Khi nào không sử dụng Random Forest</small>
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ự đố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
<small>j 1 NỌ</small>
<small>động đến kết quả.</small>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">So sánh giữa cây quyết định và Random Forest
<small>Cây quyết định Random Forest</small>
<small>Gặp vân đê về overfitting nêu phát | Vì ket quả ci cùng được dựa trên trung</small>
triển mà khơng có sự kiểm sốt bình hoặc giá trị vote chiếm ưu thế, nên van dé về overfitting sẽ không xảy ra.
<small>Một cây quyét định sẽ thực hiện tính | Toc độ chậm hơntốn nhanh hơn.</small>
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
<small>trong khi tập dữ liệu với các đặc trưng | liệ</small>
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ự đố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
<small>một node.</small>
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:
<small>N_jobs: Xác định bao nhiêu bộ xử lý được phép sử dụng.</small>
Random state: Kiểm sốt độ ngẫu nhiên của sample. Mơ hình sẽ ln ln 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.
<small>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.</small>
dé đánh giá hiệu suất.
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="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
<small>phân lớp.</small>
: False Negative (EN) =
<small>Positive | ‘True Positive (TP) piace TP</small>
Điều kiện dương (Condition positive) (P): Số lượng các trường hợp thực sự
<small>tích cực, hoặc dương tinh trong dit liệu.</small>
Điều kiện phủ định (Condition negatives) (N): Số lượng các trường hợp tiêu
<small>cực thực sự, hoặc âm tính trong dữ liệu.</small>
<small>Dương tính thực (True positive) (TP): Sự chính xác</small>
Â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
<small>(recall), tỷ lệ đạt.</small>
<small>20</small>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="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à
<small>dự đoán sai của Confusion matrix. Tuy nhiên, Confusion matrix chỉ dùng cho haitrường hợp sau đây:</small>
<small>- Hai lớp phân loại</small>
- 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ị
<small>| N ag M 1 NOL. ñ</small>
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.
<small>2</small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">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
<small>tạo CNTT NIIT-ICT Hà Nội.</small>
- Học viện Đào tao CNTT NIIT - ICT Hà Nội tiền thân là Trung tâm Tin học
<small>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</small>
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
<small>trưng - đây là dữ liệu thô của luận văn.</small>
3.2. Xứ lý dữ liệu
3.2.1.Trich chọn đặc trưng
<small>Trong 15 đặc trưng của học viên trong CSDL tác giả chọn 5 đặc trưng tiêu</small>
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ử
<small>dụng theo thứ tự như sau:</small>
Vàng miền (VM): Là đặc trưng mô tả về vùng miền quê quán của học
<small>viên như sau:</small>
+ TP: Học viên đến từ thành phố.
+ NT: Học viên đến từ nông thôn.
<small>2</small>
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="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:
<small>+ Nam: Giới tính nam.+ Nu: Giới tinh nữ.</small>
Y Trinh độ (TD): Là đặc trưng mơ tả về trình độ của học viên, gồm các trình
<small>độ như sau:</small>
<small>+ PTTH: Học viên có trình độ Phơ thơng trung hoc</small>
+ CDDH: Học viên có trình độ Cao đẳng — Đại học
<small>+CH: Học viên có trình độ Cao học trở lên</small>
Độ tuổi (ĐT): Là đặc trưng mô tả về độ tudi của học viên, gồm 3 độ tuổi
<small>như sau:</small>
+ 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
<small>các mơn học tự nhiên như: Tốn, Lý, Hố).</small>
+ KHXH: Học viên có thiên hướng khoa học xã hội (Thơng qua kết quả của
<small>các môn học xã hội như Văn, Sử, Địa).</small>
<small>Như vậy, ta có các giá trị của 5 đặc trưng như sau:</small>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"><small>3.2.3. Làm sạch dữ liệu</small>
~ 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
<small>chính ....</small>
- 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
<small>bản ghi trùng nhau, loại bỏ ra khỏi tập dit liệu.</small>
- 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:
<small>cứ dé dự báo như sau.</small>
<small>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</small>
<small>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</small>
<small>25</small>
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38"><small>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</small>
<small>Qua q trình phân tích, làm sạch và dự báo ở bước trên, ta xây dựng được</small>
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
<small>TT HỌ TÊN VM GT TD DT TH NH</small>
"Nguyễn Huỳnh
2 | 'Trần Tiểu Vy' TP Nu DH Tre KHXH | Kiêmthử
<small>3. | Trân Minh Trang’ NT Nu DH Tre KHXH | Kiêmthử4 | 'Mai Ngoc' TP Nu DH Tre KHXH | Kiêmthử</small>
"Nguyễn Trần
7 | Nguyễn Phúc Minh | TP Nu DH Tre KHXH | Kiémthir
<small>§ | "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ử</small>
15 | Nguyễn Van Phong! TP Nam CH Trungniên | KHTN | Lậptrình
<small>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 | 'Hồng Văn Chinh | NT | Nam DH Tre KHXH | Kiêmthử19 | 'Hoang Dinh Phong’ NT | Nam DH Tre KHTN | Lậptrình</small>
<small>26</small>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39"><small>TT HỌ TÊN VM GT TD DT TH NH20 | 'Chu Van Thai’ NT | Nam DH Tre KHTN | Lậptrình</small>
21 | Hồng Văn 2ính' NT Nu CH Tre KHTN | Kiêmthử
<small>22 | 'Trân Tiêu Vy' NT Nam DH Tre KHTN | Lậptrình23 | Hồ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ử</small>
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ử
<small>27 | Le Thanh Mai" TP Nu DH Tre KHTN | Kiêmthử28 | 'Diệu Nhã' TP Nu DH Tre KHTN | Kiêmthử</small>
29 | 'Tran Minh Trang’ ‘EP. Nu DH Tre KHTN | Kiêmthử
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
<small>34 | "Võ Hoàng Bửu' NT | Nam | PTTH Tre KHTN | Lậptrình35 | 'Võ Hồng Ba’ NT | Nam | PTTH Tre KHTN | Lậptrình</small>
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
<small>27</small>
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="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).
<small>Ta phân lớp “+” là lớp LT, lớp “ — ” là lớp KT trong đó:</small>
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:
<small>Entropy của các tập con S được chia bởi các giá trị của thuộc tính “PLHV”</small>
</div>