python简单实用的划分分类数据集预处理方法

更新时间:2023-06-18 15:44:16 阅读: 评论:0

python简单实⽤的划分分类数据集预处理⽅法
东北娘们儿python 简单实⽤的划分分类数据集预处理⽅法
使⽤背景
当训练数据的时候,找到⼀个数据集,专业的数据集⾥⾯并不会帮你划分好训练集测试集等。⽬的是给⽤户更好地⾃定义使⽤。⽽我们训练模型之前必须分出训练集和测试集。据了解pytorch 训练库没有提供关于数据集划分的处理⽅法。以下是⼀个简单的脚本,只需要输⼊训练集的路径,以及调节训练集测试集的⽐例,即可分出两个数据集,简单实⽤。
具体办法
很简单,⼏个步骤
1. 在数据集所在的路径同级⽬录创建⼀个train,test⽂件夹。
2. 如果是分类模型,继续在 train,test⽂件夹下创建分类的⽂件夹。
3. 将数据集打乱后按照⽐例复制粘贴到train,test⽂件夹。
代码
直接上代码:
# -*- coding: utf-8 -*-
import os
import random
import shutil
上火的食物#⽤于复制粘贴
# 将数据集分为两份,重新的复制粘贴到⼀个新的⽂件夹之后
def extract_t(trainSet_rate:float,org_path:str):
class_path = os.listdir(path)  # 分类的⽂件夹,⽤于遍历划分和创建新的⽂件夹
# ==============================================================
# 创建⽂件夹,必须是在于所有数据集的⽂件上⼀级创建 train test ,
# 已经创建了先注释掉,除了新建⼀个 test ,train
# ⽂件夹之外还需要继续创建train,test 下⾯的分类的⽂件夹
upper_path = os.path.abspath(os.path.dirname(path))  # 上⼀级的⽬录
if not ists(os.path.join(upper_path, r"train")):
# print("no exist")
os.mkdir((os.path.join(upper_path, "train")))
if not ists(os.path.join(upper_path, r"test")):
# print("no exist")一片叶
os.mkdir(os.path.join(upper_path, "test"))
# 创建原有的数据集中每个分类的⽂件夹
for i in class_path:
if not ists(os.path.join(upper_path, "train/{}".format(i))):
# print("no exist")
os.mkdir((os.path.join(upper_path, "train/{}".format(i))))excel创建组
if not ists(os.path.join(upper_path, "test/{}".format(i))):王一硕
#print("no exist")
os.mkdir(os.path.join(upper_path, "test/{}".format(i)))
圆怎么组词# ==============================================================
for i in class_path:
content_name_list = os.listdir(os.path.join(path, i))  # 未分配数据集之前训练数据⽂件名,⾮路径)        total = len(content_name_list)  # 总数量
train_len = int(total * trainSet_rate)  # 分配训练集和测试集
random.shuffle(content_name_list)  # 将数据集随机错乱
trainSet_path = content_name_list[:train_len:]  # 训练集的所有数据
兔的成语大全testSet_path = content_name_list[train_len::]  # 测试集的所有数
#复制
练背的健身器材
for j in trainSet_path:
if __name__ == '__main__':
trainSet_rate = 0.7 #训练集:测试集 = 7:3
path = "..../ten_annimals/raw-img" #初始数据集路径
extract_t(trainSet_rate=trainSet_rate,org_path=path)

本文发布于:2023-06-18 15:44:16,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/984218.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   训练   划分
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图