数据集按3:7分成测试集和训练集(python)
- 文件放置位置如下:
cat文件夹下图片名称为:(共有38张图片)
代码:
import numpy as np
import os, sys
import os.path
from PIL import Image
url = 'G:/data_image/cat/'#图片存储的文件夹名称
classname = 'cat.'#图片的名字中字符部分
n=38#图片的数量
array = np.arange(n)#产生长度为n的序列
np.random.shuffle(array)#将arrray序列随机排列
#把path文件夹下以及其子文件下的所有.jpg图片移动到new_path文件夹下
def moveImg(path,new_path):
img=Image.open(path)
img.save(os.path.join(new_path,os.path.basename(path)))
#30%的数据生成验证集
new_path='G:/data_image/val/'
i=0
while(i <= (int(n*0.3))):
DatasetPath = url + classname + str(array[i]) + '.jpg'
moveImg(DatasetPath,new_path)
i=i+1
#70%的数据生成训练集
new_path='G:/data_image/train/'
while(i <= (n-1)):
DatasetPath = url + classname + str(array[i]) + '.jpg'
moveImg(DatasetPath,new_path)
i=i+1