看了网上的很多k-fold的程序,发现都是机器学习方面的数据操作,而非文件操作(一位不愿意透露姓名的资深大冤种本着“能花钱就不动脑”的原则还付费了几个程序,全是bug,我真的会谢)。

然后自己写了一个k-fold的程序,我的数据集是只有两个labels,并且是yolo格式做的标注,所以程序也是按照yolo的文件格式进行编写的,文件夹路径和picknumbers大家可以自己调。注:picknumbers我没有采用int(),因为可能会产生errors(比如你的数据集规模不能整除之类的),所以直接手动指定了具体数值。

程序应该是完全自动化的,只要自己创建好源文件夹以及吧图片和labels放进去就可以了,目标文件夹用mkdir()自动创建。

把main里面的for循环去掉,去掉rate的注释部分,就可以当留出法来用了。

import os, random, shutil
def copy_img_File(img0_file_Dir,txt0_file_Dir,img1_file_Dir,txt1_file_Dir):label0_pathDir = os.listdir(img0_file_Dir)    #取图片的原始路径label1_pathDir = os.listdir(img1_file_Dir)    #取图片的原始路径# filenumber=len(pathDir)# rate=0.1    #自定义抽取图片的比例,比方说100张抽10张,那就是0.1label0_picknumber=30label1_picknumber=6sample_label0 = random.sample(label0_pathDir, label0_picknumber)  #随机选取picknumber数量的样本图片sample_label1 = random.sample(label1_pathDir, label1_picknumber)  #随机选取picknumber数量的样本图片# print (sample)for name in sample_label0:shutil.copy(img0_file_Dir + name, k_fold_img_tar_Dir + name)os.remove(img0_file_Dir + name)shutil.copy(txt0_file_Dir + name[0:7] + '.txt', k_fold_txt_tar_Dir + name[0:7] + '.txt')os.remove(txt0_file_Dir + name[0:7] + '.txt')for name in sample_label1:shutil.copy(img1_file_Dir + name, k_fold_img_tar_Dir + name)os.remove(img1_file_Dir + name)shutil.copy(txt1_file_Dir + name[0:7] + '.txt', k_fold_txt_tar_Dir + name[0:7] + '.txt')os.remove(txt1_file_Dir + name[0:7] + '.txt')returnif __name__ == '__main__':img0_file_Dir = "./ORimg0/"  # 源图片文件夹路径txt0_file_Dir = "./ORtxt0/"img1_file_Dir = "./ORimg1/"  # 源图片文件夹路径txt1_file_Dir = "./ORtxt1/"for i in range(10):os.mkdir('./Tar_img{}'.format(i))os.mkdir('./Tar_txt{}'.format(i))k_fold_img_tar_Dir = './Tar_img{}/'.format(i)  # 移动到新的文件夹路径k_fold_txt_tar_Dir = './Tar_txt{}/'.format(i)  # 移动到新的文件夹路径copy_img_File(img0_file_Dir, txt0_file_Dir, img1_file_Dir, txt1_file_Dir)

