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以并发方式编写高性能端口扫描器的方法
Jun 14 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python numpy格式化打印的实例
May 14 Python
python基于itchat模块实现微信防撤回
Apr 29 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
简单了解django缓存方式及配置
Jul 19 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
给大家整理了19个pythonic的编程习惯(小结)
Sep 25 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
python 实现mysql自动增删分区的方法
Apr 01 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 飞信好友免费短信API接口开源版
2010/07/22 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
代码分析vue中如何配置less
2018/09/28 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
毕业生精彩的自我评价分享
2013/10/06 职场文书
幼教个人求职信范文
2013/12/02 职场文书
员工合理化建议书
2014/05/19 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
护士个人年终总结
2015/02/13 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
正则表达式基础与常用验证表达式
2022/06/16 Javascript
mysql sock文件存储了什么信息
2022/07/15 MySQL