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 threading多线程编程实例
Sep 18 Python
python检测是文件还是目录的方法
Jul 03 Python
轻松理解Python 中的 descriptor
Sep 15 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
Python中max函数用于二维列表的实例
Apr 03 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
python:print格式化输出到文件的实例
May 14 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
python 绘制正态曲线的示例
Sep 24 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
tensorflow中的数据类型dtype用法说明
May 26 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
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
js三种排序算法分享
2012/08/16 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
python爬虫 正则表达式解析
2019/09/28 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
大学生个人自我鉴定
2013/12/03 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
个人整改措施书面材料
2014/10/24 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
初中差生评语
2014/12/29 职场文书
销售辞职信范文
2015/03/02 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
秋收起义观后感
2015/06/11 职场文书
珍爱生命主题班会
2015/08/13 职场文书
创业计划书之物流运送
2019/09/17 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
Python编解码问题及文本文件处理方法详解
2021/06/20 Python