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使用py2exe打包程序介绍
Nov 20 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 Python
利用python批量给云主机配置安全组的方法教程
Jun 21 Python
Python函数装饰器实现方法详解
Dec 22 Python
Python中Numpy mat的使用详解
May 24 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
Python 实现还原已撤回的微信消息
Jun 18 Python
python getpass实现密文实例详解
Sep 24 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
Django扫码抽奖平台的配置过程详解
Jan 14 Python
Django基础CBV装饰器和中间件
Mar 22 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的数据库接口和技术
2016/12/09 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
用python实现面向对像的ASP程序实例
2014/11/10 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Django 路由控制的实现代码
2018/11/08 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
学生就业推荐信
2013/11/13 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
Windows server 2016服务器基本设置
2022/08/14 Servers