python训练集测试集分配

这段代码实现了一个功能,根据指定的路径和比例,将文件夹中的图片文件智能地划分为训练集和测试集。首先,创建并清理了train和test两个文件夹,然后按比例随机选择文件移动到训练集,剩下的文件则移动到测试集,确保了数据集的划分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import os
import random
import shutil

path = input("请输入原始文件路径: ")
path = path.strip("\"")

percent = 0.7  # 训练集测试集分配比例
filenames = os.listdir(path)

trainDir = "train/"
testDir = "test/"

if not os.path.exists(trainDir):
    os.makedirs(trainDir)
else:
    print("train文件夹已创建")
    shutil.rmtree(trainDir) # 删除原文件夹
    os.makedirs(trainDir) # 创建新文件夹

if not os.path.exists(testDir):
    os.makedirs(testDir)
else:
    print("test文件夹已创建")
    shutil.rmtree(testDir) # 删除原文件夹
    os.makedirs(testDir) # 创建新文件夹

"""将设定的比例文件随机移动到train文件夹"""
resultlist = random.sample(range(1, len(filenames)+1), len(filenames))
print(resultlist)
# cnt = 1
for i in range(0,int(len(filenames)*percent)+1):
    movedFile = path + "/handle_" + "%04d"%resultlist[i] + ".jpg"
    # print(movedFile)
    # cnt +=1
    shutil.copy(movedFile, trainDir) # 复制文件到train文件夹
    # print(i)

print("训练集分配完成")

""" 将剩余文件移动到test文件夹 """
for i in range(int(len(filenames)*percent)+1,len(filenames)):
    # print(i)
    movedFile = path + "/handle_" + "%04d" % resultlist[i] + ".jpg"
    shutil.copy(movedFile, testDir) # 复制文件到test文件夹

print("测试集分配完成")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值