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读取浮点数和读取文本文件示例
May 06 Python
Python深入学习之特殊方法与多范式
Aug 31 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
python解决网站的反爬虫策略总结
Oct 26 Python
TensorFlow的权值更新方法
Jun 14 Python
Django框架的中的setting.py文件说明详解
Oct 15 Python
举例讲解Python常用模块
Mar 08 Python
Django中的用户身份验证示例详解
Aug 07 Python
pytorch 固定部分参数训练的方法
Aug 17 Python
python函数修饰符@的使用方法解析
Sep 02 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
python 远程执行命令的详细代码
Feb 15 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编程注意事项的小结
2013/04/27 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php生成excel列序号代码实例
2013/12/24 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
php修改数组键名的方法示例
2017/04/15 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
python是怎么被发明的
2020/06/15 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
物业总经理助理岗位职责
2014/06/29 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js