K折交叉验证
imageList,labelList,totalData=getData.genImageList(csvname)
index = [i for i in range(len(imageList))]
random.shuffle(index)
imageList = imageList[index]
labelList = labelList[index]
kf = KFold(k)
print(k,'folds finished splited,start trainning!')
i=0
for train_index, test_index in kf.split(imageList):
i=i+1
modelDir='./Model/model_'+str(i)+'/'
getData.mkdir(modelDir)
print('model 路径创建成功——',modelDir)
train_X, train_y = imageList[train_index], labelList[train_index]
test_X, test_y = imageList[test_index], labelList[test_index]
#使用上边的新的train test数据进行训练
先需要根据获取数据的imagelist,labellist ,然后定义K
for train_index, test_index in kf.split(imageList):
遍历,然后获取每一折的数据用作训练,random.shuffle用于打乱数据
random.shuffle(index)
imageList = imageList[index]
labelList = labelList[index]