scikit-learn用train_test_split随机划分数据集和训练集

train_test_split()函数是用来随机划分样本数据为训练集和测试集的,当然也可以人为的切片划分。

优点:随机客观的划分数据,减少人为因素

完整模板:

train_X,test_X,train_y,test_y = train_test_split(train_data,train_target,test_size=0.3,random_state=5)

参数解释:

train_data:待划分样本数据

train_target:待划分样本数据的结果(标签)

test_size:测试数据占样本数据的比例,若整数则样本数量

random_state:设置随机数种子,保证每次都是同一个随机数。若为0或不填,则每次得到数据都不一样


In [11]: from sklearn.model_selection import train_test_split
In [12]: import numpy as np
In [13]: X,y = np.arange(12).reshape(6,2),np.arange(6)
In [14]: X
Out[14]:
array([[ 0,  1],
       [ 2,  3],
       [ 4,  5],
       [ 6,  7],
       [ 8,  9],
       [10, 11]])
In [15]: y
Out[15]: array([0, 1, 2, 3, 4, 5])
In [16]: train_X,test_X,train_y,test_y = train_test_split(X,y,test_size=0.3,random_state=
    ...: 17)
In [17]: train_X
Out[17]:
array([[ 8,  9],
       [ 0,  1],
       [10, 11],
       [ 2,  3]])
In [18]: train_y
Out[18]: array([4, 0, 5, 1])
In [19]: test_X
Out[19]:
array([[4, 5],
       [6, 7]])
In [20]: test_y
Out[20]: array([2, 3])

随机产生样本:

from sklearn.datasets import make_classification
X, y = make_classification(     #x 对应数据,y 对应标签(就是数据原本数字型的标签 或者 字符串的标签转换为数字型的标签)
        n_samples=2000,     #样本点
        n_features=20,     #特征维数 100个 特征
        n_classes=2,        #二维识别,二分类
        random_state=17)    #随机种子,每次随机数都一样

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,    #70%是训练集,30%测试集
                                                        random_state=17)        #一样的随机种子

利用sklearn的make_classification来随机产生一组样本数据,再用train_test_split来划分


  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值