【问题标题】:plot_confusion_matrix() got an unexpected keyword argument 'classes' using sklearnplot_confusion_matrix() 使用 sklearn 得到了一个意外的关键字参数“类”
【发布时间】:2021-05-13 21:22:23
【问题描述】:

我是 python 和深度学习的新手,我训练了一个多分类器模型并想绘制一个混淆矩阵,但我遇到了一个错误 这是我的代码

from sklearn.metrics import plot_confusion_matrix
import matplotlib.pyplot as plt  
from sklearn.metrics import ConfusionMatrixDisplay
Y_pred = model.predict_generator(test_generator)
y_pred = np.argmax(Y_pred, axis=1)
category_names = sorted(os.listdir('D:/DiabaticRetinopathy/mq_dataset/DR_Normal/train'))
print(category_names)
cm = confusion_matrix(test_generator.classes, y_pred)
plot_confusion_matrix(cm, classes = category_names, title='Confusion Matrix', normalize=False, figname = 'Confusion_matrix_concrete.jpg')

我将我的 sklearn 更新到 0.24 版本。我更新后重新启动了内核,但仍然报错:

TypeError: plot_confusion_matrix() got an unexpected keyword argument 'classes'

【问题讨论】:

    标签: python scikit-learn confusion-matrix


    【解决方案1】:

    错误表明您提供的关键字 classes 不是此函数可识别的关键字。这发生在您的最后一行。

    文档提供了您可以使用的关键字列表: doc

    【讨论】:

      【解决方案2】:

      使用labels 代替类,然后删除title, figname

      plot_confusion_matrix(X = test_generator.classes, y_true = y_pred,labels= category_names, normalize=False)
      

      文档:https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_confusion_matrix.html

      【讨论】:

      • 谢谢,但现在它给出了一个错误“plot_confusion_matrix() got an unexpected keyword argument 'title'” 我应该为标题和图形使用什么关键字
      • 是.. 根据文档,语法中没有标题和 figname.. 请删除标题和 figname
      • 是的,我删除了标题和图形,但它现在显示错误:plot_confusion_matrix() 缺少 2 个必需的位置参数:'X' 和 'y_true' 而我的代码看起来像 cm = confusion_matrix(test_generator.classes, y_pred) plot_confusion_matrix(cm, labels = category_names)
      • test_generator.classes, y_pred
      • 我将代码更改为plot_confusion_matrix(test_generator.classes, y_pred, labels = category_names, normalize=False),但仍然出现错误“TypeError: plot_confusion_matrix() missing 1 required positional argument: 'y_true'”
      【解决方案3】:

      有一个关键字labels,但没有classes,所以你可以把它改成那个。

      【讨论】:

        猜你喜欢
        • 2022-09-23
        • 2021-09-29
        • 2021-04-10
        • 2021-11-18
        • 1970-01-01
        • 1970-01-01
        • 2016-09-17
        • 2015-06-08
        • 1970-01-01
        相关资源
        最近更新 更多