python按比例随机切分数据的实现

 更新时间:2019年07月11日 09:49:38   作者:HOU_JUN  
这篇文章主要介绍了python按比例随机切分数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在机器学习或者深度学习中,我们常常碰到一个问题是数据集的切分。比如在一个比赛中,举办方给我们的只是一个带标注的训练集和不带标注的测试集。其中训练集是用于训练,而测试集用于已训练模型上跑出一个结果,然后提交,然后举办方验证结果给出一个分数。但是我们在训练过程中,可能会出现过拟合等问题,会面临着算法和模型的选择,此时,验证集就显得很重要。通常,如果数据量充足,我们会从训练集中划分出一定比例的数据来作为验证集。

每次划分数据集都手动写一个脚本,重复性太高,因此将此简单的脚本放到自己的博客。代码如下:

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 Threading 线程/互斥锁/死锁/GIL锁

    Python Threading 线程/互斥锁/死锁/GIL锁

    这篇文章主要介绍了Python Threading 线程/互斥锁/死锁/GIL锁的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python Pyqt5多线程更新UI代码实例(防止界面卡死)

    Python Pyqt5多线程更新UI代码实例(防止界面卡死)

    这篇文章通过代码实例给大家介绍了Python Pyqt5多线程更新UI防止界面卡死的问题,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-12-12
  • Python地图四色原理的遗传算法着色实现

    Python地图四色原理的遗传算法着色实现

    大家好,本篇文章主要讲的是Python地图四色原理的遗传算法着色实现,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • django定期执行任务(实例讲解)

    django定期执行任务(实例讲解)

    下面小编就为大家带来一篇django定期执行任务(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 使用TensorFlow对图像进行随机旋转的实现示例

    使用TensorFlow对图像进行随机旋转的实现示例

    这篇文章主要介绍了使用TensorFlow对图像进行随机旋转的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python实现的Excel文件读写类

    Python实现的Excel文件读写类

    这篇文章主要介绍了Python实现的Excel文件读写类,涉及Python针对Excel常见的读写、打印等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python设计模式中的创建型工厂模式

    Python设计模式中的创建型工厂模式

    这篇文章主要介绍了Python设计模式中的创建型工厂模式,工厂模式即Factory Pattern,是提供创建对象的最佳方式,下文小编介绍Python工厂模式的相关资料,需要的朋友可以参考一下
    2022-02-02
  • 使用matplotlib修改坐标轴,将y轴的间距设置为某一个值

    使用matplotlib修改坐标轴,将y轴的间距设置为某一个值

    这篇文章主要介绍了使用matplotlib修改坐标轴,将y轴的间距设置为某一个值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 如何使用Python创建json文件

    如何使用Python创建json文件

    众所周知JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,这篇文章主要给大家介绍了关于如何使用Python创建json文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • python mysql中in参数化说明

    python mysql中in参数化说明

    这篇文章主要介绍了python mysql中in参数化说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论