机器学习-k折交叉验证法(python实现)相关推荐

  1. python交叉验证法_Python实现K折交叉验证法的方法步骤

    学习器在测试集上的误差我们通常称作"泛化误差".要想得到"泛化误差"首先得将数据集划分为训练集和测试集.那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法 ...

  2. k折交叉验证 python_Python实现K折交叉验证法的方法步骤

    学习器在测试集上的误差我们通常称作"泛化误差".要想得到"泛化误差"首先得将数据集划分为训练集和测试集.那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法 ...

  3. 机器学习--K折交叉验证(K-fold cross validation)

    K 折交叉验证(K-flod cross validation) 当样本数据不充足时,为了选择更好的模型,可以采用交叉验证方法. 基本思想:把给定的数据进行划分,将划分得到的数据集组合为训练集与测试集 ...

  4. 五折交叉验证/K折交叉验证, python代码到底怎么写

    五折交叉验证: 把数据平均分成5等份,每次实验拿一份做测试,其余用做训练.实验5次求平均值.如上图,第一次实验拿第一份做测试集,其余作为训练集.第二次实验拿第二份做测试集,其余做训练集.依此类推~ 但 ...

  5. k折交叉验证法的额外步骤_教你几招蝴蝶结系法步骤,OMG!这怎么配都美

    到了这种季节,怎样给自己的丝带绑个漂亮的结,这可真是令人最头疼的一件事了.要说绑带要怎么绑才好看,这几招蝴蝶结系法就很实用,简单大气又不失美感. 衬衫上的蝴蝶系法 步骤一:将带子两端像这样叠放,左边在 ...

  6. 在Mnist数据上使用k折交叉验证训练,pytorch代码到底怎么写

    前言 最近学到了K折交叉验证,已经迫不及待去实验一下他的效果是不是如老师讲的一样好,特此写下本文. 本文运行环境为:sklearn.pytorch .jupyter notebook k折交叉验证介绍 ...

  7. python 交叉验证后获取模型_Python机器学习:6.2 K折交叉验证评估模型性能

    训练机器学习模型的关键一步是要评估模型的泛化能力.如果我们训练好模型后,还是用训练集取评估模型的性能,这显然是不符合逻辑的.一个模型如果性能不好,要么是因为模型过于复杂导致过拟合(高方差),要么是模型 ...

  8. k折交叉验证python代码_K折交叉验证法原理及python实现

    本文为原创文章,转载请注明出处! 在训练数据的过程或者参加数据比赛的时候,常常会遇到数据量不够大的情况,在一次比赛过程我学到一个小技巧-K折交叉验证法(k-fold CrossValidation), ...

  9. k折交叉验证matlab 流程_第51集 python机器学习:分层K折交叉验证及其他方式

    由于出现类似鸢尾花数据集这种分段数据可能简单的交叉验证无法适用,所以这里引用了分层K折交叉验证.在分层交叉验证中,我们划分数据,使得每个折中类别之间的比例整数与数据集中的比例相同,如下图所示: mgl ...

  10. 机器学习实战---朴素贝叶斯算法实现+使用K折交叉验证(代码详解+创新)

    <机器学习实战朴素贝叶斯算法实现+使用K折交叉验证> 未经允许,不得擅自转载! 提供数据集如下(永久有效,需要的自行下载): 链接:https://pan.baidu.com/s/1Sv0 ...

最新文章

  1. FreeMarker使用记录
  2. leetcode-买卖股票的最佳时机④*
  3. GridView实战二:使用ObjectDataSource数据源控件
  4. xubuntu19.10碰到initramfs终极解决方案
  5. print的describe的展示全部数据_大数据项目中的QA需要迎接新的挑战
  6. 合成未来宝宝照片_[萌主争霸]2020年台历宝宝投票评选开始啦!快来给你喜欢的萌宝投票吧~...
  7. 易筋SpringBoot 2.1 | 第廿六篇:SpringBoot访问缓存抽象Cache
  8. nvidia jetson xavier打开风扇,并设置开机启动
  9. 分布式系统可观测性之应用业务指标监控
  10. (译)在cocos2d里面如何使用物理引擎box2d:弹球
  11. 中国超级计算机之父 孟,晚霞未必逊晨曦——记“中国巨型计算机之父”金怡濂院士...
  12. HY-SRF05 五针超声波测距模块 在stm32f4上实现 附代码 个人经验
  13. 微信H5 用户调整微信字体 导致使用rem的页面错乱
  14. python对excel数据统计_用 python实现简单EXCEL数据统计
  15. python发微信提醒天气冷了注意保暖_天气变冷了,用Python给父母制作一个天气提醒小助手~...
  16. 我的软考之路(四)——数据结构与算法(2)之树与二叉树
  17. php居中缩放图片,PHP对图片等比缩放和补白居中
  18. 干货教程:数据结构与算法之美
  19. 惠普HP DeskJet Ink Advantage Ultra 4729 驱动
  20. java ebcdic_java EBCDIC | 学步园

热门文章

  1. 技能人员职业资格、专业技术人员职业资格的证书名称js数组
  2. 哪种花是你见过最好养的?
  3. 应广单片机PMS134
  4. 计算机做云盘给手机版,手机 电脑 同步网盘 可以编辑
  5. 浏览器卷去的高度固定 js
  6. 【学生认证教程】学生如何免费使用Pycharm(专业版)
  7. 疫情反复,声网如何助力青岛教育局保障线上教学体验?
  8. 2021-06-24 TV直播 Mediaplayer播放m3u8的demo
  9. 如何去除WPS文档中出现很多圆点和箭头
  10. 计算机相关的迎新标语,迎新横幅的标语(精选50句)