العودة إلى المدونة
Machine Learning 15 دجنبر 2024 5 min للقراءة

استراتيجيات التحقق المتقاطع: أيها تستخدم ومتى

K-Fold، Stratified، GroupKFold، TimeSeriesSplit — دليل عملي لاختيار استراتيجية CV الصحيحة.

شجرة القرار

  1. بيانات سلاسل زمنية؟ ← TimeSeriesSplit (لا تخلط الزمن أبداً!)
  2. مجموعات يجب أن تبقى معاً؟ ← GroupKFold
  3. فئات غير متوازنة؟ ← StratifiedKFold
  4. جدولي افتراضي ← StratifiedKFold بخمس طيات

مثال TimeSeriesSplit

from sklearn.model_selection import TimeSeriesSplit
tscv = TimeSeriesSplit(n_splits=5)
for train_idx, val_idx in tscv.split(X):
    X_train, X_val = X.iloc[train_idx], X.iloc[val_idx]

GroupKFold: منع التسرب

إذا كان لديك معرّفات مستخدمين أو مرضى أو متاجر — استخدم GroupKFold دائماً حتى لا يظهر الكيان نفسه في التدريب والتحقق معاً.

Cross-ValidationModel EvaluationTime SeriesKaggleBest Practices
O

Ossama Elhakki

مهندس ذكاء اصطناعي وأنظمة ML — المغرب