Sklearn : train_test_split()函数的用法

train_test_split()函数 一、运用例子 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, 阅读详情

一、train_test_split官方文档链接

二、参数介绍
① X :(必需) 待划分的样本集
② y :(非必需) 样本标签target(如果你只是想把数据简单的分为两部分,不涉及分类算法等需要标注数据标签的情况就无须设置)
③ train_size : (非必需) int型或float型,整型表示划分后的数据个数;浮点型表示划分数据的比例。
④ test_size :(非必需) 同上
⑤ random_state :(非必需) int 类型,默认值为None。先笼统的认为是一个控制分裂过程随机性的一个参数。不用管内部实现过程。
⑥ shuffle :(非必需) 默认为True。控制拆分数据前,原始数据集是否需要打乱再拆分。
⑦ stratify :(非必需)

三、自己动手看一下效果
1. 自定义一个数据集:

import numpy as np

x = np.arange(1, 25).reshape(12, 2)
y = np.array([0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0])

print("原始数据集:\n",x)
print("数据标签:\n",y)

输出如下:

原始数据集:
 [[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]
 [13 14]
 [15 16]
 [17 18]
 [19 20]
 [21 22]
 [23 24]]
数据标签:
 [0 1 1 0 1 0 0 1 1 0 1 0]

2.先用最简单的执行方式,了解一下各个参数的作用
首先默认一切非必须参数为默认值:

from  sklearn.model_selection import train_test_split
x_train,x_test = train_test_split(x)
print("训练数据为:\n",x_train)
print("测试数据为:\n",x_test)

输出如下:

训练数据为:
 [[ 9 10]
 [13 14]
 [ 5  6]
 [11 12]
 [15 16]
 [21 22]
 [23 24]
 [ 7  8]
 [ 1  2]]
测试数据为:
 [[17 18]
 [19 20]
 [ 3  4]]

由于shuffle默认值为True,即原始数据在划分前做了打乱处理,因此分裂后的数据是乱序的。若此时重新执行当前代码,输出结果如下:

训练数据为:
 [[ 7  8]
 [23 24]
 [ 1  2]
 [ 3  4]
 [19 20]
 [15 16]
 [21 22]
 [17 18]
 [13 14]]
测试数据为:
 [[11 12]
 [ 5  6]
 [ 9 10]]

可以发现,输出变了,(emmm,大部分实验场景下,这种每次都变的输入并不利于后续的研究分析,应该避免,但是也不排除有些情况下,就是希望数据每次都不一样,OK,你自己判断一下。我不管。。。)。若要避免这种情况有两种解决方式,分别是设置shuffle和random_state,详情见3、4。

  1. 设置shuffle
    设置shuffle为False,即在拆分数据前,不对原始数据集进行打乱,但是划分结果后的数据按原始数据的顺序排列。
x_train,x_test = train_test_split(x,shuffle=False)

输出结果如下:

训练数据为:
 [[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]
 [13 14]
 [15 16]
 [17 18]]
测试数据为:
 [[19 20]
 [21 22]
 [23 24]]
  1. 设置random_state
    若你仍希望拆分前对原始数据集进行打乱处理,又希望每次重复执行你的代码时,划分后的数据能够相同,此时就可以设置rrandom_state,至于设置为多少我还没有搞懂,根据经验在1到10随便设置选一个整数就OK,结果没有影响。
x_train,x_test = train_test_split(x,random_state=1)

重复执行两次上述代码,划分后的数据集两次相同,输出结果如下:

训练数据为:
 [[21 22]
 [ 3  4]
 [13 14]
 [ 1  2]
 [15 16]
 [23 24]
 [19 20]
 [17 18]
 [11 12]]
测试数据为:
 [[ 5  6]
 [ 7  8]
 [ 9 10]]
  1. 设置stratify
    如果你的数据压根没有标签,就不用管这个参数;如果有标签,假设标签分别为0和1,表示正负样本,设置stratify就可以保证划分后的训练集和测试集中正负样本的比例近似相同。
x = np.arange(1, 25).reshape(12, 2)
y = np.array([0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0])
x_train, x_test, y_train, y_test = train_test_split(x, y, stratify=y)

输出结果如下:

数据标签:
 [0 1 1 0 1 0 0 1 1 0 1 0]
训练数据为:
 [[21 22]
 [ 3  4]
 [ 7  8]
 [17 18]
 [15 16]
 [ 1  2]
 [ 9 10]
 [13 14]
 [11 12]] 
训练数据标签为:
 [1 1 0 1 1 0 1 0 0]  #(emmm这里样本总个数太少了,不明显,你可以自己试一下大样本的结果)正负样本比例4/5
测试数据为:
 [[23 24]
 [ 5  6]
 [19 20]] 
测试数据标签为:        #正负样本比例2/1
 [0 1 0]
