如何在我的模型中实施分层 K 折交叉验证

问题描述

我正在尝试使用 Xeption 的迁移学习为 7 个类别创建图像分类模型,但我遇到了“验证准确度大于训练准确度”之类的问题。所以我决定对我的模型实施 Stratified K-Folds 交叉验证,但我在谷歌上搜索了它,但只有我找到的方法是这样的:

scores = cross_val_score(model,X,y,cv=5) 
print(scores)
# => [ 0.83,0.78,0.89,0.77,0.92 ]

我知道这意味着什么,但不知道如何继续。我知道模型在每个 epoch 之后由 val_acc 训练和调整。我的意思是普通的 CNN 模型就像每个 epoch 都有一个验证分数,但这个有多个验证分数。 我应该写一个代码来在每个 epoch 之后选择最好的分数还是我应该怎么做?

这是我的代码,我认为这是应该实现交叉验证代码的地方

epochs=3 if FAST_RUN else 50
history = model.fit(
    train_generator,epochs=epochs,validation_data=validation_generator,validation_steps=total_validate//batch_size,steps_per_epoch=total_train//batch_size,callbacks=callbacks,shuffle = True,verbose= 1
)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)