数据集划分——训练集、测试集、验证集按照7:1:2

数据集划分——训练集、测试集、验证集按照7:1:2

前面我对乳腺超声图像数据库进行数据增强,得到:
在这里插入图片描述
然后对数据集进行划分,按照训练集、测试集、验证集7:1:2的比例。
代码:

import os
import random
import shutil
from shutil import copy2

"""os.listdir会将文件夹下的文件名集合成一个列表并返回"""


def getDir(filepath):
    pathlist = os.listdir(filepath)
    return pathlist


"""制作五类图像总的训练集,验证集和测试集所需要的文件夹,例如训练集的文件夹中装有五个文件夹,这些文件夹分别装有一定比例的五类图像"""


def mkTotalDir(data_path):
    os.makedirs(data_path)
    dic = ['train', 'val', 'test']
    for i in range(0, 3):
        current_path = data_path + dic[i] + '/'
        # 这个函数用来判断当前路径是否存在,如果存在则创建失败,如果不存在则可以成功创建
        isExists = os.path.exists(current_path)
        if not isExists:
            os.makedirs(current_path)
            print('successful ' + dic
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要实现自定义的 YOLO 格式数据集,并将其按照 8:2 的比例划分训练集测试集,您可以按照以下步骤进行操作: 1. 创建 YOLO 数据集文件夹:首先,创建一个文件夹来存储您的 YOLO 数据集,包括图像和标注文件。 2. 准备图像和标注文件:将您的图像文件(.jpg 或 .png 格式)和对应的标注文件(.txt 格式)放入数据集文件夹中。确保每个图像都有对应的标注文件,标注文件中包含了目标的类别和边界框坐标。 3. 划分训练集测试集:使用 Python 的 `random` 模块来随机划分数据集训练集测试集。 ```python import os import random from shutil import copyfile def split_dataset(dataset_dir, train_dir, test_dir, split_ratio): # 创建训练集测试集文件夹 os.makedirs(train_dir, exist_ok=True) os.makedirs(test_dir, exist_ok=True) # 获取数据集中所有图像的文件名 image_files = [f for f in os.listdir(dataset_dir) if f.endswith('.jpg')] # 随机打乱图像文件列表 random.shuffle(image_files) # 计算训练集测试集划分点 split_point = int(len(image_files) * split_ratio) # 将图像文件拷贝到训练集测试集文件夹中 for i, image_file in enumerate(image_files): src_image_path = os.path.join(dataset_dir, image_file) if i < split_point: dst_image_path = os.path.join(train_dir, image_file) else: dst_image_path = os.path.join(test_dir, image_file) copyfile(src_image_path, dst_image_path) # 将对应的标注文件也进行拷贝 annotation_file = os.path.splitext(image_file)[0] + '.txt' src_annotation_path = os.path.join(dataset_dir, annotation_file) if i < split_point: dst_annotation_path = os.path.join(train_dir, annotation_file) else: dst_annotation_path = os.path.join(test_dir, annotation_file) copyfile(src_annotation_path, dst_annotation_path) # 设置数据集目录、训练集目录、测试集目录和划分比例 dataset_dir = 'path/to/dataset' train_dir = 'path/to/train' test_dir = 'path/to/test' split_ratio = 0.8 # 调用划分函数 split_dataset(dataset_dir, train_dir, test_dir, split_ratio) ``` 将代码中的 `'path/to/dataset'` 替换为您的数据集目录的路径,`'path/to/train'` 和 `'path/to/test'` 替换为您想要保存训练集测试集的目录路径。`split_ratio` 是划分比例,这里设置为 0.8 表示将 80% 的数据划分训练集,20% 的数据划分测试集。 请确保您的数据集文件夹中包含图像文件和对应的标注文件,并且标注文件的格式符合 YOLO 的要求。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值