مشروع التنبؤ بمرض السكري باستخدام تعلم الآلة
يهدف هذا المشروع إلى بناء نموذج ذكي قادر على التنبؤ بإصابة المريض بمرض السكري اعتمادًا على مجموعة من البيانات الطبية. يعتمد المشروع على تقنيات تحليل البيانات وتعلم الآلة لاستخراج الأنماط والعلاقات بين المؤشرات الصحية المختلفة من أجل تقديم توقعات دقيقة تدعم اتخاذ القرار الطبي.
وصف البيانات (Dataset)
تم استخدام مجموعة بيانات Pima Indians Diabetes، وهي من أشهر مجموعات البيانات الطبية المستخدمة في مشاريع تعلم الآلة. تحتوي البيانات على مجموعة من المؤشرات الصحية المرتبطة بمرض السكري، مثل:
مستوى الجلوكوز في الدم (Glucose)
ضغط الدم (Blood Pressure)
مؤشر كتلة الجسم (BMI)
مستوى الإنسولين (Insulin)
سمك الجلد (Skin Thickness)
العمر (Age)
أما المتغير المستهدف Outcome فيشير إلى:
1 : المريض مصاب بالسكري
0 : المريض غير مصاب بالسكري
معالجة البيانات (Data Preprocessing)
قبل تدريب النموذج تم تنفيذ عدة خطوات مهمة لتحسين جودة البيانات وضمان دقة النتائج، وتشمل:
معالجة القيم الصفرية في بعض الخصائص الطبية مثل Glucose وBMI وInsulin حيث تم اعتبارها قيماً مفقودة.
استبدال القيم المفقودة باستخدام القيمة الوسيطة (Median) لكل فئة من فئات الهدف (Outcome).
إزالة السجلات المكررة لتحسين جودة البيانات.
تطبيق Feature Scaling باستخدام StandardScaler لتوحيد مقياس المتغيرات وتحسين أداء النموذج.
تحليل البيانات وتصويرها (Data Visualization)
تم إجراء تحليل بصري للبيانات لفهم الأنماط والعلاقات بين المتغيرات المختلفة، ومن أهم الرسوم البيانية التي تم إنشاؤها:
توزيع الأعمار بين المرضى
توزيع مستويات الجلوكوز
عدد الحالات المصابة وغير المصابة بالسكري
العلاقة بين BMI ومستوى الجلوكوز وتأثيرها على احتمالية الإصابة بالمرض
تساعد هذه التحليلات في فهم البيانات بشكل أفضل قبل بناء نموذج التنبؤ.
بناء النموذج (Model Building)
تم استخدام خوارزمية Random Forest Classifier لبناء نموذج التنبؤ، وهي من الخوارزميات القوية في مشاكل التصنيف.
خطوات التدريب تضمنت:
تقسيم البيانات إلى:
80% بيانات تدريب
20% بيانات اختبار
تطبيق التحجيم (Scaling) على البيانات باستخدام StandardScaler
تدريب النموذج باستخدام مجموعة بيانات التدريب
تقييم أداء النموذج (Model Evaluation)
تم تقييم أداء النموذج باستخدام عدة مقاييس مهمة في تعلم الآلة، منها:
Accuracy Score لقياس دقة التوقعات
Confusion Matrix لفهم أداء النموذج في التمييز بين الحالات المصابة وغير المصابة
Classification Report الذي يتضمن:
Precision
Recall
F1-score
أظهرت النتائج أن النموذج قادر على التنبؤ بحالات السكري بدقة جيدة اعتمادًا على المؤشرات الطبية المتوفرة.
حفظ النموذج (Model Deployment Preparation)
في النهاية تم حفظ:
نموذج التنبؤ المدرب
أداة التحجيم (Scaler)
باستخدام مكتبة pickle حتى يمكن إعادة استخدام النموذج لاحقًا في التطبيقات أو الأنظمة المختلفة دون الحاجة إلى إعادة التدريب.
التقنيات المستخدمة
Python
Pandas
NumPy
Matplotlib & Seaborn
Scikit-learn
Machine Learning (Random Forest)