python按比例随机切分数据的实现


Posted in Python onJuly 11, 2019

在机器学习或者深度学习中,我们常常碰到一个问题是数据集的切分。比如在一个比赛中,举办方给我们的只是一个带标注的训练集和不带标注的测试集。其中训练集是用于训练,而测试集用于已训练模型上跑出一个结果,然后提交,然后举办方验证结果给出一个分数。但是我们在训练过程中,可能会出现过拟合等问题,会面临着算法和模型的选择,此时,验证集就显得很重要。通常,如果数据量充足,我们会从训练集中划分出一定比例的数据来作为验证集。

每次划分数据集都手动写一个脚本,重复性太高,因此将此简单的脚本放到自己的博客。代码如下:

import random

def split(full_list,shuffle=False,ratio=0.2):
  n_total = len(full_list)
  offset = int(n_total * ratio)
  if n_total==0 or offset<1:
    return [],full_list
  if shuffle:
    random.shuffle(full_list)
  sublist_1 = full_list[:offset]
  sublist_2 = full_list[offset:]
  return sublist_1,sublist_2


if __name__ == "__main__":
  li = range(5)
  sublist_1,sublist_2 = split(li,shuffle=True,ratio=0.2)

  print sublist_1,len(sublist_1)
  print sublist_2,len(sublist_2)

其中,main为测试代码。假如训练集给出的是一个文件,我们先将文件读到列表中,然后再调用split。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的Flask框架下收发电子邮件的教程
Apr 21 Python
在Python中用keys()方法返回字典键的教程
May 21 Python
Python管理Windows服务小脚本
Mar 12 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 Python
python 实现两个npy档案合并
Jul 01 Python
python性能测试工具locust的使用
Dec 28 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 #Python
Python循环结构的应用场景详解
Jul 11 #Python
python列表,字典,元组简单用法示例
Jul 11 #Python
python实现数据分析与建模
Jul 11 #Python
新手如何发布Python项目开源包过程详解
Jul 11 #Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 #Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 #Python
You might like
mysql+php分页类(已测)
2008/03/31 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
xtree.js 代码
2007/03/13 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
js处理表格对table进行修饰
2014/05/26 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
python实现倒计时的示例
2014/02/14 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
django数据库自动重连的方法实例
2019/07/21 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
python正则表达式实例代码
2020/03/03 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
毕业自我鉴定怎么写
2014/03/25 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
网站出售协议书范文
2014/10/10 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
2014年法院工作总结
2014/11/24 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python