切分数据集(train_test_split),思路分享及手打代码和介绍sklearn中train_test_split,适合小白入门 本篇博客介绍train_test_split,步骤1-4是自己手打代码和思路分享,步骤5介绍如何使用sklearn中的train_test_split,步骤3有介绍随机种子哦,简单易懂,适合小白入门 1 切分数据集 前言:机器学习就是把数据扔进算法,训练出模型(参数),用模型对未知数据进行预测。 谈一谈为什么要切分数据集: ①如果直接把全部数据都扔给算法得到模型然后再对数据(用于训练模型的数据)进... 阅读详情

相关推荐

「免费开源」从 OCR 识别到结构化输出:合同文本高效比对的完整解决方案!

本文将系统拆解这一解决方案的技术逻辑、实施步骤与落地价值,为企业合同管理数字化转型提供实操指南。字段提取:自动识别并提取预设的关键字段(如 “甲方”“乙方”“合同金额”“履约期限” 等),若遇到模糊表述(如 “付款时间为合同签订后 30 个工作日内”),系统可自动解析为 “履约期限:合同签订日 + 30 工作日”;预设结构化字段:根据合同类型(如采购合同、服务合同、租赁合同),定义需提取的关键字段(如 “甲方名称”“乙方名称”“合同金额”“有效期起 / 止日期”“履约地点”“违约金比例” 等);

qxsz_yyh的博客 836

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

train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签。 train_test_split()函数是用来随机划分样本数据为训练集和测试集的,当然也可以人为的切片划分。 优点:随机客观的划分数据,减少人为因素 完整模板: train_X,test_X,train_y,test_y = train_test_split(tr...

ZL_Shenhaiyu的博客 6467

模拟调制系统实战:从AM到FM的5种调制方式对比与选型指南

本文深度解析AM、DSB、SSB、VSB、FM五种经典模拟调制方式,从实现电路、频谱效率、抗噪性能及工程成本等维度进行实战对比。通过MATLAB/Simulink仿真案例,提供清晰的选型决策框架,帮助工程师在无人机图传、短波通信、广播系统等具体项目中,根据带宽、功耗和抗干扰需求选择最优方案。

study的专栏 932

详解train_test_split()函数(官方文档有点不说人话)

1.完整用法 sklearn.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None) 分裂数组或矩阵为随机的训练和测试子集 是一个快速实用的工具,能够包装输入验证、next(ShuffleSplit().split(X,y))以及应用,然后将数据输入到单个调用中,以便在一行中拆分(也可以选择子采样)数据。 2.

qq_41904729的博客 2万+

SerDes硬件设计原理介绍

接收端:外部差分串行数据------线性均衡器----(CDR从数据中恢复出采样时钟)-----解串器(串行信号转并行信号)-------8B/10B的解码器或解扰器-----FIFO-----FPGA接受差分并行数据。发送端: FPGA发送差分并行数据----FIFO------8B/10B编码器或者扰码器-----串行器(并行信号转串行信号)-----均衡器(滤波)--------TX串行信号差分外发。串行器:8bit的并行数据----2bit的并行数据----1bits的串行数据。

weixin_42304393的博客 1109

树莓派c语言串口通讯程序

在网上搜了很多关于树莓派串口通讯的例子,但是都是用python写的,虽然python很有名,而且最近也在学习这门语言, 但是还是想用c语言实现一下,因为需要用到整套系统里,其他内容都是用c语言写的。但是网上没有找打现成的。 还好,之前做过天嵌2440开发板的串口程序(参照天嵌工程师提供的代码),发现串口程序其实是通用的, 驱动层屏蔽了硬件细节,个人猜测,几乎所有移植好的系统的串口,都可以用一

realank的专栏 1万+

sklearn函数:train_test_split(分割训练集和测试集)

函数的功能是分割训练集和测试集。

daijingxin的博客 2051

华为防火墙双线路配置实战:5分钟搞定主备自动切换(含健康检查避坑指南)

本文详细介绍了华为防火墙双线路配置实战,包括主备自动切换和健康检查机制的优化技巧。通过智能健康检查机制,华为防火墙能实现毫秒级故障自动切换,确保网络高可用性。文章提供了从架构设计到实战配置的全流程指南,并分享了常见配置误区与解决方案,帮助中小企业快速搭建稳定可靠的网络架构。

weixin_30872337的博客 605

python机器学习 train_test_split()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解

文章目录train_test_split()用法获取数据划分训练集和测试集完整代码脚手架 train_test_split()用法 python机器学习中常用 train_test_split()函数划分训练集和测试集,其用法语法如下: X_train, X_test, y_train, y_test = train_test_split(train_data, train_target, test_size, random_state, shuffle) 变量 描述 X_train 划

侯小啾技术博客 11万+

学Simulink--机器人基础关节控制场景实例:基于Simulink的无刷直流电机(BLDC)关节六步换相位置控制仿真

