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

使用print打印confusion matrix时如何显示完整内容无省略号

打印混淆矩阵出现省略号的解决方案

出现省略号是numpy的默认打印规则导致:当数组元素总数超过默认阈值(1000)时就会自动截断显示,你用其他模型没有该问题,是因为对应模型分类数量少,生成的混淆矩阵尺寸小,未触发截断规则。
你之前尝试的numpy.set_printoptions(threshold=sys.maxsize)配置无效,通常是两个原因:

  1. 没有提前导入sys模块就调用了sys.maxsize
  2. 配置语句放在了打印混淆矩阵的代码之后,未生效

可行解决方案

方案1:修正numpy打印配置(推荐)

提前导入依赖并配置打印规则即可,完整代码如下:

import sys
import numpy as np
from sklearn.metrics import confusion_matrix

# 放在打印代码前执行,关闭numpy数组截断
np.set_printoptions(threshold=sys.maxsize)

# 原有业务代码
model.load_weights('action.h5')
yhat = model.predict(X_test)
ytrue = np.argmax(y_test, axis=1).tolist()
yhat = np.argmax(yhat, axis=1).tolist()

# 输出完整混淆矩阵
print(confusion_matrix(ytrue, yhat))

方案2:转Python原生列表打印

Python列表打印没有截断规则,无需额外配置:

cm = confusion_matrix(ytrue, yhat)
print(cm.tolist())

方案3:逐行打印(可读性更高)

cm = confusion_matrix(ytrue, yhat)
for row in cm:
    print(row)

方案4:用pandas格式化输出

适合分类多的场景,输出对齐更清晰:

import pandas as pd
cm = confusion_matrix(ytrue, yhat)
print(pd.DataFrame(cm))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:06:05