zoukankan      html  css  js  c++  java
  • python按比例随机切分数据

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

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

      

     1 import random
     2 
     3 def split(full_list,shuffle=False,ratio=0.2):
     4     n_total = len(full_list)
     5     offset = int(n_total * ratio)
     6     if n_total==0 or offset<1:
     7         return [],full_list
     8     if shuffle:
     9         random.shuffle(full_list)
    10     sublist_1 = full_list[:offset]
    11     sublist_2 = full_list[offset:]
    12     return sublist_1,sublist_2
    13 
    14 
    15 if __name__ == "__main__":
    16     li = range(5)
    17     sublist_1,sublist_2 = split(li,shuffle=True,ratio=0.2)
    18 
    19     print sublist_1,len(sublist_1)
    20     print sublist_2,len(sublist_2)

      其中,main为测试代码。假如训练集给出的是一个文件,我们先将文件读到列表中,然后再调用split。

  • 相关阅读:
    jQuery 笔记
    centos 项目上线shell脚本
    linux关于用户密码家目录总结
    python 写了一个批量拉取文件进excel文档
    css 选择器/table属性/type 属性
    表单
    html table
    html超文本标记语言
    mysql数据库1
    mysql数据库
  • 原文地址:https://www.cnblogs.com/houjun/p/9766781.html
Copyright © 2011-2022 走看看