نوع العمل
المشروع عبارة عن نظام تعلم آلي يعتمد على الشبكات العصبية (Neural Networks) للتنبؤ بأداء الطلاب وإمكانية رسوبهم قبل نهاية الفصل الدراسي.
يعتمد النظام على تحليل بيانات الطلاب مثل العوامل الديموغرافية، الاجتماعية، والتاريخ الأكاديمي للتنبؤ بما إذا كان الطالب سيجتاز المادة أو سيرسب فيها. الهدف من المشروع هو دعم فكرة التدخل المبكر (Early Intervention) لمساعدة الطلاب المعرضين للفشل قبل فوات الأوان.
تم تطوير النموذج باستخدام التعلم الخاضع للإشراف (Supervised Learning) حيث يتم تدريب النموذج على بيانات سابقة للطلاب ثم استخدامه للتنبؤ بنتائج طلاب جدد.
ميزات المشروع
1. التنبؤ المبكر بأداء الطلاب
يمكن للنظام التنبؤ بإمكانية رسوب الطالب حتى قبل ظهور درجات الامتحانات، مما يساعد المؤسسات التعليمية على التدخل مبكرًا.
2. تحليل عدة أنواع من البيانات
يعتمد النموذج على 33 متغيرًا مختلفًا تشمل البيانات الديموغرافية والاجتماعية والأكاديمية للطلاب.
3. نظام تنبؤ متعدد المراحل
تم اختبار النموذج في ثلاث مراحل مختلفة:
Early Warning
باستخدام البيانات الاجتماعية والديموغرافية فقط.
Mid-Term Prediction
باستخدام البيانات السابقة بالإضافة إلى درجة الاختبار الأول (G1).
Baseline Prediction
باستخدام درجات الاختبارين (G1 و G2) للحصول على أعلى دقة.
4. دقة تنبؤ عالية
حقق النموذج النتائج التالية:
72.3% دقة في التنبؤ المبكر
83.1% دقة بعد ظهور أول اختبار
89.2% دقة باستخدام جميع البيانات الأكاديمية
5. معالجة مشكلة عدم توازن البيانات
تم تطبيق Class Weighting لمعالجة مشكلة عدم توازن البيانات حيث كانت نسبة النجاح أعلى بكثير من نسبة الرسوب.
طريقة تنفيذ المشروع
1. جمع البيانات
تم استخدام Student Performance Dataset من منصة UCI Machine Learning Repository والتي تحتوي على بيانات 649 طالبًا.
2. معالجة البيانات (Data Preprocessing)
تم تنفيذ عدة خطوات لمعالجة البيانات:
تنظيف البيانات
تحويل المتغيرات النصية باستخدام One-Hot Encoding
قياس البيانات الرقمية باستخدام RobustScaler
3. تقسيم البيانات
تم تقسيم البيانات إلى:
70% تدريب
15% تحقق (Validation)
15% اختبار
لضمان تقييم النموذج بشكل صحيح.
4. بناء نموذج الشبكة العصبية
تم بناء نموذج Feed Forward Neural Network يتكون من:
طبقة إدخال (Input Layer)
طبقة مخفية تحتوي على 32 خلية عصبية باستخدام ReLU
طبقة Dropout لمنع Overfitting
طبقة إخراج باستخدام Sigmoid Activation للتصنيف الثنائي.
5. تدريب النموذج وتقييمه
تم تدريب النموذج باستخدام:
Binary Crossentropy Loss
Adam Optimizer
ثم تم تقييم الأداء باستخدام عدة مؤشرات مثل:
Accuracy
Recall
AUC Score