0Pricing
Data Science Academy · 课时

正确使用 train_test_split

分层抽样、random_state 和比例

正确使用 train_test_split 是 CoddyKit 上的免费 Data Science Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 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_split

Four 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」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Data Science Academy 课程的其余内容,请升级到 CoddyKit PRO。 Data Science Academy 课程共包含 4 节课。

「正确使用 train_test_split」这节课中我会学到什么?

分层抽样、random_state 和比例 你通过在浏览器中直接运行的动手代码来练习 Data Science Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Data Science Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Data Science Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「正确使用 train_test_split」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Data Science Academy 课中编写并运行代码吗?

能。每节 Data Science Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 为什么要留出测试集
  2. 正确使用 train_test_split
  3. K 折交叉验证
  4. 在数据泄漏发生前阻止它
← 返回 Data Science Academy