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 将大文件切分为多个小文件的实例Python 最大概率法进行汉语切分的方法分享Python切分字符
串的一个不错方法python实现根据文件关键字进行切分为多个文件的示例Python数据集切分实例实例分析python3实现并发访
问水平切分表Ubuntu下使用Python实现游戏制作中的切分图片功能python实现按行切分文本文件的方法
评论0