You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MobileNet手语字母分类模型混淆矩阵异常原因及过拟合修复方法

这不是过拟合,是数据生成器的参数配置错误导致的标签与预测结果顺序不匹配

问题根因

默认情况下flow_from_directory方法的shuffle参数为True,测试集生成器会随机打乱样本顺序输出。你获取的test_batches.classes是按文件夹顺序排列的原始标签,和预测时生成器输出的样本顺序完全不对应,所以混淆矩阵计算的是完全乱序的真实标签和预测结果,自然不符合预期。

修复步骤

  • 修改测试集生成器的定义,新增shuffle=False参数,确保样本输出顺序和标签顺序一致:
    test_batches = ImageDataGenerator(preprocessing_function=tf.keras.applications.mobilenet.preprocess_input).flow_from_directory(
        directory=test_path, target_size=(64,64), batch_size=10, shuffle=False)
    
  • 重新执行预测、混淆矩阵计算和绘图代码,即可得到符合98%准确率的正常混淆矩阵。

效果验证

修复后可自行计算准确率:np.sum(test_labels == predictions.argmax(axis=1))/len(test_labels),得到的结果应该和模型拟合时输出的val_accuracy一致,约为98%。

内容的提问来源于stack exchange,提问作者Reem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:06:03