المشروع عبارة عن Pipeline متكامل للتعلم الآلي باستخدام UCI Heart Disease Dataset، الهدف منه التنبؤ باحتمالية إصابة المريض بأمراض القلب اعتمادًا على البيانات السريرية.
الخطوات:
تنظيف البيانات (التعامل مع القيم المفقودة، التكرارات، والـ Outliers).
تحليل استكشافي (EDA) لفهم العلاقات بين الخصائص والنتيجة.
هندسة خصائص (Feature Engineering) وإنشاء نسب مهمة مثل thalach/oldpeak.
اختيار الخصائص باستخدام طرق متعددة (Random Forest, Chi-Square, RFE).
موازنة البيانات باستخدام SMOTE.
تدريب عدة نماذج: Logistic Regression, Decision Tree, Random Forest, SVM, XGBoost.
تحسين المعلمات (Hyperparameter Tuning) وتقييم الأداء باستخدام Accuracy, F1-score, ROC-AUC.
بناء Voting Ensemble يجمع بين XGBoost وRandom Forest.
نشر النموذج على تطبيق Streamlit تفاعلي يتيح إدخال بيانات المريض وإظهار النتيجة مباشرة.
النتائج:
أفضل أداء تحقق باستخدام Voting Ensemble بدقة متوازنة 92.4% وROC-AUC = 0.958.
النموذج قادر على تصنيف المرضى إلى فئات (منخفض – متوسط – عالي) بناءً على المخاطر.
الأدوات والتقنيات:
Python (pandas, numpy, matplotlib, seaborn, scikit-learn, imbalanced-learn, xgboost), Streamlit.