Các thuật toán xây dựng cây quyết ựịnh vừa ựược trình bày ở trên ựều có những ựiểm mạnh và ựiểm yếu riêng của nó.
− đầu tiên ta xét ựến thuật toán CLS ựây là một trong những thuật toán ra ựời sớm nhất. Nó chỉ áp dụng cho các CSDL có các thuộc tắnh nhỏ, giá trị các thuộc tắnh dạng phân loại hay rời rạc. Còn ựối với các CSDL lớn và có chứa các thuộc tắnh mà giá trị của nó là liên tục thì CLS làm việc không hiệu quả.Thuật toán có thể cho các kết quả khác nhau với cùng một tập dữ liệu ựầu vào. Bởi vì, thuật toán này chưa có tiêu chắ ựể lựa chọn thuộc tắnh trong quá trình xây dựng cây. Nhưng ựây là thuật toán ựơn giản, dễ cài ựặt, phù hợp trong việc hình thành ý tưởng và giải quyết những nhiệm vụ ựơn giản.
− Thuật toán ID3: trong thuật toán ID3, Quinlan ựã khắc phục ựược hạn chế của thuật toán CLS (ID3 ựược xem là phiên bản cải tiến của CLS). Thuật toán này làm việc rất có hiệu quả, nó cho kết quả tối ưu hơn thuật toán CLS . Khi áp dụng thuật toán ID3 cho cùng một tập dữ liệu ựầu vào và thử nhiều lần thì cho cùng một kết quả. Bởi vì, thuộc tắnh ứng viên ựược lựa chọn ở mỗi bước trong quá trình xây dựng cây ựược lựa chọn trước. Tuy nhiên thuật toán này cũng chưa giải quyết ựược về vấn ựề thuộc tắnh số, liên tục, số lượng các thuộc tắnh còn bị hạn chế và giải quyết hạn chế với vấn ựề dữ liệu bị thiếu hoặc bị nhiễu.
− Thuật toán C4.5: để tiếp tục khắc phục những nhược ựiểm của thuật toán ID3, Quinlan ựã ựưa ra thuật toán C4.5(C4.5 là sự cải tiến cho thuật toán ID3 và cọi là phiên bản sau của ID3). Trong thuật toán này ựã giải quyết ựược vấn ựề làm việc với thuộc tắnh số(liên tục), thuộc tắnh có nhiều giá trị, và vấn ựề dữ liệu bị thiếu hoặc bị nhiễu. Trong C4.5 thực hiện việc phân ngưỡng với thuộc tắnh số bằng phép tách nhị p hân ựưa vào ựại lượng GainRatio thay thế cho ựại lượng Gain của ID3. để giải quyết ựược vấn ựề thuộc tắnh có nhiều giá trị. Ngoài ra C4.5 còn có bước cắt tỉa nhánh không phù hợp. Tuy nhiên yếu ựiểm
của thuật toán này là làm việc không hiệu quả với những CSDL lơn vì chưa giải quyết ựược vấn ựề bộ nhớ.
− Thuật toán SLIQ phân lớp rất có hiệu quả ựối với các tập dữ liệu lớn, nó làm việc không phù thuộc vào số lượng các lớp, các thuộc tắnh và số lượng bản ghi trong tập dữ liệu. SLIQ ựã cải thiện ựược vấn ựề về bộ nhớ vì có 3 pha tiền xử lý phân loại, tại một thời ựiểm chỉ có 1 danh sách lớp thường trú trong bộ nhớ. SLIQ có kỹ thuật cắt tỉa cây mô tả ựộ dài tối thiểu MDL, rất hữu hiệu . Nó là thuật toán phân lớp nhanh, chắnh xác, chi phắ thấp. Tuy nhiên việc cài ựặt phức tạp, áp dụng cho các cơ sở dữ liệu lớn.
Mặc dù ựã có nhiều cải tiến, nhiều thuật toán xây dựng cây quyết ựịnh ra ựời, nhưng nói chung vấn còn nhiều vấn ựề khó khăn phức tạp và nhiều thách thức trong KPDL bằng cây quyết ựịnh. Như vấn ựề dữ liệu bị thiếu giá trị ựối với các thuộc tắnh trong CSDL. Vấn ựề các CSDL rất lớn về số lượng các thuộc tắnh và về số lượng các bản ghi, vấn ựề về bộ nhớẦNhững vấn ựề này luôn làm ựau ựầu những nhà khoa học. Trên thực tế các thuật toán xây dựng cây quyết ựịnh vấn ựang ựược cải tiến, nghiên cứu và phát triển.
Chương 4.
HIỆN THỰC VÀ đÁNH GIÁ
4.1. Phát biểu bài toán
Trường trung cấp chuyên nghiệp (TCCN) Tây Bắc (Huyện Củ Chi Ờ Thành phố Hồ Chắ Minh) là trường TCCN ngoài công lập cũng như tất cả các trường TCCN khác của Việt Nam. Theo quy chế tuyển sinh thì ựối tượng học sinh ựầu vào là:
- đã tốt nghiệp trung học phổ thông : Học 2 năm
- Trượt tốt nghiệp trung học phổ thông: Học 2 năm, 3 tháng - đã tốt nghiệp ntrung học cơ sở học 3 năm.
điều kiện xét tuyển của trưởng ngoài ựáp ứng các hồ sơ thủ tục ựầu vào thì trường căn cứ vào ựiểm chuẩn (tổng ựiểm 3 môn xét tuyển) cụ thể theo theo kết quả học tập lớp 12 như sau:
ƯU TIÊN Khu vực 3 Khu vực 2 Khu vực
2NT Khu vực 1 Học sinh
Phổ thông 11.00 10.50 10.00 9.50
Nhóm 2 10.00 9.50 9.00 8.50
Nhóm 1 9.00 8.50 8.00 7.50
Bảng 4.1: điểm chuẩn xét ựiều kiện ựầu vào.
Ghi chú: Tuỳ theo mỗi ngành mà môn xét tuyển là khác nhau.
Qua ựó tỉ lệ học sinh ựầu vào phần lớn ựều có học lực yếu hoặc trung bình. Cũng như do vị trắ của trường mà ựối tượng tuyển sinh phần lớn vẫn tập trung và các em học sinh ở vùng sâu, vùng xa, tây nguyên, biên giới nên ựiều kiện kinh tế rất khó khăn. Ý chắ và thái ựộ trong học tập phần nào cũng chưa tốt. Ngoài ra là một trường TCCN còn trẻ nên cũng có nhiều khó khăn nhất ựịnh về cơ sở vật chất, năng lực của ựội ngũ cán bộ quản lý, giáo viên còn thiếu và yếu. Chắnh vì lẽ ựó mà tỉ lệ học sinh bỏ học giữa chúng rất cao và khả năng ựậu tốt nghiệp còn thấp (do lưu ban, hoặc nợ học phần nên không ựủ ựiều kiện dự thi tốt nghiệp).
đứng trước thực trạng hiệu suất ựào tạo rất thấp, làm sao ựể sau khi học xong hai năm thì khả năng ựậu tốt nghiệp là ựiều mong mõi của tất cả mọi người. Với mong muốn ựược giúp cho các em học sinh, phụ huynh và lãnh ựạo nhà trường thấy ựược hiệu suất ựào tạo của trường trong tương lai, ựó là khả năng ựậu tốt nghiệp của học sinh là bao nhiêu. Những học sinh nào thuộc diện có khả năng bỏ học hoặc không (hoặc chưa) ựậu tốt nghiệp sau hai năm học. Qua ựó ựể ngay từ ban ựầu học sinh có ý thức hơn trong việc học, cùng với sự cố gắng của học sinh, không thể thiếu sự quan tâm, tạo ựiều kiện thuận lợi từ phắa phụ huynh. Hơn nữa, về phắa lãnh ựạo nhà trường cũng ựề ra các biện pháp nhằm giúp các em có một kết quả học tập tốt hơn.
Một trong các cách là chúng ta cần cho học sinh, lãnh ựạo nhà trường thấy trước kết quả học tập trong tương lai, cần có một hệ thống dự ựoán khả năng bỏ học và khả năng ựậu tốt nghiệp của các em còn học ựến cuối khoá.
Qua kết quả thông tin ựầu vào: điểm các môn xét tuyển theo từng ngành (khả năng học lực), hạnh kiểm (ý thức và thái ựộ học tập), đối tượng, khu vực (điều kiện kinh tế), hệ thống sẽ cho biết khả năng còn học ựến cuối khoá, khả năng ựậu tốt nghiệp của học sinh ở mức nào. Từ dữ liệu ựã lưu trữ ở những năm trước, ứng dụng khai phá dữ liệu dùng xây quyết ựịnh với thuật toán ID3, tìm ra các luật có ắch cho hệ thống dự ựoán thông qua phầnme62m mã nguồn mỡ Weka. Từ tập luật ựã có tiến hành áp dụng vào dữ liệu hiện tại ựể ra kết quả dự ựoán trong tương lai.
Qua mục tiêu ựề tài ựể giái quyết bài toán hiệu suất ựào tạo cần giải quyết trình tự bài sau:
Bài toán 1: Giải quyết bài toán dự ựoán tỷ lệ bỏ học
Bài toán 2 Giải quyết bài toán dự ựoán tỷ lệ tốt nghiệp lần 2
Căn cứ vào dữ liệu ựầu vào (thông tin hồ sơ tuyển sinh) ựể giải quyết bài toán này :
MAHS Ngành DT DL DH điểmTB Xếp loại HK đ.tượng K.vực C.Học TN HS001 KT 5 6 7 6.00 TB Khá Tốt HSPT KV3 Yes Yes HS002 KT 6 4 5 5.00 TB Khá HSPT KV2 Yes Yes HS003 KT 4 5 6 5.00 TB TB Nhóm 1 KV2 No Null HS004 KT 8 7 4 6.33 TB Khá Tốt HSPT KV1 Yes Yes HS005 KT 3 3 3 3.00 Yếu Khá HSPT 2NT Yes Yes HS006 KT 6 6 4 5.33 TB Tốt Nhóm 1 KV2 Yes No HS007 KT 4 5 7 5.33 TB Khá HSPT KV3 Yes Yes HS008 KT 5 4 6 5.00 TB TB Nhóm 2 KV1 No Null HS009 KT 4 6 7 5.67 TB Tốt HSPT 2NT Yes Yes HS010 KT 6 7 6 6.33 TB Khá Khá HSPT KV1 Yes Yes HS011 KT 5 5 7 5.67 TB Yếu HSPT KV2NT No Null HS012 KT 3 6 4 4.33 Yếu TB HSPT KV2 Yes Yes HS013 KT 4 4 5 4.33 Yếu Tốt Nhóm 1 2NT Yes Yes HS014 KT 5 7 3 5.00 TB TB HSPT KV1 No Null HS015 KT 7 6 5 6.00 TB Khá Khá HSPT KV1 Yes Yes HS016 KT 3 3 5 3.67 Yếu Yếu HSPT KV1 No Null HS017 KT 4 5 4 4.33 Yếu TB HSPT 2NT No Null
Số lượng học sinh 17 11 10
Bảng 4.2: Dữ liệu mẫu xác ựịnh hiệu suất ựào tạo
Chia thành 2 bài toán nhỏ:
Bài toán 1: Dự ựán tỷ lệ bỏ học:
MAHS Ngành DT DL DH điểmTB Xếp loại HK đ.tượng K.vực C.Học HS001 KT 5 6 7 6.00 TB Khá Tốt HSPT KV3 Yes HS002 KT 6 4 5 5.00 TB Khá HSPT KV2 Yes HS003 KT 4 5 6 5.00 TB TB Nhóm 1 KV2 No HS004 KT 8 7 4 6.33 TB Khá Tốt HSPT KV1 Yes HS005 KT 3 3 3 3.00 Yếu Khá HSPT 2NT Yes HS006 KT 6 6 4 5.33 TB Tốt Nhóm 1 KV2 Yes HS007 KT 4 5 7 5.33 TB Khá HSPT KV3 Yes HS008 KT 5 4 6 5.00 TB TB Nhóm 2 KV1 No HS009 KT 4 6 7 5.67 TB Tốt HSPT 2NT Yes HS010 KT 6 7 6 6.33 TB Khá Khá HSPT KV1 Yes HS011 KT 5 5 7 5.67 TB Yếu HSPT KV2NT No HS012 KT 3 6 4 4.33 Yếu TB HSPT KV2 Yes HS013 KT 4 4 5 4.33 Yếu Tốt Nhóm 1 2NT Yes HS014 KT 5 7 3 5.00 TB TB HSPT KV1 No HS015 KT 7 6 5 6.00 TB Khá Khá HSPT KV1 Yes HS016 KT 3 3 5 3.67 Yếu Yếu HSPT KV1 No HS017 KT 4 5 4 4.33 Yếu TB HSPT 2NT No Số lượng học sinh 17 11 Bảng 4.3: Dữ liệu mẫu xác ựịnh tỷ lệ bỏ học
Bài toán 2: Dự ựoán tỷ lệ ựậu TN:
MAHS Ngành DT DL DH điểmTB Xếp loại HK đ.tượng K.vực TN HS001 KT 5 6 7 6.00 TB Khá Tốt HSPT KV3 Yes HS002 KT 6 4 5 5.00 TB Khá HSPT KV2 Yes HS004 KT 8 7 4 6.33 TB Khá Tốt HSPT KV1 Yes HS005 KT 3 3 3 3.00 Yếu Khá HSPT 2NT Yes HS006 KT 6 6 4 5.33 TB Tốt Nhóm 1 KV2 No HS007 KT 4 5 7 5.33 TB Khá HSPT KV3 Yes HS009 KT 4 6 7 5.67 TB Tốt HSPT 2NT Yes HS010 KT 6 7 6 6.33 TB Khá Khá HSPT KV1 Yes HS012 KT 3 6 4 4.33 Yếu TB HSPT KV2 Yes HS013 KT 4 4 5 4.33 Yếu Tốt Nhóm 1 2NT Yes HS015 KT 7 6 5 6.00 TB Khá Khá HSPT KV1 Yes Số lượng học sinh 11 10
Bảng 4.4: Dữ liệu mẫu xác ựịnh tỷ tốt nghiệp
Kết luận hiệu suất ựào tạo là:
Cuối khóa Hiệu suất đT
Ngành SL ựầu khóa SL Tỷ lệ
Số lượng tốt nghiệp
(1) (2) (3) (4) (5) (6) Kế toán 17 11 64.71% 10 58.82%
Bảng 4.5: Kết quả Hiệu suất ựào tạo
4.2. Cơ sở dữ liệu của bài toán
để ựáp ứng cho hệ thống có thể thực hiện ựược, chúng ta cần phải xây dựng cơ sở dữ liệu lưu trữ các thông tin cần thiết như sau:
4.2.1. Mô hình thực thể kết hợp (ERD) Hình 4.1 Mô hình ER Học sinh Tập luật TN Tập luật bỏ học Học DL Tập luật KP Luật bỏ học KP Luật TN Tạo Sinh ra Áp dụng Sử dụng Ngành Kiểm thử Dự ựoán Có
Trong ựó:
1. Ngành (danh mục các ngành học và lưu lại các kết quả sau khi dự ựoán) gồm có các thuộc tắnh: Mã ngành, Tên ngành, Môn xét tuyển 1, Môn xét tuyển 2, Hạnh kiểm, đối tượng, Khu vực, Số lượng ựầu khoá , Số lượng cuối khoá , Số lượng tốt nghiệp, Hiệu suất.
2. Học Sinh (danh sách học sinh-Dữ liệu cần dự ựoán) gồm có các thuộc tắnh: Mã Học sinh, Họ tên học sinh, Ngày sinh, điểm môn 1, điểm môn 2, điểm môn 3, điểm TB, Xếp loại, Hạnh kiểm, Khu vực, đối tượng, Ngành.
3. Dữ liệu tập luật (danh sách dữ liệu ựể tạo tập luật Ờ Kho dữ liệu quá khứ) gồm có các thuộc tắnh: Mã dữ liệu tập luật, Xếp loại, Hạnh kiểm, đối tượng, Khu vực, Ngành, Còn học, Tốt nghiệp
4. Tập luật bỏ học (danh sách tập luật bỏ học ựược tạo ra từ kho dữ liệu quá khứ) gồm có các thuộc tắnh: Mã luật, Học Lực, Hạnh kiểm, đối tượng, Khu vực, Ngành, Còn học.
5. Tập luật tốt nghiệp (danh sách tập luật tốt nghiệp ựược tạo ra từ kho dữ liệu quá khứ) gồm có các thuộc tắnh: Mã luật, Học lực, Hạnh kiểm, đối tượng, Khu vực, Ngành, Tốt nghiệp.
6. Khai phá luật bỏ học (Kết quả khai phá dự ựoán khả năng bỏ học) gồm có các thuộc tắnh: Mã luật, Học Lực, Hạnh kiểm, đối tượng, Khu vực, Ngành, Còn học, MaHS.
7. Khai phá luật tốt nghiệp (Kết quả khai phá dự ựoán khả năng tốt nghiệp) gồm có các thuộc tắnh:: Mã luật, Học lực, Hạnh kiểm, đối tượng, Khu vực, Ngành, Tốt nghiệp, MaHS.
4.2.2. Mô hình quan hệ (RM)
1. Nganh(Manganh, Tennganh, MonXT1, MonXT2, HKiem, DTuong,
2. Hocsinh(MaHS, Hoten, Ngaysinh, Diemmon1, Diemmon2, Diemmon3, DiemTB, Xeploai, Hanhkiem, Khuvuc, Doituong, Nganh).
3. DLTapluat(IDDLTL,XLoai, HKiem, DTuong, KVuc, Nganh, Conhoc,
TNghiep).
4. TLBohoc(IDLuat, HLuc, HKiem, DTuong, KVuc, Nganh, Conhoc).
5. TLTotnghiep(IDLuat, HLuc, HKiem, DTuong, KVuc, Nganh,
TNghiep).
6. KPLuatbohoc(MaHS, IDLuat, HLuc, HKiem, DTuong, KVvuc,
Nganh, Conhoc).
7. KPLuatTN(MaHS, IDLuat, HLuc, HKiem, DTuong, KVuc, Nganh,
4.2.3. Mô hình vật lý 1. Ngành
STT Tên cột Kiểu dữ liệu Diễn giải 1 Manganh Char(3) Khoá chắnh
2 Tennganh nVarchar(30) Tên ngành học
3 MonXT1 nVarchar(10)
4 MonXT2 nVarchar(10)
5 MonXT3 nVarchar(10)
Tên môn xét tuyển
Ngành kế toán, Công nghệ thông tin: Toán, Lý, Hoá.
Ngành Du lịch: Văn, Sử, địa.
Ngành Dựợc, điều dưỡng: Toán, Hoá, Sinh
6 HKiem nVarchar(50) Hạnh kiểm: Tốt, Khá, Trung bình
7 DTuong nVarchar(50) đối tượng: HSPT, Nhóm 1, Nhóm 2
8 KVuc nVarchar(50) Khu vực: KV3, KV2, 2NT, KV1
9 SLDaukhoa Float Số lượng ựầu khoá
10 SLCuoikhoa Float Số lượng cuối khoá
11 SLTN Float Số lượng tốt nghiệp
12 Hieusuat Float SLTN/SLDaukhoa
Bảng 4.6: Cấu trúc Table Ngành
2. Học sinh
STT Tên cột Kiểu dữ liệu Diễn giải
1 MaHS Char(7) Khoá chắnh
2 Hoten nVarchar(50) Họ tên học sinh 3 Ngaysinh Datetime Ngày sinh 4 Diemmon1 Float
5 Diemmon2 Float 6 Diemmon3 Float
điểm 3 môn xét tuyển
Ngành kế toán, Công nghệ thông tin: Toán, Lý, Hoá.
Ngành Du lịch: Văn, Sử, địa.
Ngành Dựợc, điều dưỡng: Toán, Hoá, Sinh 7 DiemTB Float (Diemmon1+Diemmon2+Diemmon3)/3 8 Xeploai nVarchar(10) Học lực: Giỏi, Khá , TB Khá , TB, Yếu 9 Hanhkiem nVarchar(10) Hạnh kiểm: Tốt, Khá, Trung bình 10 Khuvuc nVarchar(10) Khu vực: KV3, KV2, 2NT, KV1 11 Doituong nVarchar(10) đối tượng: HSPT, Nhóm 1, Nhóm 2 12 Nganh Char(3) Mã ngành học
3. Dữ liệu tập luật
STT Tên cột Kiểu dữ liệu Diễn giải
1 IDDLTL Int Khoá chắnh
2 XLoai nVarchar(10) Học lực: Giỏi, Khá , TB Khá , TB, Yếu 3 HKiem nVarchar(10) Hạnh kiểm: Tốt, Khá, Trung bình 4 DTuong nVarchar(10) Khu vực: KV3, KV2, 2NT, KV1
5 KVuc nVarchar(10) đối tượng: HSPT, Nhóm 1, Nhóm 2
6 Nganh Char(3) Mã ngành học
7 Conhoc Bit Còn học=Yes, Bỏ học = No(tắnh ựến cuối khoá)
8 TNghiep Bit Tốt nghiệp=Yes, Chưa tốt nghiệp= No. Bảng 4.8: Cấu trúc Table Dữ liệu tập luật
4. Tập luật bỏ học
STT Tên cột Kiểu dữ liệu Diễn giải
1 IDLuat Int Khoá chắnh
2 HLuc nVarchar(10) Học lực: Giỏi, Khá , TB Khá , TB, Yếu
3 HKiem nVarchar(10) Hạnh kiểm: Tốt, Khá, Trung bình 4 DTuong nVarchar(10) Khu vực: KV3, KV2, 2NT, KV1 5 KVVuc nVarchar(10) đối tượng: HSPT, Nhóm 1, Nhóm 2 6 Nganh, Char(3) Mã ngành học
7 Conhoc Bit Còn học=Yes, Bỏ học = No(tắnh ựến cuối khoá)
Bảng 4.9: Cấu trúc Table Tập luật bỏ học
5. Tập luật Tốt nghiệp
STT Tên cột Kiểu dữ liệu Diễn giải
1 IDLuat Int Khoá chắnh
2 HLuc nVarchar(10) Học lực: Giỏi, Khá , TB Khá , TB, Yếu
3 HKiem nVarchar(10) Hạnh kiểm: Tốt, Khá, Trung bình 4 DTuong nVarchar(10) Khu vực: KV3, KV2, 2NT, KV1 5 KVVuc nVarchar(10) đối tượng: HSPT, Nhóm 1, Nhóm 2 6 Nganh, Char(3) Mã ngành học
7 TNghiep Bit Tốt nghiệp=Yes, Chưa tốt nghiệp= No.
6. Khai phá luật bỏ học
STT Tên cột Kiểu dữ liệu Diễn giải
1 IDLuat Int Khoá chắnh
2 HLuc nVarchar(10) Học lực: Giỏi, Khá , TB Khá , TB, Yếu
3 HKiem nVarchar(10) Hạnh kiểm: Tốt, Khá, Trung bình 4 DTuong nVarchar(10) Khu vực: KV3, KV2, 2NT, KV1 5 KVVuc nVarchar(10) đối tượng: HSPT, Nhóm 1, Nhóm 2