本文详细介绍了基于Simulink的BLDC六步换相位置控制仿真方法,针对机器人关节的低成本控制需求。重点阐述了霍尔定位、六步换相和位置闭环三大核心原理,通过Simulink建模实现了从霍尔信号处理到位置环控制的全流程。仿真结果表明,该系统可实现0.3°的定位精度和80ms的响应时间,满足教育机器人等应用场景需求。文章还提供了核心代码模块和参数设置方法,并探讨了转矩脉动抑制、无传感器控制等进阶优化方向,为低成本机器人关节驱动提供了实用解决方案。

amy_mhd的博客 152

C++实现复制粘贴文本功能

要实现这个功能,我们需要使用操作系统提供的函数来操作剪贴板。在Windows操作系统中,我们可以使用Windows API函数来访问剪贴板。总结起来,使用C++实现复制和粘贴文本功能涉及使用操作系统提供的API函数来操作剪贴板。在本篇文章中,我将向您展示如何使用C++编程语言实现复制和粘贴文本的功能。我们将使用操作系统提供的API来进行剪贴板操作,并编写相应的代码来完成这个任务。如果您使用的是Linux操作系统,您需要使用适当的库和函数来访问剪贴板。函数中,我们首先将一个字符串复制到剪贴板中,然后使用。

PixelDyno的博客 1233

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

Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略 目录 sklearn中的train_test_split函数的简介 train_test_split使用方法 1、基础用法 sklearn中的train_test_split函数的简介 官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.tra...

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 2万+

基于 STM32 设计的 HC05 蓝牙音箱

本项目介绍如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。该音箱可以接收来自手机或其他蓝牙设备的音频数据,并通过扬声器播放。该项目展示了如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。易于实现功能实用可扩展性强如果您需要开发一个蓝牙音箱,该项目可以作为参考。

走向CTO的路上... 2471

sklearn中train_test_split()函数详解

train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签。 corpus总数为10001条的数据,train_X, test_X为文本数据,train_Y, test_Y为标签数据 test_size = 0.3 train_X, test_X, train_Y, test_Y = train_test_split(cor...

weixin_40547993的博客 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Sklearn的train_test_split用法

用途在机器学习中,该函数可按照用户设定的比例,随机将样本集合划分为训练集 和测试集,并返回划分好的训练集和测试集数据。语法X_train,X_test, y_train, y_test =cross_validation.train_test_split(X,y,test_size, random_state)参数说明 Code Text X 待划分的样本特征集合 y 待划分的

fxlou的博客 8万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

sklearn的train_test_split()各函数参数含义解释

在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从 sklearn.model_selection 中调用train_test_split 函数 简单用法如下: X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train) # train_data:所要划分的

zjmy的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

sklearn.model_selection.train_test_split 用法

sklearn之前没有接触过,以练代学了。常用的用法记录下来,这样才能慢慢总结。 sklearn.model_selection.train_test_split 用法 在使用python做机械学习时候,为了制作训练数据(training samples)和测试数据(testing samples),常使用sklearn里面的 sklearn.model_selection.trai

鱼霸 3万+

train_test_split用法

sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split 一般形式:

MRxjh的博客 9万+

sklearn之train_test_split()函数各参数含义(非常全)

转载于:https://www.cnblogs.com/Yanjy-OnlyOne/p/11288098.html 作者:The-Chosen-One 在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从 sklearn.model_selection 中调用train_test_split 函数 简单用法如下: X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,tra

Andrew_SJ的博客 3219

sklearn中的train_test_split()函数解析

train_test_split函数参数解析

W153633的博客 5321

sklearn之train_test_split()函数各参数含义

在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从 sklearn.model_selection 中调用train_test_split 函数 简单用法如下: X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)# train_data:所要划.

3528

train_test_split 函数 

在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从 sklearn.model_selection 中调用train_test_split 函数 简单用法如下: X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)# train_data:所要划.

人的抱怨源自,自我无能的愤怒 1万+

sklearn.model_selection.train_test_split模块

在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,通常使用sklearn.model_selection里的train_test_split模块用来分割数据。 备注: 旧版本中,使用sklearn.cross_validation里的train_test_split模块用来分割数据。新版本中,cross_validation已经弃用,现在改为从 sklearn.model_se...

Yale-曼陀罗 3241

sklearn.model_selection中train_test_split()函数

train_test_split()是sklearn.model_selection中的分离器函数,用于将数组或矩阵划分为训练集和测试集,函数样式为: X_train, X_test, y_train, y_test = train_test_split(train_data, train_target, test_size, random_state,shuffle) 参数解释: train_...

技术分享 2万+

python train test split_sklearn函数:train_test_split(分割训练集和测试集)

sklearn.model_selection.train_test_split(*arrays,**options)函数官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_spl...

weixin_39982452的博客 1845
下一篇: conda常用命令总结(持续更新)
DebugYing
博客等级 码龄7年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值