اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

أولا قبل التقسيم  يجب عليك التأكد من أن الفئات أو التصنيفات التي لديك في البيانات متوازنة أيضا. فإذا كانت البيانات نفسها غير متوازنة مثل وجود فئة أكثر من الأخرى فستحتاج إلى استخدام تقنيات مثل Stratified Sampling لتستطيع الحفاظ على نفس النسبة في كل مجموعة.

حيث يمكنك من استخدام train_test_split مع stratify للحفاظ على نفس التوزيع في كل مجموعة :

from sklearn.model_selection import train_test_split

X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.3, stratify=y)
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, stratify=y_temp)

هنا  test_size=0.3 تعني أننا نريد 30% من البيانات أن تكون في مجموعة التطوير والاختبار.

و stratify=y تضمن أن التوزيع في الفئات y سيكون متشابها في جميع المجموعات. حيث أن X هي البيانات و إن  y هي الفئات.

ويمكنك قراءة المزيد حول stratify في مكتبة scikit-learn من خلال الرابط :

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...