sklearn中的train_test_split()函数解析

train_test_split()函数:机器学习中用于分割数据集(训练集和测试集)

X_train,X_test,y_train,y_test = train_test_split(X, y, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)

参数说明:

参数 含义
X 待划分的样本特征集
y 待划分的样本标签
test_size 默认值为none,值为0.0-1.0时表示测试集占总样本比例;值为整数时表示测试集数量
train_size 默认值为none,值为0.0-1.0时表示训练集占总样本比例;值为整数时表示训练集数量
random_state 默认值none, 随机数种子(下面详细介绍)
shuffle 默认值True, 表示是否在拆分前打乱数据, 若为False则stratify必须置为none
stratify 默认值none,如果不是none,则以分层方式拆分数据,并将其用作类标签

返回值说明:

名称 含义
X_train 训练数据集
X_test 测试数据集
y_train 训练标签集
y_test 测试标签集
  1. random_state说明:

    • 为什么要设置这个参数?
      train_test_split 函数将数据集随机拆分成训练集和测试集,如果random_state不设置,则每次运行拆分时得到的训练集和测试集都与上次不相同,构建的模型也就不同
      【示例如下】
>a, b = np.arange(8).reshape(4,2), range(4)
#a,b的值:
a: [[0 1][2 3][4 5][6 7]]b:range(0, 4)>X_train,X_test,y_train,y_test = train_test_split(a,b)>print('训练数据集:\n{}'.format(X_train))>print('训练标签集:\n{}'.format(y_train))>print('测试数据集:\n{}'.format(X_test))>print('测试标签集:\n{}'.format(y_test))
  • 第一次运行结果:
    训练数据集:[[6 7] [0 1] [2 3]]
    训练标签集:[3, 0, 1]
    测试数据集:[[4 5]]
    测试标签集:[2]
  • 第二次运行结果:
    训练数据集:[[4 5] [6 7] [2 3]]
    训练标签集:[2, 3, 1]
    测试数据集:[[0 1]]
    测试标签集:[0]

可以看出每次运行结果的拆分方式都是随机的

X_train,X_test,y_train,y_test = train_test_split(a,b,random_state=1)

设置了random_state=1后,每次运行结果都是一样的:
训练数据集:[[4 5] [0 1] [2 3]]
训练标签集:[2, 0, 1]
测试数据集:[[6 7]]
测试标签集:[3]

  • shuffle说明
    能够在划分数据前打乱数据,当数据分布不均衡时,可能会导致划分后的训练集和测试集不均匀,比如测试集中的类0占了99%,类1只占了1%(像sklearn中鸢尾花数据集前50个样本都是同一类别,此时打乱数据很有必要,因此默认值为True是合理的)

  • stratify说明:
    能够保持划分前类的分布,比如(参考文章):
    有100个样本,80个属于标签0,20个属于标签1,如果前面参数test_size=0.25,则
    75个训练数据,60个标签为0,15个标签为1
    25个测试数据,20个标签为0,5个标签为1

sklearn中的train_test_split()函数解析相关推荐

  1. Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略 目录 sklearn中的train_test_split函数的简介 train_tes ...

  2. sklearn中的train_test_split函数

    train_test_split函数用于将数据集随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签. X_train,X_test, y_train, y_test =cr ...

  3. 机器学习入门之机器学习sklearn中的train_test_split()函数

    http://study.zhizuobiao.com/study-19062600022/

  4. Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略 目录 sklearn中的RobustScaler 函数的简介及使用方法 sklearn中的R ...

  5. rectpuls函数 matlab,Matlab中的rectpuls函数解析

    Matlab中的rectpuls函数解析 Matlab中的rectpuls函数解析 1.先看Matlab中的解释: This MATLAB function returns a continuous, ...

  6. sklearn中的XGBClassifier函数学习

    # 常规参数 booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分类器 silent silent=0时,不输出中间过程(默认) silent=1时,输出中间过程 ...

  7. Python3.6机器学习sklearn中导入train_test_split库出错“Unresolved reference ‘train_test_split’”

    直接上图: 原因: 在python2中是使用sklearn.cross_validation该方式导入train_test_split模块,在python3.6中sklearn已弃用train_tes ...

  8. 【Python】sklearn 中的 make_blobs() 函数详解

    文章目录 一.介绍 二.函数的使用 一.介绍 make_blobs() 是 sklearn.datasets中的一个函数. 主要是产生聚类数据集,产生一个数据集和相应的标签. 函数的源代码如下: de ...

  9. Pytorch中torch.argmax()函数解析

    一. torch.argmax()函数解析 1. 官网链接 torch.argmax(),如下图所示: 2. torch.argmax(input)函数解析 torch.argmax(input) → ...

最新文章

  1. obj是什么意思_为什么要学正则表达式 - 3
  2. anaconda虚拟环境教程大全
  3. 网页客户端调用gSoap发布服务,以及中文乱码问题
  4. vscode格式化关于符合eslint检测语法配置
  5. 负债人有尊严吗?我觉得真的没有
  6. 3个最典型的图表错误使用方式,赶紧看看自己是否中招
  7. doc转docx文件会乱吗_利用python将doc文件转换为docx
  8. javascript类式继承函数最优版
  9. http://www.duilib.cc
  10. linux vi 软件 下载,在Linux系统中下载安装Vim 8
  11. python爬取西刺网代理IP地址
  12. 小学计算机的一些课题,小学信息技术小课题研究.doc
  13. java word文档内容比较_Java 比较两个Word文档差异
  14. CountDownLatch倒计数锁存器(Latch:门闩[shuan])
  15. win10管理员已阻止你运行此应用解决方法
  16. python查看手机上wifi密码_忘了wifi密码怎么办?用Python查!
  17. Java 3D 开发
  18. 求1-1/2+1/3-1/4+...+1/99-1/100
  19. 人工智能实训室解决方案
  20. KaTex公式居左对齐

热门文章

  1. 查看笔记本能不能用独显连接外部显示器的方法
  2. PNAS:人类、非人灵长类动物和小鼠的大脑皮层折叠、分割和连通性
  3. ElasticsearchJDK版本要求
  4. 64-bit版本的Windows7完美安装USB下载驱动
  5. Python编程--使用PyPDF解析PDF文件中的元数据
  6. antd-- table表格排序
  7. float和double的区别
  8. USB-C PD多协议快充取电协议芯片,专为小家电市场打造
  9. python数据处理电脑配置_『大数据python计算机基础教学视频教程』入门学python需要什么配置的电脑...
  10. ubantu14.4源更换