مجموعات البيانات غير المتوازنة: استراتيجيات شاملة للتعامل معها بفعالية
فهم مجموعات البيانات غير المتوازنة وإتقان جميع التقنيات لتدريب نماذج موثوقة في التصنيف.
في مجال التعلم الآلي، تشكل مجموعات البيانات غير المتوازنة تحديًا يوميًا. فعندما تمثل فئة واحدة 99% من الأمثلة والأخرى 1% فقط، غالبًا ما تفشل الخوارزميات القياسية في اكتشاف الحالات النادرة. يرشدك هذا المقال خطوة بخطوة لتحديد المشكلة واختيار المقاييس المناسبة وتطبيق أكثر التقنيات فعالية.
ما هي مجموعة البيانات غير المتوازنة ولماذا تشكل مشكلة؟
تكون مجموعة البيانات غير متوازنة عندما يكون توزيع الفئات غير متساوٍ إلى حد كبير. وتكثر الأمثلة الواقعية مثل: كشف الاحتيال البنكي (0,1٪ من حالات الاحتيال)، تشخيص الأمراض النادرة، التنبؤ بتراجع العملاء، تصفية البريد المزعج أو اكتشاف العيوب على خط إنتاج صناعي. في جميع هذه الحالات، «يغش» النموذج بتنبؤ الفئة الغالبة بشكل منهجي، مما يحقق دقة عالية مع إغفال كامل للحالات الحرجة.
فخ الدقة والمقاييس التي ينبغي تفضيلها
الدقة (accuracy) مضللة لأنها تخفي الأخطاء على الفئة الأقلية. يجب استخدام مصفوفة الالتباس، والدقة (précision)، والاستدعاء (rappel)، ودرجة F1، والدقة المتوازنة (balanced accuracy)، ومعامل كوهين كابا، وخاصة PR-AUC (أكثر صلة من ROC-AUC عندما تكون الفئات غير متوازنة جداً). نفضل الاستدعاء عندما تكون السلبيات الكاذبة مكلفة (مرض غير مكتشف) والدقة عندما تكون الإيجابيات الكاذبة مكلفة (إنذار كاذب).
تقنيات إعادة أخذ العينات : oversampling و undersampling
يتكون oversampling من زيادة الفئة الأقلية : التكرار البسيط، SMOTE، ADASYN أو Borderline-SMOTE. يقلل undersampling من الفئة الأكثرية عبر Random Undersampling، Tomek Links، NearMiss أو Edited Nearest Neighbours (ENN). غالبًا ما تقدم التركيبات مثل SMOTETomek أو SMOTEENN حلاً وسطًا جيدًا. انتبه مع ذلك إلى خطر الإفراط في التعلم مع oversampling وإلى فقدان المعلومات مع undersampling.
مقاربات على مستوى الخوارزمية
بدلاً من تعديل البيانات، يمكن التأثير على الخوارزمية نفسها. تسمح معظم المكتبات باستخدام المعامل class_weight أو cost-sensitive learning. تعديل عتبة القرار (threshold moving) بعد التدريب بسيط وفعال. وأخيراً، Focal Loss الشائعة في اكتشاف الكائنات تقلل من تأثير الأمثلة السهلة وتركز التعلم على الحالات الصعبة.
الطرق التجميعية المتكيفة مع البيانات غير المتوازنة
الطرق التجميعية المتخصصة تجمع بين عدة مصنفات مدربة على مجموعات فرعية متوازنة. BalancedRandomForest، EasyEnsemble، RUSBoost و BalancedBagging هي تطبيقات قوية تدمج إعادة أخذ العينات بشكل أصلي وتحسن عموماً اكتشاف الفئة النادرة.
متى يجب الانتقال إلى إطار كشف الشذوذ؟
عندما تمثل الفئة الإيجابية أقل من 1٪ من البيانات، تصل تقنيات التصنيف الخاضع للإشراف إلى حدودها. يصبح من المناسب إعادة صياغة المشكلة ككشف شذوذ أو outlier باستخدام خوارزميات مثل Isolation Forest أو One-Class SVM أو Autoencoders، التي تتعلم فقط على الفئة الأكثرية.
أفضل ممارسات التحقق لتجنب تسرب البيانات
يجب ألا يُطبق إعادة التشكيل أبدًا على مجموعة الاختبار أو التحقق. استخدم دائمًا خط أنابيب (imblearn.Pipeline) يطبق SMOTE فقط على طيات التدريب. يحافظ stratified k-fold على نسبة الفئات في كل طي. تتجنب هذه الاحتياطات تسرب البيانات والأداء المُبالغ في تقديره.
مثال عملي على الكود باستخدام imbalanced-learn
from sklearn.datasets import make_classification
from sklearn.model_selection import StratifiedKFold, cross_val_predict
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
from imblearn.pipeline import Pipeline
from imblearn.over_sampling import SMOTE
X, y = make_classification(n_classes=2, weights=[0.95, 0.05], n_samples=5000, random_state=42)
pipe = Pipeline([
('smote', SMOTE(random_state=42)),
('clf', RandomForestClassifier(class_weight='balanced', random_state=42))
])
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
y_pred = cross_val_predict(pipe, X, y, cv=cv)
print(classification_report(y, y_pred))
- تحقق دائمًا من توزيع الفئات قبل أي نمذجة.
- اختر المقاييس بناءً على التكلفة التجارية للأخطاء.
- طبق إعادة أخذ العينات حصريًا في خط أنابيب التدريب.
- اختبر عدة تقنيات (SMOTE، class_weight، threshold tuning) وقارن بين PR-AUC.
- استخدم التحقق المتقاطع الطبقي لضمان نتائج موثوقة.
- وثق الاختيار النهائي وافتراضاته لضمان إمكانية التكرار.
من خلال تطبيق هذه الممارسات الجيدة، ستحول مجموعة بيانات غير متوازنة إلى ميزة بدلاً من عقبة. يكمن المفتاح في الجمع الذكي بين المقاييس المناسبة، وإعادة أخذ العينات المتحكم فيها، والخوارزميات الحساسة للتكلفة. اختبر هذه الأساليب على بياناتك الخاصة وقم بقياس التحسن الملموس في الاستدعاء و PR-AUC.
💬 هل لديك سؤال أو ترغب في التعمق أكثر؟ انضم إلى المجتمع على Discord : https://discord.gg/GwhUKccQcM