استخدام train_test_split بالشكل الصحيح
Stratify وrandom_state والنسب
استخدام train_test_split بالشكل الصحيح درس مجاني في Data Science Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Data Science Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Data Science Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
One Helper, Two Sets
The function train_test_split takes your features and target and hands back train and test pieces in one tidy call.
from sklearn.model_selection import train_test_splitFour Things Come Back
It returns four objects in a fixed order: train features, test features, train target, test target. Unpack them carefully so each lands in the right name.
X_train, X_test, y_train, y_test = train_test_split(X, y)Set the Test Size
Use test_size to choose how much data to reserve. A value of 0.2 means 20% goes to the test set.
train_test_split(X, y, test_size=0.2)Shuffling by Default
By default the rows are shuffled before splitting. That mixing prevents any hidden order in your file from biasing either set.
Make It Reproducible
Pass random_state to lock the shuffle. The same number gives the same split every run, so your results are repeatable. 🔁
train_test_split(X, y, test_size=0.2, random_state=42)Why Reproducibility Matters
Without a fixed seed, every run reshuffles and your scores wobble. A locked random_state lets teammates reproduce your exact numbers.
The Imbalance Problem
If a class is rare, a plain random split might dump most of it into one set. Now train and test no longer reflect the same class balance.
Stratify to the Rescue
Pass stratify equal to your target so both sets keep the same class proportions. Essential for classification with uneven classes.
train_test_split(X, y, test_size=0.2, stratify=y, random_state=42)Keep X and y Aligned
The split keeps each row's features and label together. Row 7's features always travel with row 7's label, never scrambled apart.
Choosing the Ratio
Common splits are 80/20 or 70/30. With lots of data you can spare a smaller test slice; with little data, give the test set a bit more.
Split Before You Touch
Run the split first, before scaling or filling values. Doing prep on the full set leaks test information back into training.
Quick Check
Your target classes are very imbalanced. Which argument helps?
Recap
Unpack four sets, set test_size, fix random_state for repeatability, and use stratify when classes are uneven. Split first, prep later. 🔁
الأسئلة الشائعة
هل درس «استخدام train_test_split بالشكل الصحيح» مجاني؟
نعم — نص درس «استخدام train_test_split بالشكل الصحيح» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Data Science Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Data Science Academy 4 دروس في المجموع.
ماذا ستتعلم في «استخدام train_test_split بالشكل الصحيح»؟
Stratify وrandom_state والنسب تتمرن على Data Science Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Data Science Academy؟
لا تُشترط خبرة سابقة. Data Science Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «استخدام train_test_split بالشكل الصحيح»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Data Science Academy هذا؟
نعم. كل درس في Data Science Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا نحتفظ بمجموعة اختبار منفصلة
- استخدام train_test_split بالشكل الصحيح
- التحقق المتقاطع K-Fold
- أوقف تسرّب البيانات قبل أن يبدأ