Imbalanced data
Imbalanced data
مشكلة عدم التوازن (Imbalance)

عدم التوازن في البيانات (Imbalance Data) هو تحدٍ شائع بيؤثر على أداء ال model بشكل كبير، بالاخص في مشاكل ال classification.لما بتكون class واحد أو أكثر ممثلة بعدد قليل جدًا من ال samples مقارنة ب classes أخرى، فإن ال model قد يميل إلى تجاهل ال classes الأقل عددا لل data، وده بيؤدي إلى أداء غير متوازن وغير مُرضٍ.
التحديات الرئيسية:
- تعلم الـ model على الفئات الأقل (من حيث حجم البيانات):
- بيكون صعب على الـ model يتعلم خصائص الفئات النادرة بسبب قلة تمثيلها في البيانات.
- فصل الميزات: بيكون من الصعب تحديد الميزات التمييزية لل class الأقل، خصوصًا إذا كانت ال classes دي قريبة من حدود القرار (decision boundaries)، مما يجعل الفصل بين ال classes غير دقيق.
- التحيز في التقييم: المقاييس التقليدية زي ال Accuracy ممكن تكون مضللة، لأن الـ model ممكن يحقق دقة عالية فقط بتجاهل الفئات الأقل حجما للداتا.
تقنيات للتغلب على مشكلة عدم التوازن
. على مستوى البيانات (Data-Level Approaches):
⦁ أخذ العينات العشوائي الناقص (Random Undersampling – RU): تقليل عدد العينات في ال class الأكبر.
⦁ ميزة: يقلل من التحيز تجاه الclass الأكبر.
⦁ عيب: ممكن نفقد معلومات مهمة

⦁ أخذ العينات العشوائي الزائد (Random Oversampling – RO) :
زيادة العينات للفئات الأقل.
⦁ ميزة: ده بيحافظ على البيانات الأصلية.
⦁ عيب: ممكن يحصل تكرارًا غير طبيعي في البيانات

SMOTE (Synthetic Minority Oversampling Technique) :
: بيعمل generate ل samples جديدة للclass الأقل من الsamples القديمة .
⦁ ميزة: ينتج samples جديدة ومختلفة .
⦁ عيب: ممكن يُحدث تشويشًا في مناطق الفصل بين ال class.

⦁ Borderline SMOTE و SVM-SMOTE :
تعديل SMOTE لزيادة التركيز على الsamples الي على الحدود بين classes وبعضها .

⦁ ADASYN هي تقنية لتحسين تمثيل الclass الأقل تمثيلًا في البيانات. هي بتشتغل على التركيز على النقاط ذات الكثافة الأقل (low-density points)، يعني الأماكن في البيانات اللي مش موجود فيها عينات كثيرة أو فيها نقص في التمثيل.
إزاي؟
⦁ بدل ما بيزود ال samples بشكل عشوائي زي ما بيحصل في تقنيات تانية، ADASYN بيهتم بالأماكن في البيانات اللي فيها نقص في الsamples، وده عن طريق إنشاء samples جديدة في الأماكن دي لتقوية التمثيل لل classes اللي مش موجودة كفاية.
الميزة: إنك بتزيد التمثيل في المناطق غير الممثلة (underrepresented regions)، وده بيساعد ال model على فهم المناطق دي بشكل أفضل وبالتالي يتحسن أداؤه


شرح الاختلافات:
⦁ BorderlineSMOTE: ينشئ عينات جديدة فقط حول العينات الحدودية (حيث يوجد احتمال أعلى للارتباك بين الفئات).
⦁ SVM-SMOTE: يستخدم دعم المتجهات (SVM) لتحديد العينات الحدودية بدقة أكبر وإضافة العينات الصناعية بناءً على هذه الحدود.
⦁ ADASYN: يركز على النقاط ذات الكثافة الأقل، مما يعزز المناطق غير الممثلة.
على مستوى النموذج (Model-Level Approaches):
⦁ ال Class Weights:إعطاء weight أكبر للclass الأقل أثناء الtraining .
⦁ ميزة: يقلل من التحيز ضد الclass الأقل تمثيلًا.
⦁ عيب: ممكن يسبب انحيازًا لو لم يتم ضبط ال weights بشكل مناسب.

على مستوى التقييم (Evaluation-Level Approaches)
استخدام مقاييس بديلة مثل:
⦁ F1-Score: يقيس التوازن بين الدقة (Precision) والاسترجاع (Recall).

⦁ Precision و Recall : يقيسوا جودة ال model في اكتشاف ال class الأقل

⦁ Confusion Matrix : تحليل أداء ال model لل class المختلفة.

⦁ AUC-ROC:
يقيم قدرة ال model على التمييز بين ال classes .

تجنب تسرب البيانات (Data Leakage)
يجب تطبيق تقنيات أخذ ال samples فقط على training data بعد تقسيم البيانات إلى train، validation، وtest. تسرب البيانات يؤدي إلى تحسين مصطنع في أداء ال model خلال الtraining ، مما يضعف التعميم على بيانات جديدة.
التقييم العادل لل model
نظرًا لأن ال accuracy قد تكون مضللة، يُنصح بالاعتماد على مقاييس شاملة .زي
F1-Score و AUC-ROC، التي تقدم صورة أوضح عن أداء ال model على ال classes الأقل تمثيلًا.