无论是做机器学习还是深度学习,有个叫做数据集的东西不可忽视,有时候数据集的好坏会影响最后学习的效果。特别是没有现成处理好的数据集时需要我们自己动手搜集整理得到训练和测试的数据集。
我在处理数据集的时候喜欢把数据放在一个列表,label放在一个一个列表,然后利用sklearn.model_selection中的train_test_split函数来分割得到训练集和数据集。该函数的具体返回值和用法如下:

train_x,test_x,train_y,test_y = train_test_split(datas,labels,test_size=0.3,random_state=42)

datas:为数据集
labels:为数据集对应的分类
test_size:测试集占所有数据的比例
random_state:具体作用暂时未知(我踩的坑可能和它有关,后面写代码测试一下)

from sklearn.model_selection import train_test_split
import numpy as np
class0 = ['a','b','c','d','e']
label_0 = np.zeros(len(class0))
class1 = ['1','2','3','4','5']
label_1 = np.ones(len(class1))datas = np.hstack((class0,class1))
labels = np.hstack((label_0,label_1))#这是我的用法
train_x,test_x,train_y,test_y = train_test_split(datas,labels,test_size=0.3)
print(train_x)
print(test_x)
print(train_y)
print(test_y)#测试一下参数random_state=42
train_x,test_x,train_y,test_y = train_test_split(datas,labels,test_size=0.3,random_state=2)
print(train_x)
print(test_x)
print(train_y)
print(test_y)

通过代码测试,我踩的坑果然和random_state这个参数有关,当忽略这个参数时每次运行得到两个分组都是随机的,每次可能都不一样,当设置random_state之后多次运行的分组结果相同。在网上看都让random_state=42,具体不知为啥,有兴趣可以探究一下,我把它设为2得到的结果也不发生变化。

作为一个严谨的我怎么能容忍不知道这个random_state是为啥呢?所以我就去查了一下。
当random_state=1,会生成一组随机数
当random_state=2, 会生成另一组随机数
。。。
这个是一一对应的,random_state=1,就固定得到那组随机数。

sklearn.model_selection中train_test_split的坑相关推荐

  1. python打包exe 之打包sklearn模型中的各种坑及其解决方法。

    之前学习了如何打包,如何建立虚拟环境打包,以及如何带资源打包exe. python打包成exe 可执行文件 .教程 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标, ...

  2. sklearn.model_selection.train_test_split随机划分训练集和测试集

    1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...

  3. [Python+sklearn] 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split()

    Python - sklearn 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split() 功能: 将数组或矩阵拆分为随机的训练子集和测试子集 ...

  4. 机器学习sklearn.model_selection.train_test_split函数使用

    splitting = train_test_split(*arrays,**options) 如: X_train, X_test, y_train, y_test = train_test_spl ...

  5. 切分数据集(train_test_split),思路分享及手打代码和介绍sklearn中train_test_split,适合小白入门

    本篇博客介绍train_test_split,步骤1-4是自己手打代码和思路分享,步骤5介绍如何使用sklearn中的train_test_split,步骤3有介绍随机种子哦,简单易懂,适合小白入门 ...

  6. 阅读源码系列:sklearn中train_test_split使用及源码学习

    引言 最近用到了sklearn中的train_test_split,感觉很好用,想来实现也不是特别复杂,于是想着看一下源码,学习一下大佬的写法 使用方法 >>> import num ...

  7. sklearn中sklearn.model_selection的应用与实践

    强大的sklearn库可以解决的问题: train_test_split返回切分的数据集train/test: train_test_split(*array,test_size=0.25,train ...

  8. 【模型评估与选择】sklearn.model_selection.train_test_split

    1. 描述 Split arrays or matrices into random train and test subsets 2. 语法 train_test_split(*arrays, ** ...

  9. sklearn中train_test_split函数中的random_state有什么用?

    我们先生成下面的训练数据. import numpy as np from sklearn.model_selection import train_test_split #生成训练数据 x=np.l ...

最新文章

  1. tableau和powerbi的联系和区别
  2. 16.1116 NOIP 考前模拟(信心题)
  3. 基于python技术的自动化运维是干嘛的_如何理解Python与自动化运维的关系。?
  4. Hadoop Mapreduce 调优
  5. 中消协发布疫情期间消费维权热点:口罩类投诉最多
  6. 计算机科学与技术探索,计算机科学与技术的发展趋势探索
  7. PHP用substr截取字符串出现中文乱码问题用mb_substr
  8. git 分支管理策略(7)
  9. java和xampp_XAMPP和Bugfree详细教程
  10. 矩阵连乘最佳加括号方式-动态规划算法
  11. HoudahSpot 6.2 for Mac文件搜索软件
  12. CentOS 7忘记root密码解决办法
  13. leetcode每日一练(第一天)
  14. idea 打包不出现target的原因
  15. 计算机连上wifi无法上网了,WiFi已连接不可上网怎么办
  16. 《写给大家看的设计书》(第四版)分享
  17. 【Verilog数字系统设计——完成如下公式所表示的逻辑功能模块】
  18. 外国优秀网页html,200个优秀的国外设计网站推荐
  19. C# HttpWebRequest 模拟下载
  20. filco蓝牙不好用_FilcoMinilaAir蓝牙机械键盘使用感受,做工精细手感优良但并不完美...

热门文章

  1. python判断性别程序_python 实现性别识别
  2. 边缘计算安全技术综述
  3. 作者:Anjaneyulu Passala, 男,印度理工学院计算机科学与工程学院博士,印孚瑟斯技术有限公司主任研究科学家。...
  4. 作者:房毓菲(1990-),女,就职于国家信息中心信息化研究部,中国智慧城市发展研究中心政策研究组副组长。...
  5. 作者:叶郁文,男,中兴通讯股份有限公司产品规划部长。
  6. oracle PL/SQL编程基础
  7. 【离散数学】幂集的求解
  8. 需求分析——调研需求时如何调查系统相关者?
  9. HTML5 入门详解
  10. Solidity 简易教程0x001