关于sklearn中train_test_split

版权声明:转载注明出处 https://blog.csdn.net/J0Han/article/details/82667875

sklearn.model_selection.train_test_split(*arrays, **options)
作用:将数组或矩阵拆分为随机序列和测试子集
我们先了解其参数和返回值,然后通过例子来学会使用它。

参数:

arrays :具有相同长度/形状的可索引序列,允许的输入是列表,numpy数组,scipy-sparse矩阵或pandas数据帧。

test_size : float, int, None, optional

如果为float,则应介于0.0和1.0之间,并表示要包含在测试拆分中的数据集的比例。如果是int,则表示测试样本的绝对数量。如果为None,则将该值设置为列车大小的补码。默认情况下,该值设置为0.25。默认值将在版本0.21中更改。只有在train_size未指定时才会保持0.25 ,否则它将补充指定的train_size。

train_size : float,int或None,默认为None

如果为float,则应介于0.0和1.0之间,并表示要包含在列车拆分中的数据集的比例。如果是int,则表示列车样本的绝对数量。如果为None,则该值将自动设置为测试大小的补码。

random_state : int,RandomState实例或None,default=None

如果是int,则random_state是随机数生成器使用的种子; 如果是RandomState实例,则random_state是随机数生成器; 如果没有,随机数生成器所使用的RandomState实例np.random。

shuffle : boolean, optional (default=True)

是否在拆分之前打乱数据。如果shuffle = False,则分层必须为None。

stratify : array-like or None (default is None)

如果不是None,则数据以分层方式拆分,使用此作为类标签。

返回值:

splitting :列表,长度= 2 * len(数组)

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

在版本0.16中的新增内容:如果输入是稀疏的,则输出将为a scipy.sparse.csr_matrix。否则,输出类型与输入类型相同。

例子

例子来自于官方文档

>>> 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]]

猜你喜欢

转载自blog.csdn.net/J0Han/article/details/82667875