sklearn.model_selection.train_test_split

sklearn.model_selection.train_test_split(* arrays,** options )

将数组或矩阵切分为随机训练和测试子集。

这个快速实用程序封装了输入验证和next(ShuffleSplit().split(X, y))以及应用程序,以便将数据输入到单个调用中,在oneliner中对数据进行切分(或选择性的进行二次采样)。

用户指南中阅读更多内容。

参数 说明
*arrays sequence of indexables with same length / shape[0]
允许的输入是列表,numpy数组,稀疏矩阵或padas中的DataFrame。
test_size float or int, default=None
如果为float,则应在0.0到1.0之间,表示要包括在测试集切分中的数据集的比例。如果为int,则表示测试集样本的绝对数量。如果为None,则将值设置为训练集大小的补集。如果train_size也是None,则将其设置为0.25。
train_size float or int, default=None
如果为float,则应在0.0到1.0之间,并表示要包含在训练集切分中的数据集的比例。如果为int,则表示训练集样本的绝对数量。如果为None,则该值将自动设置为测试集大小的补集。
random_state int or RandomState instance, default=None
在应用切分之前,控制应用于数据的无序处理。为多个函数调用传递可重复输出的int值。请参阅词汇表
shuffle bool, default=True
切分前是否对数据进行打乱。如果shuffle = False,则stratify必须为None。
stratify array-like, default=None
如果不为None,则以分层方式切分数据,并将其用作类标签。
返回值 说明
splitting list, length=2 * len(arrays)
列表包含切分后的训练集和测试集

版本0.16中的新功能:如果输入稀疏,则输出将为scipy.sparse.csr_matrix 。否则,输出类型与输入类型相同。

示例

>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((52)), range(5)
>>> X
array([[01],
       [23],
       [45],
       [67],
       [89]])
>>> list(y)
[01234]
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[45],
       [01],
       [67]])
>>> y_train
[203]
>>> X_test
array([[23],
       [89]])
>>> y_test
[14]
>>> train_test_split(y, shuffle=False)
[[012], [34]]

sklearn.model_selection.train_test_split使用示例