【问题标题】:Confusion Matrix changing with every interation每次交互都会改变混淆矩阵
【发布时间】:2016-09-19 17:38:02
【问题描述】:

我正在为六个类构建一个混淆矩阵,我使用scikit_learn confusion matrix 作为绘制矩阵的基本代码。 我面临的问题是,每当我重新训练线性 SVM 分类器时,每次训练都会改变混淆矩阵。预测标签的数量保持不变并且没有。对于每次交互,真实标签的数量也保持不变。我无法理解为什么混淆矩阵会这样改变。对角线元素也没有任何意义。

请指导我该怎么做。

def plot_confusion_matrix(cm, title='Confusion matrix', cmap=plt.cm.Blues):
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.title(title)
    plt.colorbar()
    tick_marks = np.arange(6)
    plt.xticks(tick_marks, names, rotation=45)
    plt.yticks(tick_marks, names)
    plt.tight_layout()
    plt.ylabel('True label')
    plt.xlabel('Predicted label') 
    # this is the main function i am using
    # here names is a list of six titles e.g. names = ['a', 'b', 'c', 'd', 'e', 'f']


#Following is the code that I am using to call the function
cm = confusion_matrix(labels_test, predicted)
np.set_printoptions(precision=2)
print('Confusion matrix, without normalization')
print(cm)
plt.figure()
plot_confusion_matrix(cm)
cm_normalized = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
print('Normalized confusion matrix')
print(cm_normalized)
plt.figure()
plot_confusion_matrix(cm_normalized, title='Normalized confusion matrix')
plt.show()

【问题讨论】:

    标签: python scikit-learn svm confusion-matrix


    【解决方案1】:

    混淆矩阵可让您了解您的分类器在哪些方面做得很好(真阳性)和在哪些方面做得不好(假阳性)。

    混淆矩阵的对角线告诉您特定类别被正确分类的次数(真阳性)。

    当您重新训练数据集时,您的分类器似乎会因迭代而发生变化。因此,真阳性/假阳性/真阴性/假阴性的数量可能不同。

    【讨论】:

    • 我的想法是,如果所有特征向量集和 SVM 参数保持不变,分类器本身将保持不变。分类报告结果每次都是一样的,但是conf。矩阵是变化的。
    • 不一定。取决于很多事情。您需要提供更多详细信息。看网上的文档:“注意,LinearSVC还实现了另一种多类策略,即Crammer和Singer制定的所谓多类SVM,通过使用选项multi_class='crammer_singer'。这个方法是一致的,即one-vs-rest 分类并非如此。在实践中,one-vs-rest 分类通常是首选,因为结果大多相似,但运行时间明显更少。”
    • 我尝试使用“multi_class=crammer_singer”选项训练 SVM。与线性 SVC 在训练阶段所花费的时间相比,它花费了一段时间。但最后,当我绘制它时,混淆矩阵仍然在变化。您能否给我一些联系信息,以便我向您转达有关我的具体问题的更多信息?
    • 您可以编辑您的问题并在此处添加更多信息。
    猜你喜欢
    • 2017-02-18
    • 2018-11-27
    • 2021-09-29
    • 2020-06-23
    • 2015-12-17
    • 2020-10-01
    • 2012-01-20
    • 2019-11-23
    • 1970-01-01
    相关资源
    最近更新 更多