10折交叉验证

10折交叉验证importosimportcv2importrandomimportshutilimportnumpyasnpdefget_data_crop(k):#获取所有病人序列名称与所有训练文件名称name_list,file_list=[],[]forroot,dirs,filesinos.walk(‘./seg’):forfinfiles:iff.split(‘-‘)[0]n.

10折交叉验证"

import os
import cv2
import random
import shutil
import numpy as np


def get_data_crop(k):
    # 获取所有病人序列名称与所有训练文件名称
    name_list, file_list = [], []
    for root, dirs, files in os.walk('./seg'):
        for f in files:
            if f.split('-')[0] not in name_list:
                name_list.append(f.split('-')[0])
            file_list.append(root + '/' + f)
    random.shuffle(name_list)

    #k折交叉验证
    for i in range(8,10):
        fold_size = len(name_list) // k
        test_name = name_list[i*fold_size:(i+1)*fold_size]
        train_file, test_file = [], []
        for file in file_list:
            if file.split('/')[-1].split('-')[0] in test_name:
                try:
                    shutil.copy(file,'.\\K10\\test_'+str(i+1)+'\\M\\'+file.split('/')[-1])
                    shutil.copy(file.replace('seg','img'), '.\\K10\\test_' + str(i+1) + '\\I\\' +   file.split('/')[-1])
                except Exception:
                    os.makedirs('.\\K10\\test_'+str(i+1)+'\\M\\')
                    shutil.copy(file, '.\\K10\\test_' + str(i+1) +'\\M\\' +file.split('/')[-1])
                    os.makedirs('.\\K10\\test_' + str(i+1) + '\\I\\')
                    shutil.copy(file.replace('seg', 'img'),'.\\K10\\test_' + str(i+1) + '\\I\\' +  file.split('/')[-1])
            else:
                try:
                    shutil.copy(file, '.\\K10\\train_' + str(i+1) +'\\M\\'+file.split('/')[-1])
                    shutil.copy(file.replace('seg', 'img'),'.\\K10\\train_' + str(i+1) + '\\I\\' + file.split('/')[-1])
                except Exception:
                    print(file)
                    print(i+1)
                    os.makedirs('.\\K10\\train_'+str(i+1) +'\\M\\')
                    shutil.copy(file, '.\\K10\\train_'+str(i+1) + '\\M\\'  +file.split('/')[-1])
                    os.makedirs('.\\K10\\train_' + str(i+1) + '\\I\\' )
                    shutil.copy(file.replace('seg', 'img'),'.\\K10\\train_' + str(i+1) + '\\I\\'  +  file.split('/')[-1])
get_data_crop(10)

今天的文章10折交叉验证分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/28051.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注