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

深度学习绘制混淆矩阵报Singleton array 1 cannot be considered a valid collection如何解决

报错原因

错误的核心是真实标签数组与预测标签数组的维度不匹配:

  • 你的Y_pred_classes是长度为16的一维数组,对应16个验证样本的预测分类结果
  • Y_true仅输出单个值1,是因为np.argmax(y_val,axis = 0)的轴参数设置错误:该操作会对所有验证样本的标签全局取最大值索引,仅返回单个值,不符合混淆矩阵要求的「每个样本对应一个真实标签」的输入规则,因此触发类型错误。
修复步骤
  1. 先确认验证集标签y_val的存储格式:
    • 如果y_val是one-hot编码的多分类标签,形状为(样本数, 类别数),将取argmax的轴改为axis=1即可,修改后代码:
      Y_true = np.argmax(y_val, axis=1)
      
    • 如果y_val本身就是整数形式的分类标签,形状为(样本数,),不需要调用argmax,直接赋值即可:
      Y_true = y_val
      
  2. (可选优化)混淆矩阵的计数为整数,可将热力图的格式参数改为fmt='d',避免显示带小数的计数结果:
    sns.heatmap(confusion_mtx, annot=True, linewidths=0.01,cmap="Greens",linecolor="gray", fmt= 'd',ax=ax)
    

内容的提问来源于stack exchange,提问作者Jennie C.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:36:02