قمت بتنفيذ مشروع Machine Learning متكامل لتحليل بيانات الطقس وبناء نموذج ذكي لتصنيف حالة الطقس إلى أربع فئات: مشمس، ممطر، غائم وثلجي.
تم العمل على مجموعة بيانات متوازنة تحتوي على 13,200 سجل، وتشمل معلومات مثل درجة الحرارة، الرطوبة، سرعة الرياح، نسبة هطول الأمطار، الغطاء السحابي، الضغط الجوي، مؤشر الأشعة فوق البنفسجية، مستوى الرؤية، الموسم والموقع.
بدأ المشروع بتحليل البيانات واستكشافها، ثم تحويل المتغيرات النصية إلى قيم رقمية، وفحص القيم المفقودة وتوازن الفئات. كما تم اكتشاف القيم المتطرفة ومعالجتها باستخدام Z-Score وIQR، بالإضافة إلى تنفيذ Feature Engineering وإنشاء خاصية جديدة لتصنيف نسبة هطول الأمطار.
تم استخدام Mutual Information لتحليل أهمية الخصائص واختيار أكثر المتغيرات تأثيرًا في تحديد حالة الطقس، ومنها الضغط الجوي، نسبة الأمطار، درجة الحرارة، مستوى الرؤية، مؤشر الأشعة فوق البنفسجية والغطاء السحابي.
بعد تجهيز البيانات، تم بناء نموذج تصنيف متعدد الفئات باستخدام XGBoost، ثم تقييمه باستخدام Accuracy وPrecision وRecall وF1-score وAUC، بالإضافة إلى Confusion Matrix وROC Curves.
كما تم تطوير Genetic Algorithm للبحث عن أفضل Hyperparameters لنموذج XGBoost، مما أدى إلى تحسين أداء النموذج، حيث وصلت أفضل دقة تحقق مسجلة إلى حوالي 92.31%، وبلغت قيمة AUC حوالي 99.29%.
وفي النهاية تم حفظ النموذج المحسّن بصيغة Pickle ليكون جاهزًا للاستخدام لاحقًا في التنبؤ بحالة الطقس دون الحاجة إلى إعادة تدريبه.