train_test_split#

sklearn.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)#

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

快速实用工具,封装了输入验证、

next(ShuffleSplit().split(X, y)) ,以及对输入数据的处理

到一个单一的调用中,用于在一行代码中拆分(并可选地子采样)数据。

更多信息请参阅 用户指南

Parameters:
*arrays具有相同长度 / shape[0] 的可索引序列

允许的输入是列表、numpy 数组、scipy-sparse 矩阵或 pandas 数据框。

test_sizefloat 或 int, 默认=None

如果为浮点数,应在 0.0 和 1.0 之间,并表示要包含在测试拆分中的数据集比例。如果为整数,表示测试样本的绝对数量。如果为 None,该值设置为训练大小的补数。如果 train_size 也为 None,则将设置为 0.25。

train_sizefloat 或 int, 默认=None

如果为浮点数,应在 0.0 和 1.0 之间,并表示要包含在训练拆分中的数据集比例。如果为整数,表示训练样本的绝对数量。如果为 None,该值自动设置为测试大小的补数。

random_stateint, RandomState 实例或 None, 默认=None

控制在对数据应用拆分之前应用的洗牌。传递一个 int 以在多次函数调用中生成可重复的输出。请参阅 术语表

shufflebool, 默认=True

在拆分之前是否对数据进行洗牌。如果 shuffle=False,则 stratify 必须为 None。

stratify类数组, 默认=None

如果不为 None,数据将按分层方式拆分,使用此作为类标签。更多信息请参阅 用户指南

Returns:
splitting列表, 长度=2 * len(arrays)

包含输入的训练-测试拆分的列表。

Added in version 0.16: 如果输入是稀疏的,输出将是一个 scipy.sparse.csr_matrix 。否则,输出类型与输入类型相同。

Examples

>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
       [0, 1],
       [6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
       [8, 9]])
>>> y_test
[1, 4]
>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]