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对字典进行排序实例
Sep 25 Python
Python实现文件复制删除
Apr 19 Python
django静态文件加载的方法
May 20 Python
python批量修改文件编码格式的方法
May 31 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
python实现梯度下降法
Mar 24 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 Python
Pycharm plot独立窗口显示的操作
Dec 11 Python
Django权限控制的使用
Jan 07 Python
python中time.ctime()实例用法
Feb 03 Python
Python实现文本文件拆分写入到多个文本文件的方法
Apr 18 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
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
详解python中的模块及包导入
2019/08/30 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
建筑人员岗位职责
2013/12/25 职场文书
合作协议书范本
2014/04/17 职场文书
党员检讨书
2014/10/13 职场文书
2014年学校工作总结
2014/11/20 职场文书
销售内勤岗位职责
2015/02/10 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
《植树问题》教学反思
2016/03/03 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers