1. استيراد المكتبات
يتم استيراد المكتبات الأساسية لمعالجة البيانات، والتشفير، وتدريب النموذج، وتقييمه.
2. تحميل مجموعات البيانات
يتم قراءة "Disease precaution.csv" و "DiseaseAndSymptoms.csv" وتحويلهما إلى DataFrames باستخدام pandas.
يتم عرض أول بضعة صفوف باستخدام .head().
3. استكشاف البيانات
طباعة معلومات كل مجموعة بيانات باستخدام .info().
التحقق من القيم المفقودة باستخدام .isnull().sum().
4. التعامل مع القيم المفقودة
يتم استبدال القيم المفقودة بـ "Unknown".
5. دمج مجموعات البيانات
يتم دمج البيانات الخاصة بـ الأعراض و الاحتياطات بناءً على العمود المشترك "Disease".
6. تجهيز البيانات (المتغيرات المستقلة والتابعة)
X (المتغيرات المستقلة): جميع الأعمدة ما عدا "Disease".
y (المتغير التابع): العمود "Disease".
7. تحويل البيانات الفئوية إلى رقمية
استخدام التشفير One-Hot Encoding لتحويل البيانات الفئوية إلى صيغة عددية.
8. تقسيم البيانات إلى تدريب واختبار
يتم تقسيم البيانات إلى 80% للتدريب و 20% للاختبار باستخدام train_test_split().
يستخدم التقسيم الطبقي (stratify) للحفاظ على توزيع الفئات كما هو.
9. التعامل مع عدم توازن البيانات باستخدام SMOTE
يتم استخدام SMOTE (تقنية زيادة العينة للأقليات) لموازنة الفئات من خلال توليد عينات اصطناعية للفئات الأقل تمثيلًا.
10. تدريب النموذج
يتم استخدام RandomForestClassifier لتدريب النموذج على X_train و y_train.
11. إجراء التنبؤات
يتم توقع الأمراض باستخدام X_test.
12. تقييم أداء النموذج
يتم حساب:
الدقة (Accuracy)
الدقة النوعية (Precision)
الاسترجاع (Recall)
معدل F1-score
التقرير التفصيلي للتصنيف (Classification Report)
13. التحقق من دقة النموذج باستخدام التحقق المتقاطع
يتم تنفيذ التحقق المتقاطع بـ 5 طيات (5-Fold Cross Validation) لقياس استقرار النموذج.