sklearn中的train_test_split()函数解析
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 | 测试标签集 |
- 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()函数解析相关推荐
- Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略
Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略 目录 sklearn中的train_test_split函数的简介 train_tes ...
- sklearn中的train_test_split函数
train_test_split函数用于将数据集随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签. X_train,X_test, y_train, y_test =cr ...
- 机器学习入门之机器学习sklearn中的train_test_split()函数
http://study.zhizuobiao.com/study-19062600022/
- Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略
Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略 目录 sklearn中的RobustScaler 函数的简介及使用方法 sklearn中的R ...
- rectpuls函数 matlab,Matlab中的rectpuls函数解析
Matlab中的rectpuls函数解析 Matlab中的rectpuls函数解析 1.先看Matlab中的解释: This MATLAB function returns a continuous, ...
- sklearn中的XGBClassifier函数学习
# 常规参数 booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分类器 silent silent=0时,不输出中间过程(默认) silent=1时,输出中间过程 ...
- Python3.6机器学习sklearn中导入train_test_split库出错“Unresolved reference ‘train_test_split’”
直接上图: 原因: 在python2中是使用sklearn.cross_validation该方式导入train_test_split模块,在python3.6中sklearn已弃用train_tes ...
- 【Python】sklearn 中的 make_blobs() 函数详解
文章目录 一.介绍 二.函数的使用 一.介绍 make_blobs() 是 sklearn.datasets中的一个函数. 主要是产生聚类数据集,产生一个数据集和相应的标签. 函数的源代码如下: de ...
- Pytorch中torch.argmax()函数解析
一. torch.argmax()函数解析 1. 官网链接 torch.argmax(),如下图所示: 2. torch.argmax(input)函数解析 torch.argmax(input) → ...
最新文章
- obj是什么意思_为什么要学正则表达式 - 3
- anaconda虚拟环境教程大全
- 网页客户端调用gSoap发布服务,以及中文乱码问题
- vscode格式化关于符合eslint检测语法配置
- 负债人有尊严吗?我觉得真的没有
- 3个最典型的图表错误使用方式,赶紧看看自己是否中招
- doc转docx文件会乱吗_利用python将doc文件转换为docx
- javascript类式继承函数最优版
- http://www.duilib.cc
- linux vi 软件 下载,在Linux系统中下载安装Vim 8
- python爬取西刺网代理IP地址
- 小学计算机的一些课题,小学信息技术小课题研究.doc
- java word文档内容比较_Java 比较两个Word文档差异
- CountDownLatch倒计数锁存器(Latch:门闩[shuan])
- win10管理员已阻止你运行此应用解决方法
- python查看手机上wifi密码_忘了wifi密码怎么办?用Python查!
- Java 3D 开发
- 求1-1/2+1/3-1/4+...+1/99-1/100
- 人工智能实训室解决方案
- KaTex公式居左对齐
热门文章
- 查看笔记本能不能用独显连接外部显示器的方法
- PNAS:人类、非人灵长类动物和小鼠的大脑皮层折叠、分割和连通性
- ElasticsearchJDK版本要求
- 64-bit版本的Windows7完美安装USB下载驱动
- Python编程--使用PyPDF解析PDF文件中的元数据
- antd-- table表格排序
- float和double的区别
- USB-C PD多协议快充取电协议芯片,专为小家电市场打造
- python数据处理电脑配置_『大数据python计算机基础教学视频教程』入门学python需要什么配置的电脑...
- ubantu14.4源更换