train_test_split()函数

Posted supremeboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了train_test_split()函数相关的知识,希望对你有一定的参考价值。

sklearn.model_selection.train_test_split随机划分训练集和测试集

  • 一般形式:

train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取train data和testdata,形式为:

X_train,X_test, y_train, y_test =train_test_split(train_data,train_target,test_size=0.4, random_state=0)

  • 参数解释:

train_data:所要划分的样本特征集

train_target:所要划分的样本结果

test_size:样本占比,如果是整数的话就是样本的数量

random_state:是随机数的种子。

随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。不填的话默认值为False,即每次切分的比例虽然相同,但是切分的结果不同。

随机数的产生取决于种子,随机数和种子之间的关系遵从以下两个规则:

种子不同,产生不同的随机数;种子相同,即使实例不同也产生相同的随机数。

  • 示例
   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]

X_train,y_train:得到的训练数据。

X_test, y_test:得到的测试数据。

X,y:原始数据

以上是关于train_test_split()函数的主要内容,如果未能解决你的问题,请参考以下文章

sklearn的train_test_split函数

关于train_test_split函数是不是打乱数据的验证

TypeError:train_test_split() 只有当我在函数中写入参数'test_size'时才获得多个值

train_test_split 函数是不是保持类之间的平衡

用于拆分训练集和测试集的函数 train_test_split

我们如何将显式测试数据和训练数据提供给 SVM,而不是使用 train_test_split 函数?