يهدف المشروع إلى تحليل بيانات طبية متعلقة بمرضى القلب، والقيام بعمليات تنظيف للبيانات (Data Cleaning)، وتمثيلها بصرياً (Visualization)، وتجهيزها (المعالجة المسبقة) لتصبح صالحة للاستخدام في نماذج التعلم الآلي (Machine Learning Models).
2. محتويات الملف البرمجية
المكتبات المستخدمة: يعتمد الكود على مكتبات Python الأساسية لعلوم البيانات:
pandas و numpy للتعامل مع البيانات.
seaborn و matplotlib للرسوم البيانية.
sklearn للمعالجة المسبقة وتقسيم البيانات (مثل LabelEncoder, RobustScaler, Pipeline).
3. مراحل العمل المنجزة في الملف
ينقسم العمل إلى جزأين أساسيين:
الجزء الأول: فحص وفهم البيانات (Data Inspection)
تحميل البيانات: تم استيراد ملف Heart_disease.csv الذي يحتوي على 16,859 سجل و 18 عاموداً (ميزة).
اكتشاف القيم المفقودة: حدد الكود وجود قيم مفقودة في أعمدة هامة مثل (BMI، SleepTime، SkinCancer).
تصنيف المتغيرات: قام المحلل بتصنيف البيانات بدقة إلى:
عددية (Numeric): مثل مؤشر كتلة الجسم (BMI)، الصحة البدنية، والصحة النفسية.
ترتيبية (Ordinal): مثل الحالة الصحية العامة (GenHealth) والفئات العمرية.
اسمية (Nominal): مثل العرق (Race) ومرض السكري.
ثنائية (Binary): مثل التدخين، الجنس، وتاريخ الإصابة بالسكتة الدماغية.
الجزء الثاني: التصور والرؤى (Visualization & Insights)
تحليل المتغير المستهدف (HeartDisease):
استخدم الرسم البياني Countplot لإظهار توزيع المرض.
النتيجة: البيانات غير متوازنة (Imbalanced)، حيث أن 90% من العينة غير مصابين و10% فقط مصابون، وهذا تنبيه هام لاختيار معايير دقة Model Evaluation مناسبة لاحقاً (مثل F1-score بدلاً من Accuracy).
تحليل البيانات العددية:
استخدم Boxplot لكل من (BMI, PhysicalHealth, MentalHealth).
النتيجة: اكتشف وجود قيم شاذة (Outliers) كثيرة في الصحة البدنية والنفسية، مما دفعه للتوصية باستخدام RobustScaler الذي يقاوم تأثير هذه القيم الشاذة.
4. القيمة المضافة من هذا التحليل (لماذا هذا العمل مهم؟)
جودة البيانات: تحديد القيم المفقودة وتصنيف أنواع البيانات يمنع حدوث أخطاء برمجية أو إحصائية عند تدريب النموذج.
اختيار استراتيجية القياس: بناءً على وجود الـ Outliers، تم اختيار RobustScaler لضمان عدم انحراف النموذج.
تنبيه بخصوص عدم التوازن: الإشارة إلى أن البيانات غير متوازنة (90/10) هو أمر جوهري للمهندسين الذين سيبنون النموذج لضمان عدم تحيزه للغالبية.