自动划分训练集和测试集

  • 前言
  • 代码
  • 总结

前言

在进行深度学习的模型训练时,我们通常需要将数据进行划分,划分成训练集和测试集,若数据集太大,数据划分花费的时间太多!!!
不多说,上代码(python代码)

代码

# *_*coding: utf-8 *_*import os
import random
import shutil
import timedef copyFile(fileDir,origion_path1,class_name):name = class_namepath = origion_path1image_list = os.listdir(fileDir) # 获取图片的原始路径image_number = len(image_list)train_number = int(image_number * train_rate)train_sample = random.sample(image_list, train_number) # 从image_list中随机获取0.75比例的图像.test_sample = list(set(image_list) - set(train_sample))sample = [train_sample, test_sample]# 复制图像到目标文件夹for k in range(len(save_dir)):if os.path.isdir(save_dir[k]) and os.path.isdir(save_dir1[k]):for name in sample[k]:name1 = name.split(".")[0] + '.xml'shutil.copy(os.path.join(fileDir, name), os.path.join(save_dir[k], name))shutil.copy(os.path.join(path, name1), os.path.join(save_dir1[k], name1))else:os.makedirs(save_dir[k])os.makedirs(save_dir1[k])for name in sample[k]:name1 = name.split(".")[0] + '.xml'shutil.copy(os.path.join(fileDir, name), os.path.join(save_dir[k], name))shutil.copy(os.path.join(path, name1), os.path.join(save_dir1[k], name1))if __name__ == '__main__':time_start = time.time()# 原始数据集路径origion_path = './JPEGImages/'origion_path1 = './Annotations/'# 保存路径save_train_dir = './train/JPEGImages/'save_test_dir = './test/JPEGImages/'save_train_dir1 = './train/Annotations/'save_test_dir1 = './test/Annotations/'save_dir = [save_train_dir, save_test_dir]save_dir1 = [save_train_dir1, save_test_dir1]# 训练集比例train_rate = 0.75# 数据集类别及数量file_list = os.listdir(origion_path)num_classes = len(file_list)for i in range(num_classes):class_name = file_list[i]copyFile(origion_path,origion_path1,class_name)print('划分完毕!')time_end = time.time()print('---------------')print('训练集和测试集划分共耗时%s!' % (time_end - time_start))

1.需要修改的地方
1)origion_path:图片路径
2)origion_path1:xml文件路径
3)train_rate:训练集比例

2.执行文件deal.py后生成
train-img:训练集图片数据
train-xml:训练集xml数据
test-img:测试集图片数据
test-xml:测试及xml数据

3.train_rate可以根据实际情况进行调整,一般train:test是3:1

注:每次划分数据都是随机的,每次执行时将之前划分好的数据保存或者重命名,不然会重复写入到4个文件夹中

总结

代码还是比较简洁的,有什么问题可以留言。

python 自动划分训练集和测试集相关推荐

  1. python机器学习 train_test_split()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解

    文章目录 train_test_split()用法 获取数据 划分训练集和测试集 完整代码脚手架 train_test_split()用法 python机器学习中常用 train_test_split ...

  2. Sklearn-train_test_split随机划分训练集和测试集

    sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http://scikit-learn.org/stable/modules/gene ...

  3. idea2020.2中@test是怎么测试的_Sklearn 划分训练集和测试集

    [从零开始学机器学习第 03 篇] 摘要:手写 Sklearn 的 train_test_split 函数. 之前两篇文章以酒吧的红酒故事引出了 kNN 分类算法,根据已倒好的酒(样本),预测新倒的酒 ...

  4. 31,32,33_过拟合、欠拟合的概念、L2正则化,Pytorch过拟合欠拟合,交叉验证-Train-Val-Test划分,划分训练集和测试集,K-fold,Regularization

    1.26.过拟合.欠拟合及其解决方案 1.26.1.过拟合.欠拟合的概念 1.26.1.1.训练误差和泛化误差 1.26.1.2.验证数据集与K-fold验证 1.26.1.3.过拟合和欠拟合 1.2 ...

  5. python按设定比例划分训练集和测试集代码

    # *_*coding: utf-8 *_* # Author --LiMing--import os import random import shutil import timedef copyF ...

  6. sklearn.model_selection.train_test_split随机划分训练集和测试集

    1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...

  7. 5.sklearn之转换器(划分训练集和测试集、以及标准化、归一化数据会用transform,独热编码也会用到)

    文章目录 1. 什么是转换器? 2. 测试集和训练集 2.1 训练集 .测试集.验证集 2.2 拆分训练集测试集有个问题 2.3 代码 3. 标准化 3.1 上离差标准化代码(举一反三就好了,其他几个 ...

  8. python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...

    本人CSDN博客专栏:https://blog.csdn.net/yty_7 Github地址:https://github.com/yot777/ 单特征与多特征 在上一节标签和特征的示例中,我们使 ...

  9. train_test_split(),随机划分训练集和测试集的函数

    sklearn.model_selection.train_test_split() from sklearn.model_selection import train_test_split x_tr ...

  10. [机器学习笔记] 将数据拆分成训练集和测试集的几种方法

    问题描述: 一般情况下, 我们习惯将原始数据中的80% 作为训练集, 20% 作为测试集(当数据量足够大的时候,也可以将10% 作为测试集. 数据量较小时,如果每次都是随机划分训练集,执行多次训练后, ...

最新文章

  1. android中button点击频率控制
  2. RandLA-Net测试
  3. 设计模式复习-适配器模式
  4. DS-5/RVDS4.0变量初始化错误
  5. springboot实现简单的文件上传与回显
  6. 不同频率数据的处理方法
  7. 2017/06/23 linux软件管理构建本地源
  8. 【OpenCV 例程200篇】90. 频率域陷波滤波器
  9. 百度HTTPS认证显示“您的站点有链接未通过https检验”的解决办法
  10. 记录linq.js神器之gorup by 多个字段的方法
  11. Py2,Py3的差异
  12. 大数据之编程语言:Scala视频教程-陈超-专题视频课程
  13. 杜比服务器系统安装,小编教你给Win10系统安装杜比音效驱动的方法
  14. Windows每次开机键盘无法使用,需要重新拔插键盘USB接口的解决方案
  15. 超级抠图:Super PhotoCut for Mac
  16. 物质模拟器4.0版 改了bug,爆炸时也可移动
  17. TikTok印尼上线“TikTok Seller”;亚马逊禁用 Visa ;2021世界品牌500强出路...洞悉跨境
  18. 用opencv-python建立纯色图
  19. 2019 DENSE-HAZE: A BENCHMARK FOR IMAGE DEHAZING WITH DENSE-HAZE AND HAZE-FREE IMAGES
  20. SAAS-HRM-day1

热门文章

  1. 4位格雷码的顺序编码_格雷码的编码和译码算法.doc
  2. 和利时服务器通信协议,和利时网关UDP通信协议.pdf
  3. 算法竞赛入门经典—C++入门
  4. pe安装linux 12.04,乌班图系统Ubuntu 12.04安装教程(图文详解)
  5. 最大流问题(超详细!!!)
  6. php 三菱plc,三菱FX系列PLC编程语言概述及之间的转换关系
  7. 20190216-Java 教程(菜鸟教程)
  8. 超牛逼的性能调优利器 — 火焰图
  9. pb 系统托盘实例(定时任务管理)
  10. 代码对比工具,我就用这6个