将数据集按比例随机分成训练集和验证集

将数据集按比例随机分成训练集和验证集

训练数据集时往往需要把数据集进行随机分配,该代码可以很好的实现对数据集按比例分配,代码如下:

import os, random, shutil
def moveFile(fileDir):
        pathDir = os.listdir(fileDir)    #取图片的原始路径
        filenumber=len(pathDir)
        rate=0.1    #自定义抽取图片的比例,比方说100张抽10张,那就是0.1
        picknumber=int(filenumber*rate) #按照rate比例从文件夹中取一定数量图片
        sample = random.sample(pathDir, picknumber)  #随机选取picknumber数量的样本图片
        print (sample)
        for name in sample:
                shutil.move(fileDir+name, tarDir+name)
        return

if __name__ == '__main__':
	fileDir = "/home/nuaa301/yangshuang/MathModel/datasets3/train/300/"    #源图片文件夹路径
	tarDir = '/home/nuaa301/yangshuang/MathModel/datasets3/test/300/'    #移动到新的文件夹路径
	moveFile(fileDir)

代码实现从原文件夹内抽出0.1比例的数据作为验证集,其余剩下的为训练集。

你可能感兴趣的:(代码,python)