使用KFold交叉验证方法划分训练集和验证集
在进行深度学习时,为了提高精度,或者为了评估我们模型的优劣,以及如何选择一个更好的模型。这样我们就需要用到交叉验证方法。
我们主要实现如何使用KFold划分训练集和验证集
#coding:utf-8
from sklearn.model_selection import KFold def select_train_val(all_path, seed): kfold = KFold(5, shuffle=True, random_state=seed) splits = list(kfold.split(patients_dir)) train_datasets = [] val_datasets = [] for n in range(0, fold_number): train_idx, val_idx = splits[n] print("first idx of train", train_idx[0]) print("first idx of test", val_idx[0]) train = [patients_dir[i] for i in train_idx] val = [patients_dir[i] for i in val_idx] return train_datasets, val_datasets if __name__ == "__main__": from glob import glob path = r"/home/wpx/BraTS2019/Train/*" all_file = glob(path) # 这是获取到5折对应的训练集和验证集,我们如果只是的用来划分训练集和验证集,我们最终可以随机选择某一折,比如选第一折划分好的训练集和验证集,可以这样操作: #train_data, val_data = train_dataset[1], val_dataset[1] train_dataset, val_dataset = select_train_val(all_file,1234)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix