python抽取一定比例数据_python批量将数据集按比例分成训练集和验证集

该博客介绍如何使用Python从图像数据集中按比例随机抽取一部分作为验证集,不参与模型训练。通过代码示例展示了如何修改文件夹路径和设置抽取比例,确保验证集的创建。
摘要由CSDN通过智能技术生成

深度学习实验中,为了更好的评估模型性能,往往需要从原始训练数据集中取出一部分作为验证集,完全不参与模型的训练。该代码将实现从一批图像数据集文件夹中,按照比例随机取出一部分数据作为验证集数据。

下图是本例子的文件夹结构,原来train文件夹下是5个以图像类别命名的文件夹,各个子文件夹是图像样本,需要建立一个val文件夹用来存放取出的图像数据,val文件夹下的子文件夹运行代码时候会自动创建。

代码如下,使用时候就修改文件夹路径,和所需的ratio值就行。

【代码更新于-2020.6.10,解决了之前子文件夹不能自动创建的问题】

# coding=utf-8

import os, random, shutil

def moveFile(fileDir):

pathDir = os.listdir(fileDir) # 取图片的原始路径

filenumber = len(pathDir)

picknumber = int(filenumber * ratio) # 按照rate比例从文件夹中取一定数量图片

sample = random.sample(pathDir, picknumber) # 随机选取picknumber数量的样本图片

for name in sample:

shutil.move(os.path.join(fileDir, name), os.path.join(tarDir, name))

return

if __name__ == '__main__':

ori_path = 'C:\\

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值