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

السؤال

Recommended Posts

  • 0
نشر

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

لا من الممكن أن تأخذ معاملات أكثر حيث يمكن أن تأخذا x و y و 5 معاملات أخرى وهي :

  • X هي المميزات (features).
  • y هو الهدف (target).
  • test_size: هو الحجم المخصص للبيانات الخاصة بالاختبار .
  • train_size: لتحديد حجم بيانات التدريب بشكل محدد.
  • random_state: هو الرقم الذي يتم تحديده لتوليد نتائج عشوائية قابلة لإعادة التكرار.
  • shuffle: لتحديد ما إذا كان يجب خلط البيانات قبل التقسيم.
  • stratify: لتقسيم البيانات بشكل متوازن حسب فئات الهدف .

وإليك التوثيق الرسمي لتوضيح أكثر حول جميع المعاملات السابقة وأيضا أمثلة لها :

  • 0
نشر

للتوضيح ميثود train_test_split في مكتبة scikit-learn ليست مقتصرة على استقبال أربعة متغيرات فقط،  فتلك الميثود مرنة جداً وتسمح لك بتقسيم البيانات بعدة طرق.

ونستخدمها لتقسيم مجموعة البيانات إلى مجموعتين رئيسيتين، مجموعة التدريب Training set لتدريب نموذج الذكاء الاصطناعي، ومجموعة الاختبار Testing set لتقييم أداء النموذج بعد التدريب.

المعاملات الأساسية هي تمرير عدد من المصفوفات مثل المميزات Features والأهداف Targets،  حيث الصيغة الأساسية هي كالتالي:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, ...)

X مصفوفة المميزات  وy مصفوفة الهدف.

المعاملات الإضافية أولها test_size لتحديد نسبة بيانات الاختبار، وتقبل  أن تكون قيمة عشرية (مثل 0.2 للنسبة 20%) أو عدد صحيح يمثل عدد العينات.

train_test_split(X, y, test_size=0.25)

و train_size لتحديد نسبة بيانات التدريب بنفس طريقة test_size.

ويوجد random_state لتحديد رقم ثابت لضمان إمكانية إعادة التقسيم بنفس الطريقة في كل مرة تُشغّل فيها الكود.

train_test_split(X, y, random_state=42)

shuffle لتحديد هل البيانات سيتم خلطها قبل التقسيم، والقيمة الافتراضية هي True.

train_test_split(X, y, shuffle=False)

أيضًا stratify للحفاظ على توزيع الفئات في كل من مجموعتي التدريب والاختبار، وذلك مفيد خاصة في مشاكل التصنيف حيث تكون الفئات غير متوازنة.

train_test_split(X, y, stratify=y)

وتستطيع تمرير أكثر من مصفوفة واحدة للتقسيم في نفس الوقت، حيث تقوم الدالة بتقسيم كل مصفوفة بنفس الطريقة واسترجاعها بشكل منفصل.

X_train, X_test, y_train, y_test, z_train, z_test = train_test_split(X, y, z, test_size=0.2)

 

  • 0
نشر
بتاريخ 18 ساعة قال Ali Ahmed55:

اه يعني انا كده تمام علي المتغيرات دي 

x_train, x_temp, y_event_train, y_event_temp, y_time_train, y_time_temp = train_test_split(x, y_event, y_time, test_size=0.3, random_state=42)
 

 

نعم صحيح . لاحظ أنك قمت بتمرير ثلاث مجاميع وهي x و  y_event و y_time وسيتم تقسيم كل منهم إلى مجموعة للتدريب ومجموعة للإختبار.

وستلاحظ في التوثيق الرسمي الذي أرفقته لك أنك تستطيع تمرير ما تشاء في المعامل الأول وسيتم إعتبار تلك المعاملات كمجاميع تريد تقسيمها.

  • 0
نشر
بتاريخ 36 دقائق مضت قال محمد عاطف17:

نعم صحيح . لاحظ أنك قمت بتمرير ثلاث مجاميع وهي x و  y_event و y_time وسيتم تقسيم كل منهم إلى مجموعة للتدريب ومجموعة للإختبار.

وستلاحظ في التوثيق الرسمي الذي أرفقته لك أنك تستطيع تمرير ما تشاء في المعامل الأول وسيتم إعتبار تلك المعاملات كمجاميع تريد تقسيمها.

تمام جدا

الف شكرااا جدا لحضرتك

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...