train_test_split
函数是机器学习中一个非常重要的函数,它可以将数据集划分为训练集和测试集。
以下是该函数的详细说明:
train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)
参数说明:
*arrays
: 单个数组或元组,表示需要划分的数据集。如果传入多个数组,则必须保证每个数组的第一维大小相同。
test_size
: 测试集的大小(占总数据集的比例)。默认值为0.25,即将传入数据的25%作为测试集
。
train_size
: 训练集的大小(占总数据集的比例)。默认值为None
,此时和test_size
互补,即训练集的大小为(1-test_size)
。
random_state
: 随机数种子。可以设置一个整数,用于复现结果。默认为None
。
shuffle
: 是否随机打乱数据。默认为True
。
stratify
: 可选参数,用于进行分层抽样。传入标签数组,保证划分后的训练集和测试集中各类别样本比例与原始数据集相同。默认为None
,即普通的随机划分。
返回值说明:
该函数返回一个元组(X_train, X_test, y_train, y_test)
,其中X_train
表示训练集的特征数据,X_test
表示测试集的特征数据,y_train
表示训练集的标签数据,y_test
表示测试集的标签数据。
注意事项:
test_size
和train_size
必须至少有一个设置为非None
。- 当传入多个数组时,请确保每个数组的第一维大小相同。
- 当使用分层抽样时,请确保传入的标签数组是正确的。