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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
Python中的ConfigParser模块使用详解
May 04 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
详解如何减少python内存的消耗
Aug 09 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
python可以用哪些数据库
Jun 22 Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
Python爬虫基础初探selenium
May 31 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 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
用穿越火线快速入门php面向对象
2012/02/22 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
优化Python代码使其加快作用域内的查找
2015/03/30 Python
python相似模块用例
2016/03/04 Python
Python 操作文件的基本方法总结
2017/08/10 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
python实现烟花小程序
2019/01/30 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
法定代表人授权委托书
2014/04/04 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
品质口号大全
2014/06/17 职场文书
银行求职自荐书
2014/06/25 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
募捐感谢信
2015/01/22 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
创业计划书之网吧
2019/10/10 职场文书
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android