Phân lớp dựa trên luật kết hợp để dự báo khả năng bỏ học của sinh viên trường đại học bình dương Phân lớp dựa trên luật kết hợp để dự báo khả năng bỏ học của sinh viên trường đại học bình dương Phân lớp dựa trên luật kết hợp để dự báo khả năng bỏ học của sinh viên trường đại học bình dương
Mục tiêu của đề tài
Nghiên cứu bài toán phân lớp dựa trên luật kết hợp và ứng dụng vào dự báo khả năng bỏ học của sinh viên Trường Đại học Bình Dương.
Nhiệm vụ của đề tài
Tìm hiểu và trình bày về thuật giải CPAR-GR [1]
Sử dụng thuật giải CPAR-GR, chúng tôi đã phát triển một chương trình demo nhằm dự đoán khả năng bỏ học của sinh viên Chương trình này được đánh giá thông qua thực nghiệm với dữ liệu sinh viên thực tế từ các năm học trước.
Cách tiếp cận và phương pháp nghiên cứu
Kết hợp các phương pháp: nghiên cứu lý thuyết, thu thập phân tích dữ liệu và lập trình ứng dụng
Sử dụng bộ dữ liệu thực tế từ quá trình học tập của sinh viên chính quy từ năm 1 đến năm 4 tại Trường Đại học Bình Dương, chúng tôi tiến hành phân tích và thực nghiệm, với dữ liệu được mã hóa thành mã định danh nhằm bảo đảm tính bảo mật thông tin.
Ý nghĩa thực tiễn của đề tài
Nghiên cứu này nhằm nâng cao chất lượng đào tạo và cung cấp cơ sở cho các đơn vị chuyên trách trong việc hoạch định chiến lược, phương pháp hỗ trợ sinh viên kịp thời Mục tiêu là giảm tỷ lệ bỏ học và cải thiện kết quả học tập của sinh viên.
CƠ SỞ LÝ THUYẾT 6 I CÁC KHÁI NIỆM CƠ BẢN TRONG KHAI PHÁ LUẬT KẾT HỢP
Tập mục (Itemset)
Tập mục là một tập các phần tử (item)
Ví dụ: Ta có dữ liệu giao dịch sau
Bảng 2.1: Cơ sở dữ liệu D, ví dụ itemset
1 {bread; egg; roasted pork; butter}
4 {bread; sausage; egg; milk; butter}
Trong đó: Mỗi giao dịch được gọi là tập mục, như sau:
● {bread,egg,roasted pork,butter} là tập mục
● {bread; sausage; egg; butter} là tập mục
● {bread; sausage; milk; butter} là tập mục
● {bread; sausage; egg; milk; butter} là tập mục.
k-tập mục (k-itemset)
K-tập mục là một itemset có k phần tử
Ví dụ: Danh sách sản phẩm (1-itemset) như {A,B,C}, danh sách cặp sản phẩm đi kèm (2-itemset) như {{A,B},{A,C}}, danh sách 3 sản phẩm đi kèm (3-itemset) như {{A,B,C},{B,C,E}}.
Luật kết hợp (Association rule)
Luật kết hợp có dạng X ⇒ Y, với X,Y ⊂ I, và X ∩ Y = ∅ X gọi là tiền đề, Y gọi là kết luận của luật
Luật kết hợp được đo bởi hai độ đo: Độ hỗ trợ (support) và độ tin cậy (confidence)
Ví dụ: Ta có giao dịch sau
Bảng 2.2: Cơ sở dữ liệu D, ví dụ luật kết hợp
3 {bread; sausage; egg; milk; butter}
Khi đó những khách hàng thường mua {bread,sausage} ⇒ {buter}
Độ hỗ trợ (Support)
Phản ánh tính hữu dụng (usefulness) của luật được khám phá
Ví dụ: Giả sử ta khám phá được một luật
Theo dữ liệu, có 1% khách hàng đã mua đồng thời bánh mì, phô mai và rượu vang đỏ, với độ hỗ trợ là 0.01 và độ tin cậy là 0.8 Độ hỗ trợ này được tính toán dựa trên tỷ lệ khách hàng quan tâm đến cả ba sản phẩm.
| | Trong đó A và B là các items, T là một giao dịch trong CSDL giao dịch D
Ví dụ: Cho một CSDL có 4 giao dịch D như sau
Bảng 2.3: Cơ sở dữ liệu D, ví dụ support
1 {bread; egg; roasted pork; butter}
4 {bread; sausage; egg; milk; butter}
Ta có, sup(bread) = 4/4 = 1; sup(bread => egg) = 3/4 = 0.75
Độ tin cậy (Confidence)
Phản ánh độ chắc chắn (the certainty) của luật được khám phá
Ví dụ: Giả sử ta khám phá được một luật
Khi khách hàng mua bánh mì và phô mai, có tới 80% khả năng họ cũng sẽ chọn mua rượu vang đỏ Độ tin cậy này, với giá trị 0.8, cho thấy mối liên hệ mạnh mẽ giữa ba sản phẩm này trong hành vi tiêu dùng.
Trong đó, sup_count(A) là số các giao dịch có chứa tập mục A
Ví dụ: Cho một CSDL có 4 giao dịch D như sau
Bảng 2.4: Cơ sở dữ liệu D, ví dụ confidence
1 {bread; egg; roasted pork; butter}
4 {bread; sausage; egg; milk; butter}
Ta có, conf(bread => egg) = 3/4 = 0.75
Tập mục phổ biến/ thường xuyên (Frequent itemset)
Là tập phần từ có độ hỗ trợ thỏa độ hỗ trợ tối thiểu được chỉ định trước
Bảng 2.5: Cơ sở dữ liệu D, ví dụ tập mục phổ biến/thường xuyên
1 {bread; egg; roasted pork; butter}
4 {bread; sausage; egg; milk; butter}
Giả sử min_sup = 60% (do người dùng chỉ định trước)
Tập mục {bread; egg} có tỷ lệ xuất hiện là 3/4, tương đương 0.75, nghĩa là nó xuất hiện 3 lần trong 4 giao dịch Độ hỗ trợ của tập mục này được tính là 75%, lớn hơn min_sup 60% Do đó, tập mục {bread; egg} được xem là phổ biến và thường xuyên.
CÁC KHÁI NIỆM CƠ BẢN TRONG PHÂN LỚP
Phân lớp là quá trình gán nhãn cho đối tượng dữ liệu, cho phép xác định đối tượng đó thuộc vào một hay nhiều lớp Mục tiêu của bài toán phân lớp là tìm ra mô hình phân lớp hiệu quả, giúp nhận diện và phân loại dữ liệu mới một cách chính xác.
Cho cơ sở dữ liệu D={t1,t2,…,tn} và tập các lớp C={C1,…,Cm}, phân lớp là bài toán xác định ánh xạ f: D → C sao cho mỗi ti được gán vào một lớp
Ví dụ: Một cố vấn học tập cần phân tích dữ liệu để tìm hiểu những sinh viên nào có nguy cơ “bỏ học” và “tiếp tục học”
Trong các ví dụ đã nêu, nhiệm vụ phân tích dữ liệu tập trung vào việc phân loại, với mô hình được xây dựng nhằm dự đoán nhãn lớp “bỏ học” hoặc “tiếp tục học”.
Phân lớp dữ liệu là quy trình bao gồm hai bước chính: đầu tiên, xây dựng mô hình phân lớp dựa trên dữ liệu huấn luyện; tiếp theo, sử dụng mô hình để dự đoán nhãn lớp cho dữ liệu mới.
Bước 1: Xây dựng mô hình
Dựa trên dữ liệu huấn luyện, chúng tôi xây dựng mô hình bằng các thuật toán phân lớp như luật và cây quyết định Việc kết hợp nhiều thuật toán giúp nâng cao độ chính xác, đáp ứng tốt hơn nhu cầu của người dùng.
Bước 2: Sử dụng mô hình
Để kiểm tra độ chính xác của luật đã xác định ở bước 1, cần thực hiện kiểm tra luật Quan trọng là không sử dụng tập dữ liệu huấn luyện ban đầu, mà thay vào đó, sử dụng một tập dữ liệu độc lập mới đã được phân lớp để đảm bảo tính chính xác của luật.
Nếu độ chính xác của luật đạt yêu cầu, mô hình sẽ được áp dụng vào thực tế Ngược lại, nếu độ chính xác của luật quá thấp hoặc không đáp ứng nhu cầu của người dùng, cần quay lại bước đầu để tái xây dựng mô hình nhằm đạt được tiêu chuẩn cần thiết.
2 Phân lớp dựa trên luật kết hợp
Phân lớp dựa trên luật kết hợp nhằm tìm ra một tập con các luật kết hợp trong cơ sở dữ liệu, trong đó mỗi luật trong tập con này có vế phải là giá trị của thuộc tính lớp.
Trong cơ sở dữ liệu D, tập hợp I bao gồm tất cả các mục trong D và Y là tập các nhãn lớp Luật phân lớp kết hợp có dạng X→y, trong đó X là một tập con của I và y thuộc Y Độ tin cậy của luật được xác định là c, nếu c% mẫu trong D có chứa X được gán nhãn lớp y Đồng thời, độ phổ biến của luật là s, nếu s% mẫu trong D chứa X được gán nhãn là lớp y.
Phân lớp dựa trên luật kết hợp gồm 2 giai đoạn: (1) tìm luật kết hợp, (2) phân lớp dựa trên các luật kết hợp đã tìm được
Ví dụ: Cho cơ sở dữ liệu giao dịch D như sau
Bảng 2.6: Cơ sở dữ liệu D, ví dụ phân lớp dựa trên luật kết hợp
In the dataset, we have a collection of items represented as I, which includes bread, fruit, soda, beef, wine, water, egg, roasted pork, butter, milk, and sausage Correspondingly, Y contains the class labels associated with these items.
MỘT SỐ THUẬT GIẢI PHÂN LỚP DỰA TRÊN LUẬT KẾT HỢP
1 Thuật giải CARIM (An Efficient Algorithm for Mining ClassAssociation Rules with Interestingness Measures)
Không có thuật giải tối ưu cho mọi lĩnh vực trong ứng dụng thực tế; do đó, việc lựa chọn thuật giải phù hợp cần dựa vào từng lĩnh vực cụ thể và các giá trị đo lường liên quan.
Thuật giải CARIM, được giới thiệu vào năm 2015 bởi L Nguyen, B Vo và T P Hong, sử dụng cấu trúc cây để lưu trữ thông tin liên quan trong các nút Phương pháp này cho phép tính toán hiệu quả giá trị đo tại mỗi nút và áp dụng nhiều thuật giải tìm kiếm luật đồng thời trên các nút nhằm đạt được giá trị chính xác nhất.
2 Thuật giải MMAC (Multi-class, multi-label associative classification)
In 2004, Thabtah and colleagues introduced the multi-class, multi-label associative classification (MMAC) method, which consists of three key stages: rule generation, recursive learning, and classification.
Trong quá trình xây dựng luật, chúng tôi thu thập và phân tích dữ liệu huấn luyện để phát hiện và phát triển các quy tắc kết hợp toàn diện Khi bước vào giai đoạn học đệ quy, MMAC tiếp tục khám phá các quy tắc đạt yêu cầu về ngưỡng hỗ trợ tối thiểu và ngưỡng tin cậy tối thiểu.
Trong quá trình phân lớp, có 12 trường hợp không được phân lớp cho đến khi không còn tập phổ biến nào Các bộ luật được tạo ra từ mỗi lần lặp sẽ được hợp nhất để hình thành một bộ phân lớp đa lớp.
3 Thuật giải CBA (Classification Based on Associations) Đây là thuật giải sơ khai ban đầu của phương pháp phân lớp luật kết hợp được Liu và đồng sự đề xuất năm 1998 [9] Thuật giải CBA bao gồm 2 phần: (1) một trình tạo luật gọi là CBA-RG dựa trên thuật toán Apriori để tìm ra các luật kết hợp, (2) một trình tạo xây dựng phân lớp gọi là CBA-CB Với việc áp dụng CBA, nhóm tác giả đã chứng minh được nó có thể dễ dàng loại bỏ nhiễu, tạo ra bộ luật hoàn chỉnh hơn so với C4.5 và ILA
Mục tiêu của thuật giải là xây dựng một bộ luật kết hợp hoàn chỉnh đáp ứng ngưỡng hỗ trợ tối thiểu (min_sup) và các ràng buộc về ngưỡng tin cậy tối thiểu (min_conf), từ đó tạo ra một phân lớp dựa trên các luật kết hợp đã được xác định.
4 Thuật giải CPAR (Classification based on Predictive Association Rules)
Năm 1998, Liu và các cộng sự đã giới thiệu phương pháp phân lớp dựa trên luật kết hợp, được đánh giá là có độ chính xác cao hơn so với các phương pháp truyền thống như C4.5 Tuy nhiên, phương pháp này cũng gặp phải một số hạn chế, bao gồm việc tạo ra một số lượng lớn các luật kết hợp, dẫn đến chi phí xử lý tăng cao Hơn nữa, việc đánh giá các luật dựa trên độ tin cậy có thể dẫn đến hiện tượng quá mức.
Năm 2003, X Yin and J Han đã đề xuất phương pháp phân lớp mới gọi là phân lớp dựa trên luật kết hợp dự đoán (Classification based on Predictive Association Rules
Thuật giải CPAR (Class Association Rule) sử dụng phương pháp tham lam để tạo ra các luật từ dữ liệu huấn luyện mà không cần kết hợp các luật CPAR kiểm tra nhiều luật hơn so với các phương pháp phân lớp truyền thống, giúp phát hiện các luật quan trọng mà không bị bỏ sót Để hạn chế tình trạng thừa, CPAR đánh giá từng luật dựa trên độ chính xác mong đợi và chỉ sử dụng những luật tốt nhất cho dự đoán.
Thuật giải CPAR kế thừa ý tưởng từ thuật toán FOIL để tạo ra các luật và tích hợp tính năng phân loại kết hợp trong phân tích luật dự đoán Để nâng cao độ chính xác và hiệu quả, CPAR áp dụng lập trình động nhằm tránh tính toán lặp lại trong quá trình tạo luật Bên cạnh đó, khi tạo luật, thuật giải này không chỉ chọn các trường hợp tốt nhất mà còn xem xét tất cả các trường hợp gần nhất, đảm bảo rằng các luật quan trọng không bị bỏ sót.
Thuật giải CPAR hoạt động như sau: Trong quá trình xây dựng luật, sau khi xác định được literal p tốt nhất, một literal q khác có mức tăng tương tự cũng được xem xét Cả p và q đều được thêm vào luật r hiện tại để tạo ra luật r’ mới, và luật này sẽ được đưa vào hàng đợi Mỗi khi xây dựng luật mới, hàng đợi sẽ được kiểm tra; nếu không trống, một luật sẽ được rút ra và coi là quy tắc hiện tại Quá trình này tạo ra tìm kiếm theo chiều sâu trong việc phát sinh luật.
5 Thuật giải MISFP (Multiple Item Support Frequent Patterns)
Ngày nay, dữ liệu ngày càng phức tạp và lớn, yêu cầu sự kết hợp nhiều thông tin để giải quyết vấn đề Năm 2019, C S Wang và J Y Chang đã đề xuất khung phân tích dữ liệu lớn mang tên Multiple Item Support Frequent Patterns (MISFP) Thuật toán này sử dụng tính toán song song dựa trên Hadoop để khai thác hiệu quả các mục hỗ trợ cao (MIS) Kiến trúc của MISFP bao gồm hai giai đoạn: giai đoạn hỗ trợ đếm sử dụng Hadoop MapReduce để xác định hỗ trợ cho từng mục, và giai đoạn phân tích tạo các khối giao dịch phụ theo MIS, từ đó thuật toán MISFP-growth xác định tần suất các mẫu.
6 Thuật giải FCBA (Fast Classification Based on Association Rules)
Thuật giải FCBA được J Alwidian, B Hammo, and N Obeid đề xuất năm 2016
Thuật giải phân lớp nhanh sử dụng luật kết hợp, kết hợp các luật cắt tỉa bên trong và bên ngoài, được tối ưu hóa bằng thuật toán Apriori nâng cao.
Thuật giải FCBA được đề xuất để khắc phục nhược điểm của các thuật giải phân lớp luật kết hợp, đặc biệt là vấn đề mở rộng do kích thước tập dữ liệu Với FCBA, chi phí thời gian xử lý được giảm đáng kể so với các thuật giải phân lớp luật kết hợp khác.
7 Thuật giải CMAR (Classification based on Multiple Association Rules)
Năm 2001, W Li, J Han, và J Pei đã giới thiệu phương pháp phân lớp dựa trên luật kết hợp, được gọi là phân lớp dựa trên nhiều luật kết hợp (CMAR) Thuật toán CMAR mở rộng FP-growth, xây dựng FP-tree để phân phối lớp và khai thác cơ sở dữ liệu lớn một cách hiệu quả Nó sử dụng cấu trúc CR-tree để lưu trữ và truy xuất các luật kết hợp, đồng thời cắt xén các luật dựa trên kết quả, tương quan và phạm vi bao phủ của cơ sở dữ liệu Phân lớp được tạo mẫu thông qua phân tích x2 có trọng số với nhiều luật kết hợp mạnh.
8 Thuật giải MCAR (Multi class Classification based on Association Rule)
Năm 2005, F Thabtah, P Cowling, and Y Peng đề xuất sử dụng một kỹ thuật hiệu quả để khám phá các mục thường xuyên gọi là MCAR [14]
ỨNG DỤNG THUẬT GIẢI VÀO BÀI TOÁN DỰ BÁO KHẢ NĂNG BỎ HỌC CỦA SINH VIÊN, KẾT QUẢ THỰC NGHIỆM 35 1 Mô tả bài toán
Phương pháp thực hiện
Quá trình khai phá dữ liệu sinh viên nhằm dự đoán kết quả học tập bao gồm các bước: thu thập dữ liệu, làm sạch và trích lọc thông tin, chuyển đổi dữ liệu về định dạng phù hợp, áp dụng kỹ thuật khai phá dữ liệu để xây dựng mô hình, và cuối cùng là đánh giá kết quả đạt được.
Cơ sở dữ liệu phục vụ việc dự báo khả năng bỏ học của sinh viên được thu thập từ nhiều nguồn khác nhau, bao gồm phần mềm quản lý đào tạo, kết quả khảo sát và hồ sơ quản lý học tập tại các Khoa.
Thông tin sinh viên được thu thập từ phần mềm quản lý đào tạo, bao gồm dữ liệu từ hồ sơ cá nhân khi nhập học và các thông tin được cập nhật định kỳ.
- Kết quả học tập của sinh viên theo từng học kỳ, kết quả học tập năm học được thu thập từ phần mềm quản lý đào tạo
- Kết quả khảo sát đánh giá giảng dạy theo từng học kỳ được thu thập từ website, khảo sát nội bộ tại các Khoa
Thông tin sinh viên bao gồm mã định danh, ngày sinh, nơi sinh, giới tính, dân tộc, điểm tích lũy học kỳ, điểm tích lũy năm học và điểm rèn luyện.
Thông tin khảo sát đánh giá giảng dạy bao gồm các thông tin sau về chương trình đào tạo, cơ sở vật chất, đội ngũ giảng viên,…
Dữ liệu được lấy từ phần mềm quản lý đào tạo đảm bảo tính chính xác cao Tuy nhiên, một số bộ dữ liệu có thể xuất hiện thuộc tính rỗng do ảnh hưởng của tiến độ giảng dạy và quá trình chấm thi cuối kỳ.
Để đảm bảo tính bảo mật dữ liệu, một số thông tin của sinh viên sẽ được mã hóa thành mã định danh riêng Đối với các mẫu tin có thuộc tính rỗng, đề xuất phương án điền tạm giá trị trung bình của thuộc tính vào các giá trị rỗng nhằm dự báo kết quả hiệu quả hơn.
Xây dựng và lựa chọn mô hình
Sau khi nghiên cứu các kỹ thuật khai phá dữ liệu như luật kết hợp và phân lớp, bài viết đề xuất ứng dụng phân lớp dựa trên luật kết hợp nhằm dự đoán khả năng bỏ học của sinh viên.
Thuật giải CPAR-GR được đề xuất để dự báo khả năng bỏ học của sinh viên, vì nó lựa chọn các giá trị dựa trên tỷ lệ độ lợi tối thiểu do người dùng chỉ định Khác với các thuật giải như CPAR và FOIL, chỉ chọn giá trị có tỷ lệ độ lợi tốt nhất, CPAR-GR không bỏ sót những giá trị quan trọng khác.
Để khắc phục nhược điểm do việc xử lý quá nhiều thuộc tính kém quan trọng, gây giảm độ chính xác và tốn tài nguyên hệ thống, bài viết áp dụng phương pháp kiểm định T.
42 test (Independent sample T-test) bằng phần mềm SPSS với mục đích tiền xử lý các thuộc tính, loại bỏ các thuộc tính kém quan trọng
Cơ sở dữ liệu phục vụ cho việc khai phá bao gồm 837 mẫu dữ liệu trong tập huấn luyện và 223 mẫu dữ liệu trong tập kiểm tra, nhằm đánh giá độ chính xác của thuật toán.
Minh họa thuật giải CPAR-GR
Ví dụ cho cơ sở dữ liệu như sau
Bảng 4 2 Cơ sở dữ liệu huấn luyện Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9
● Col1: Số lần mang thai (đơn vị là lần)
● Col2: Nồng độ glucose huyết tương 2 giờ trong một thử nghiệm dung nạp glucose đường uống
● Col3: Huyết áp tâm trương (mm/Hg)
● Col4: Triceps da gấp độ dày (mm)
● Col5: 2 giờ huyết thanh insulin (mu U/ml)
● Col6: Chỉ số khối cơ thể (trọng lượng tính bằng kg/chiều cao tính theo m)^2)
● Col7: Chức năng phả hệ tiểu đường
● Col9: Biến lớp (41 có mắc bệnh; 42 không mắc bệnh)
Chia cơ sở dữ liệu thành 2 tập dữ liệu gồm tập mẫu P (nhãn lớp 41) và tập mẫu
2 10 13 16 22 27 32 38 42 Đặt trọng số 1 cho 2 tập mẫu P và N để chúng có độ quan trọng như nhau
Bảng 4 5 Tập mẫu P sau khi đặt trọng số Col
Bảng 4 6 Tập mẫu N sau khi đặt trọng số Col
Thực hiện tính TotalWeight bằng cách cho nó bằng tổng trọng số của P (tổng trọng số của P là 6), vậy TotalWeight = 6
Thực hiện tính ngưỡng trọng số tối thiểu Total Weight Threshold (TWT) bằng công thức sau:
TWT = TotalWeight * CT (Coverage_Threshold)
Với TotalWeight = 6, CT = 0.05, khi đó ngưỡng trọng số tối thiểu như sau:
Có nghĩa là tập mẫu P sẽ được xử lý cho đến khi tổng trọng số của nó giảm xuống dưới ngưỡng 0.3 thì thuật toán sẽ dừng lại
Thực hiện tạo tập P’ và N’ từ tập P và N
Tính giá trị Gain_Ratio bằng công thức sau:
Tính Gain(i) bằng công thức sau:
( ) = ( ) − ( ) Tính Info(D) bằng công thức sau:
( ) ( ) + ( ) Tính E(i) bằng công thức sau:
Tính I(pi,ni) bằng công thức sau:
Tính SplitInfo(i) bằng công thức sau:
▪ Pi là tổng trọng số các tuple chứa thuộc tính thứ i trong tập P
▪ Ni là tổng trọng số các tuple chứa thuộc tính thứ i trong tập N
Bảng 4 9 Bảng Gain Ratio lần 1
Att(i) Pi Ni Pi+Ni I(pi,ni) E(i) SplitInfo(i) InfoD Gain(i) Gain Ratio(i)
Att(i) Pi Ni Pi+Ni I(pi,ni) E(i) SplitInfo(i) InfoD Gain(i) Gain Ratio(i)
Từ bảng Gain Ratio (bảng 4.12) chúng ta có Best_Gain = 6.87634375
Chúng ta sẽ thực hiện tính ngưỡng tăng cục bộ bằng công thức sau:
LGT = Best_Gain * Gain_Similarity_Ratio (GSR) Vậy: LGT = Best_Gain * GSR = 6.87634375 * 0.6 = 4.12580625
So sánh giữa LGT và MGV cho thấy LGT đạt giá trị 0.7, với điều kiện LGT lớn hơn hoặc bằng MGV Đồng thời, khi so sánh LGT với Gain_Ratio, Gain_Ratio cũng phải lớn hơn hoặc bằng LGT Những thuộc tính có Gain thỏa mãn các điều kiện này sẽ được đưa vào danh sách các thuộc tính tốt nhất.
Có 2 thuộc tính thỏa điều kiện trên là thuộc tính 21 và thuộc tính 31, tiến hành thêm 2 luật 21 41 và 31 41 vào tập luật dự tuyển Xóa các bộ dữ liệu không chứa thuộc tính 21 và 31 ra khỏi tập P’ và N’ Xét tập N’ có rỗng hay không, nếu không rỗng nên luật vừa tìm không được đưa vào tập luật chính R
Tiến hành giảm trọng số của các thuộc tính trong mảng tốt nhất theo hệ số Decay_Factor (1/3), làm giảm trọng số của tập P xuống 1/3 theo cùng một hệ số.
Bảng 4 10 Tập P sau lần 1 được giảm trọng số Col
Tổng trọng số của P bây giờ là 0.88 lớn hơn ngưỡng trọng số TWT (0.3) tiếp tục lặp lại việc xử lý tìm luật kết hợp
Bảng 4 11 Bảng Gain Ratio lần 2
Att(i) Pi Ni Pi+Ni I(pi,ni) E(i) SplitInfo(i) InfoD Gain(i) Gain Ratio(i)
Chúng ta xét và có Best_Gain = 13.3443731
Khi đó LGT = Best_Gain * GSR = 13.3443731 * 0.6 = 8.006623851
Có 1 thuộc tính là 11 có giá trị Gain_Ratio lớn hơn ngưỡng Gain LGT, tiến hành thêm luật 11 41 vào tập luật dự tuyển Tiếp theo là tạo bản sao P’ và N’ của P và N giảm trọng số của các bộ dữ liệu trong tập P có chứa giá trị 11
Theo luật dự tuyển hiện hành, khi loại bỏ các bộ dữ liệu không có thuộc tính 11, ta nhận được P’ và N’ rỗng Do đó, luật 11 41 được chính thức đưa vào tập luật, và lúc này, tập luật chính thức chỉ bao gồm luật R = {[11 41]}.
Thực hiện xóa thuộc tính 11 khỏi bảng Gian_Ratio và đưa trọng số của các bộ dữ liệu có chứa thuộc tính 11 về giá trị 0
Bảng 4 12 Tập P sau lần 2 giảm trọng số Col
Tổng trọng số của P được tính là 0.77 Khi so sánh với ngưỡng trọng số TWT (0.3), kết quả cho thấy tổng trọng số P lớn hơn TWT, do đó thuật toán sẽ tiếp tục lặp lại.
Bảng 4 13 Bảng Gain Ratio lần 3
Att(i) Pi Ni Pi+Ni I(pi,ni) E(i) SplitInfo(i) InfoD Gain(i) Gain Ratio(i)
Att(i) Pi Ni Pi+Ni I(pi,ni) E(i) SplitInfo(i) InfoD Gain(i) Gain Ratio(i)
Khi đó LGT = Best_Gain * GSR = 5.839669004 * 0.6 = 3.503801
Xét có 3 thuộc tính là 8, 21 và 33 thỏa điều kiện so sánh, tiến hành thêm luật 8
41, 21 41, 33 41 vào tập luật dự tuyển
Tiếp theo là tạo bản sao P’ và N’ từ P và N, thực hiện giảm trọng số của các bộ dữ liệu trong tập P có chứa giá trị 8, 21 và 33
Xét với luật dự tuyển đang có, ta xóa các bộ dữ liệu không chứa thuộc tính 8,
21, 33 lần lượt ta có đối với 8 và 33 thì P’ và N’ rỗng nên luật 8 41 và 33 41
53 được đưa vào tập luật chính thức, đến lúc này tập luật chính thức có R = {[11 41],
[8, 33 41]} Xóa thuộc tính 8 và 33 khỏi bảng Gian Ratio và đưa trọng số của các bộ dữ liệu có chứa thuộc tính 8, 33 về giá trị 0
Bảng 4 14 Tập P sau lần 3 giảm trọng số Col
Tổng trọng số của P tại đây là 0 (P=0), thấp hơn ngưỡng trọng số tối thiểu TWT=0.3, dẫn đến việc thuật toán dừng lại và các luật được thu thập như sau:
R = {[11 41], [8, 33 41]} Đối với tập dữ liệu N chúng ta cũng tiến hành tương tự như tập dữ liệu P, và thu được các luật tương ứng như sau:
Thực hiện đánh giá độ chính xác của các luật Độ chính xác của các luật trong tập luật R được tính bởi công thức
▪ nc: là số lượng tuple trong tập dữ liệu huấn luyện thỏa cả vế trái và vế phải
▪ ntot: là số lượng tuple trong tập dữ liệu huấn luyện chỉ thỏa vế trái
▪ k: là số nhãn lớp của tập dữ liệu huấn luyện
Để đánh giá độ chính xác của từng luật trong quá trình tạo luật kết hợp, chúng ta sẽ tiến hành sắp xếp các luật này theo thứ tự giảm dần của độ chính xác.
Bảng 4 15 Độ chính xác của các luật kết hợp i R[i] nc ntot
(0 + 2) = 0.5 Đánh giá độ chính xác của phân lớp
Một lớp có độ chính xác trung bình tối đa được sử dụng làm nhãn lớp cho bộ thử nghiệm Nhãn lớp dự đoán sẽ được so sánh với nhãn lớp thực tế của bộ thử nghiệm Cuối cùng, độ chính xác của CPAR-GR được đánh giá dựa trên số lượng phân loại đúng, thông qua một công thức cụ thể.
Áp dụng các luật kết hợp để dự đoán nhãn cho các bộ dữ liệu trong tập thử nghiệm T, bao gồm dữ liệu minh họa và nhãn lớp A[i] Đối với mỗi tuple trong T, lần lượt áp dụng các luật từ tập R và thống kê độ chính xác tương ứng của từng tuple với mỗi luật.
Để tính độ chính xác trung bình của k (ví dụ k=5), chúng ta xác định k luật có độ chính xác tốt nhất cho mỗi lớp Nhãn lớp của tuple dự đoán (P[i]) sẽ là nhãn của lớp có giá trị trung bình độ chính xác cao hơn.
Đối với mỗi tuple, so sánh nhãn lớp dự đoán từ thuật toán P[i] với nhãn lớp thực tế trong tập thử nghiệm A[i] Nếu hai giá trị trùng nhau, tăng giá trị Correct lên 1; nếu không, tăng giá trị Wrong lên 1 Quá trình này được lặp lại cho tất cả các tuple trong T.
Bảng 4 16 Dự đoán nhãn lớp cho các tuple trong T
Tuple[i] R[3] R[4] R[5] average Laplace accuracy Tem_N
Thông qua bảng trên ta thống kê được:
Số nhãn lớp dự đoán đúng với nhãn lớp có sẵn Correct = 17
Số nhãn lớp dự đoán không đúng với nhãn lớp có sẵn Wrong = 3 Độ chính xác phân lớp được tính bởi công thức:
Độ chính xác của phân lớp dựa trên luật kết hợp từ tập huấn luyện đạt 85% khi áp dụng để dự đoán nhãn lớp trên tập dữ liệu thử nghiệm.
Giao diện chương trình demo
Chương trình demo dự báo khả năng bỏ học của sinh viên được viết bằng ngôn ngữ Python
Tập dữ liệu huấn luyện và kiểm tra được đưa vào bằng file excel
Hình 4 5 Giao diện ứng dụng demo dự báo khả năng bỏ học của sinh viên
Hình 4 6 Giao diện sau khi nhập dữ liệu huấn luyện
Hình 4 7 Giao diện trước khi thực thi thuật giải CPAR-GR
Hình 4 8 Giao diện sau khi thực thi thuật giải CPAR-GR
Hình 4 9 Giao diện trước khi nhập dữ liệu kiểm tra
Hình 4 10 Giao diện sau khi nhập dữ liệu kiểm tra
Hình 4 11 Giao diện trước khi chạy kiểm tra
Hình 4 12 Giao diện sau khi chạy kiểm tra
Mô tả dữ liệu tập huấn luyện, tập dữ liệu kiểm tra
Dữ liệu sinh viên bỏ học được lưu trữ tại Phòng Quản lý đào tạo và Công tác sinh viên
Hàng kỳ, Phòng Quản lý đào tạo và Công tác sinh viên thực hiện xử lý học vụ dựa trên Quy chế đào tạo của Nhà trường Sinh viên không đáp ứng các điều kiện theo Quy chế sẽ nhận được nhắc nhở, cảnh báo hoặc bị thôi học.
Sinh viên quyết định thôi học sẽ được ghi nhận và quản lý trên phần mềm quản lý đào tạo của Nhà trường, nhằm mục đích thống kê và báo cáo kịp thời các yêu cầu liên quan.
Bộ Giáo dục và Đào tạo
Dữ liệu sinh viên phục vụ nghiên cứu được lấy từ phần mềm quản lý đào tạo của Nhà trường, bao gồm 1060 mẫu tin, kết hợp với thông tin từ các Khoa thông qua khảo sát chất lượng giảng dạy và khảo sát cấp Trường đối với sinh viên năm cuối.
Tập dữ liệu huấn luyện, tập dữ liệu kiểm tra gồm các thuộc tính sau:
Bảng 4 17 Thuộc tính tập dữ liệu huấn luyện, tập dữ liệu kiểm tra
2 Kết quả học tập học kỳ Yếu/kém Trung bình Khá Giỏi Xuất sắc
3 Kết quả đánh giá rèn luyện Kém Yếu
4 Điều kiện kinh tế gia đình
5 Phải đi làm thêm nhiều Rất nhiều Không Bình Ít, không Không
TT Nội dung 1 2 3 4 5 cố định thường thường xuyên làm thêm
6 Ý thức tự giác, chủ động trong học tập
Trung bình, không thường xuyên
Biết lập kế hoạch học tập, tương đối chủ động trong học tập
Biết lập kế hoạch học tập, chủ động trong việc đăng ký tích lũy môn học
7 Tiến độ đào tạo của khóa học
Chậm so với tiến độ (trên 20%)
Chậm so với tiên độ (không quá 20%) Đúng tiến độ
Vượt tiến độ (không quá 20%)
8 Sự quan tâm, động viên của gia đình
Không có Ít, không thường xuyên
Gia đình có quan tâm đến việc học
Gia đình có quan tâm, động viên trong việc học
9 Kết quả đăng ký môn học trong học kỳ
Chỉ đăng ký mức tối thiểu (15 tín chỉ)
10 Hoạt động Đoàn – Hội Không có Ít Bình thường
Không thường xuyên (tỷ lệ 2/3)
Tích cực và rất tốt
11 Hoạt động CLB trong trường
Không có Ít Bình thường
Không thường xuyên (tỷ lệ 2/3)
Tích cực và rất tốt
12 Độ tuổi của sinh viên
Hơn từ 4 tuổi trở lên
Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học
Kỷ luật, đình chỉ học tập hơn 1 học kỳ
Kỷ luật, đình chỉ học tập
14 Kết quả học tập toàn khóa Yếu/kém Trung bình Khá Giỏi Xuất sắc
15 Chất lượng xét tuyển đầu vào Yếu/kém Trung bình Khá Giỏi Xuất sắc
16 Vắng thi trong học kỳ, khóa học
Trên 3 môn 3 môn 2 môn 1 môn Không có
Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập
Tự ý nghỉ học, có quay lại
Tạm dừng, bảo lưu vì hoàn cảnh
Tham gia lực lượng, trị bệnh
Điểm trung bình tích lũy học kỳ và toàn khóa học được phân loại như sau: loại Xuất sắc có điểm từ 3.5 đến 4.0, loại Giỏi từ 3.2 đến 3.59, loại Khá từ 2.5 đến 3.19, loại Trung bình từ 2.0 đến 2.49, và loại Yếu, kém có điểm dưới 2.0.
- Nhãn lớp: o Với nhãn lớp 1 thể hiện sinh viên bỏ học o Với nhãn lớp 0 thể hiện sinh viên không bỏ học
Kết quả tạo luật từ thuật giải CPAR-GR trên tập huấn luyện
Tiền xử lý dữ liệu huấn luyện được thực hiện thông qua chức năng phân tích Independent Samples Test trong phần mềm SPSS, nhằm loại bỏ các thuộc tính có giá trị kém quan trọng.
Bảng 4 18 Bảng thống kê giá trị trung bình các thuộc tính
Kết quả học tập học kỳ 0 446 3.989 8278 0392
Kết quả đánh giá rèn luyện
1.0 392 2.000 8186 0413 Điều kiện kinh tế gia đình
Phải đi làm thêm nhiều 0 446 4.007 8251 0391
1.0 392 2.043 8127 0410 Ý thức tự giác, chủ động trong học tập
Tiến độ đào tạo của khóa học
Sự quan tâm, động viên của gia đình
Kết quả đăng ký môn học trong học kỳ
Hoạt động CLB trong trường
1.0 392 2.946 1.3793 0697 Độ tuổi của sinh viên 0 446 3.973 8234 0390
Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học
Kết quả học tập toàn khóa
Std Error Mean đầu vào 1.0 392 1.967 7844 0396
Vắng thi trong học kỳ, khóa học
Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập
Mean: Giá trị trung bình của biến
Std Deviation: Độ lệch chuẩn
Std Error Mean: Sai số chuẩn
Bảng 4 19 Kết quả thống kê (T-test) đánh giá tác động biến độc lập với biến phụ thuộc
Levene's Test for Equality of Variances t-test for Equality of Means
95% Confidence Interval of the Difference Lower Upper
Kết quả học tập học kỳ
Kết quả đánh giá rèn luyện
Levene's Test for Equality of Variances t-test for Equality of Means
95% Confidence Interval of the Difference
35.160 820.324 000 1.9843 0564 1.8735 2.0951 Điều kiện kinh tế gia đình
Phải đi làm thêm nhiều
34.645 825.245 000 1.9634 0567 1.8521 2.0746 Ý thức tự giác, chủ động trong học tập
Tiến độ đào tạo của khóa học
Sự quan tâm, động viên của gia đình
Kết quả đăng ký môn học trong học kỳ
Levene's Test for Equality of Variances t-test for Equality of Means
95% Confidence Interval of the Difference
-.477 817.234 633 -.0451 0945 -.2306 1404 Độ tuổi của sinh viên
Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học
Kết quả học tập toàn khóa
Chất lượng xét tuyển đầu vào
Levene's Test for Equality of Variances t-test for Equality of Means
95% Confidence Interval of the Difference
Vắng thi trong học kỳ, khóa học
Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập
Bảng 4 20 Trích tóm tắt dữ liệu trước khi tiền xử lý
Kết quả học tập học kỳ
Kết quả đánh giá rèn luyện Điều kiện kinh tế gia đình
Phải đi làm thêm nhiều Ý thức tự giác, chủ động trong học tập
Tiến độ đào tạo của khóa học
Sự quan tâm, động viên của gia đình
Kết quả đăng ký môn học trong học kỳ
Hoạt động CLB trong trường Độ tuổi của sinh viên
Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học
Kết quả học tập toàn khóa
Chất lượng xét tuyển đầu vào
Vắng thi trong học kỳ, khóa học
Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập
Bảng 4 21 Trích tóm tắt dữ liệu sau khi tiền xử lý (thủ công)
Kết quả đánh giá rèn luyện Điều kiện kinh tế gia đình
Phải đi làm thêm nhiều Ý thức tự giác, chủ động trong học tập
Tiến độ đào tạo của khóa học
Sự quan tâm, động viên của gia đình
Kết quả đăng ký môn học trong học kỳ Độ tuổi của sinh viên
Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học
Kết quả học tập toàn khóa
Chất lượng xét tuyển đầu vào
Vắng thi trong học kỳ, khóa học
Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập
Phương pháp T-test được áp dụng để loại bỏ các thuộc tính không có sự khác biệt đáng kể (mức ý nghĩa 0.05) liên quan đến tình trạng bỏ học của sinh viên.
+ Nếu Sig của kiểm định t ≤ α (mức ý nghĩa) -> có sự khác biệt có ý nghĩa về trung bình của 2 tổng thể
+ Nếu Sig > α (mức ý nghĩa) -> không có sự khác biệt có ý nghĩa về trung bình của 2 tổng thể
Kết quả phân tích bằng chức năng Independent Sample T-test cho thấy ba thuộc tính: Giới tính, Hoạt động Đoàn – Hội, và Hoạt động CLB trong trường có giá trị Sig lớn hơn 0.05 Do đó, khi xử lý dữ liệu cho quá trình huấn luyện hoặc kiểm tra, chúng ta cần loại bỏ ba thuộc tính này khỏi tập dữ liệu.
Bảng 4 22 Kết quả tạo luật của thuật giải CPAR-GR
Ký hiệu luật Luật kết hợp
R1 {Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học tập = 2 → Nhãn lớp = 1}
R2 {Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học tập = 2, Vắng thi trong học kỳ, khóa học = 1 → Nhãn lớp = 1}
R3 {Kết quả học tập học kỳ = 1, Kết quả đánh giá rèn luyện = 2, Kết quả học tập toàn khóa = 1 → Nhãn lớp = 1}
R4 {Đăng ký môn học không đúng tiến độ đào tạo của khóa học = 1 →
R5 {Phải đi làm thêm nhiều = 1, Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập = 1 → Nhãn lớp = 1}
R6 {Điều kiện kinh tế gia đình = 2, Ý thức tự giác, chủ động trong học tập
= 1, Sự quan tâm, động viên của gia đình = 1 → Nhãn lớp = 1}
R7 {Kết quả đăng ký môn học trong học kỳ = 5 → Nhãn lớp = 0}
R8 {Điều kiện kinh tế gia đình = 4 → Nhãn lớp = 0}
Ký hiệu luật Luật kết hợp
R9 {Sự quan tâm, động viên của gia đình = 5 → Nhãn lớp = 0}
R10 {Độ tuổi của sinh viên = 4, Chất lượng xét tuyển đầu vào = 4 → Nhãn lớp = 0}
R11 {Đăng ký môn học không đúng tiến độ đào tạo của khóa học = 5 →
R12 {Kết quả đánh giá rèn luyện = 5, Phải đi làm thêm nhiều = 4, Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập = 4 → Nhãn lớp = 0}
Đánh giá độ chính xác các luật từ thuật giải CPAR-GR trên tập huấn luyện
Bảng 4 23 Đánh giá độ chính xác các luật tạo ra từ tập huấn luyện
Luật kết hợp Nhãn lớp nc ntot k
{Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học tập = 2 → Nhãn lớp = 1}
{Cảnh báo học vụ, bị kỷ luật, đình chỉ, nhắc nhở trong quá trình học tập = 2, Vắng thi trong học kỳ, khóa học = 1 → Nhãn lớp = 1}
{Kết quả học tập học kỳ = 1, Kết quả đánh giá rèn luyện = 2, Kết quả học tập toàn khóa = 1 → Nhãn lớp = 1}
Luật kết hợp Nhãn lớp nc ntot k
R4 {Tiến độ đào tạo của khóa học = 1
{Phải đi làm thêm nhiều = 1, Tự ý nghỉ học, tạm dừng, bảo lưu trong học tập = 1 → Nhãn lớp = 1}
{Điều kiện kinh tế gia đình = 2, Ý thức tự giác, chủ động trong học tập = 1, Sự quan tâm, động viên của gia đình = 1 → Nhãn lớp = 1}
R7 {Kết quả đăng ký môn học trong học kỳ = 5 → Nhãn lớp = 0} 0 141 141 2 0.993
R8 {Điều kiện kinh tế gia đình = 4 →
R9 {Sự quan tâm, động viên của gia đình = 5 → Nhãn lớp = 0} 0 151 151 2 0.993
{Độ tuổi của sinh viên = 4, Chất lượng xét tuyển đầu vào = 4 →
R11 {Tiến độ đào tạo của khóa học = 5
R12 {Kết quả đánh giá rèn luyện = 5,
Phải đi làm thêm nhiều = 4, Tự ý 0 43 43 2 0.977
Luật kết hợp Nhãn lớp nc ntot k
Laplace accuracy (nc+1) /(ntot+k) nghỉ học, tạm dừng, bảo lưu trong học tập = 4 → Nhãn lớp = 0}