Sklearn绘制混淆矩阵如何实现官方蓝色样式及解决cmap参数报错
混淆矩阵样式调整与报错解决
实现Sklearn官方同款蓝色系混淆矩阵
直接在disp.plot()方法中传入cmap参数指定蓝色系配色即可,Sklearn官方文档默认使用Blues配色方案,如需去掉横竖分割线,可额外关闭坐标轴网格。
完整示例代码如下:
import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay cm = confusion_matrix(y_test, rmc_pred, labels=rmc.classes_) disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=rmc.classes_) # 指定蓝色系配色 disp.plot(cmap='Blues') # 关闭横竖分割线,不需要可删除该行 plt.gca().grid(False) plt.show()
解决plot_confusion_matrix的标签数量不匹配报错
该报错的核心原因与解决方案如下:
plot_confusion_matrix接口从scikit-learn v1.0版本开始已被标记为弃用,v1.2版本正式移除,官方优先推荐使用ConfusionMatrixDisplay实现混淆矩阵绘制,替换为上述ConfusionMatrixDisplay方案即可完全避免该报错- 如果你仍需使用旧版本
plot_confusion_matrix,需要确保传入的labels、display_labels参数长度和模型classes_属性的长度完全一致,不要手动截断或额外增加标签内容
内容的提问来源于stack exchange,提问作者apt1978
相关产品推荐
相关产品推荐

