نظام توقّع شدّة النزاعات المسلحة باستخدام التعلم الآلي (Machine Learning) | Python

تفاصيل العمل

مشروع تعلّم آلي لتصنيف شدّة الأحداث العنيفة إلى ثلاث مستويات (منخفضة، متوسطة، عالية) بناءً على بيانات أحداث النزاعات المسلحة مدموجة مع بيانات التجارة العالمية للدولة والسنة (حوالي 125 ألف حدث).

اللي اتنفذ في المشروع:

دمج مصدرين للبيانات وتنظيفهم: معالجة القيم المفقودة والتكرار والـ Outliers بطريقة IQR

هندسة خصائص جديدة: نسب الوفيات المدنية والعسكرية، الوفيات لكل مصدر، ومتغيرات جغرافية وزمنية

اختيار الخصائص بثلاث طرق: ANOVA وMutual Information وRFE

معالجة عدم التوازن الشديد في الفئات (المنخفضة حوالي 89% والعالية حوالي 1%) باستخدام SMOTE

تصوّر البيانات وتقليل الأبعاد بـ PCA وt-SNE

تدريب ومقارنة 3 نماذج: CatBoost وLogistic Regression وRandom Forest، مع Stratified 5-Fold Cross-Validation

تقييم بمقاييس Accuracy وPrecision وRecall وF1 مع Confusion Matrix

النتيجة: أفضل نموذج (CatBoost) حقق دقة حوالي 61% على بيانات الاختبار، مع Recall حوالي 71% للأحداث عالية الشدة، وده مهم لأنها الفئة النادرة والأخطر.

الأدوات: Python, Pandas, NumPy, Scikit-learn, CatBoost, Imbalanced-learn, Matplotlib, Seaborn

رابط المشروع على GitHub: https://github.com/alaaal...

ملفات مرفقة