Scikit-learn API:train_test_split函数 将数据分割为训练集和测试集

函数原型

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

函数功能

将数组或矩阵随机的分割成训练集和测试集,注意这里是随机的。假定某元素A第一次划分到测试集中,对数据集进行新增操作之后,再进行划分,则A可能划分到训练集中。

函数允许一次传入多个数据集,所以我们也可以把行数相同的多个数据集添加为*arrays参数,它会根据相同索引将其拆分,当我们有一个单独的dataframe用于标记时,这种做法是非常有用的。

参数说明

*arrays:长度或者shape[0]相同7的可索引序列。允许的输入是列表、numpy数组、scipy-sparse矩阵、或者是pandas dataframe。
test_size:可选,float, int或None(默认)

如果是浮点数,则应该在0.0和1.0之间,表示要测试集占总数据集的比例。

如果是int类型,表示测试集的绝对数量。

如果是None,则将该值设置为训练集train_size大小的补数;如果train_size也是None,则将其设置为0.25。

train_size:float, int, or None(默认=None)

如果是浮点数,则应该在0.0和1.0之间,表示要训练集占数据集的比例。

如果是int类型,表示训练集的绝对数量。

如果是Nnone,该值将自动设置为测试集大小的补数。

random_stateint:可选,int,RandomState实例或None(默认)

如果是int类型,random_state是随机数生成器使用的种子;

如果是RandomState实例,random_state是随机数生成器;

如果是None,随机数生成器就是np.random使用的RandomState实例,每次生成结果均不同。

shuffle:可选参数,boolean(默认为True)表示是否在分割之前重新洗牌数据。只有在stratify=None时,才允许shuffle=False。

stratify:array-like 或者 None (default=None)

如果不是None,则以分层的方式分割数据,并将其作为类标签。

例子

>>> 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]
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值