参考文章链接
这行代码使用Scikit-learn的train_test_split()
函数将数据集(X, y)划分为训练集和验证集,具体含义如下:
X_train, X_valid, y_train, y_valid = train_test_split(
X, # 特征数据
y, # 标签数据
train_size=0.8, # 训练集比例80%
test_size=0.2, # 验证集比例20%
random_state=0 # 随机种子(保证可重复性)
)
参数详解:
X
:特征数据(通常是二维数组/DataFrame,形状为[n_samples, n_features])y
:对应的标签数据(一维数组/Series)train_size=0.8
:指定训练集占80%test_size=0.2
:指定验证集占20%(与train_size相加应为1)random_state=0
:固定随机种子,确保每次划分结果相同
返回值:
X_train
:训练集特征(原始数据的80%)X_valid
:验证集特征(原始数据的20%)y_train
:训练集标签y_valid
:验证集标签
可视化理解:
原始数据(X, y):
X特征数据 y标签
[[x1, x2, x3], [y1,
[x4, x5, x6], y2,
... ...]
划分后:
训练集(X_train, y_train) - 80%数据
验证集(X_valid, y_valid) - 20%数据
典型应用场景:
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
# 划分数据集
X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state=0)