【问题标题】:Correct labelling of confusion matrix axis混淆矩阵轴的正确标注
【发布时间】:2021-10-07 08:33:29
【问题描述】:

我编写了以下代码来生成混淆矩阵

from sklearn.naive_bayes import MultinomialNB
mnb=MultinomialNB()
mnb.fit(X_train,Y_train)
sms2="REMINDER FROM O2: To get 2.50 pounds free call credit and details of great offers pls reply 2 this text with your valid name, house no and postcode"
sms="You’ve Won!"
X_test = [str (item) for item in X_test]

Y_pred = mnb.predict(vec.transform(X_test))
from sklearn.metrics import confusion_matrix
mat = confusion_matrix(Y_test, Y_pred)
print(mat)
names =[ "non-spam", "spam"]
print(names)
sns.heatmap(mat, square=True, annot=True, fmt='d', cbar=False,
            xticklabels=names, yticklabels=names)
plt.xlabel('Actual [Truth]')
plt.ylabel('Predicted')
plt.show()

它生成了以下混淆矩阵:


我不确定轴是否正确标记
IE。如果 x 轴应该是实际的,y 轴应该是预测的
或者反过来

【问题讨论】:

    标签: machine-learning scikit-learn confusion-matrix


    【解决方案1】:

    根据 scikit=learn 文档https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html,第一个调用参数应该是真实值,第二个调用参数应该是通过分类器的预测值。

    如果是这种情况,那么混淆矩阵的返回参数应该包含包含真实类的行,列应该是预测类。

    我认为您的标签基于此而落后。另见示例https://scikit-learn.org/stable/auto_examples/miscellaneous/plot_display_object_visualization.html#sphx-glr-auto-examples-miscellaneous-plot-display-object-visualization-py

    【讨论】:

      猜你喜欢
      • 2020-08-30
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 2020-01-22
      • 2020-07-31
      • 2018-11-06
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多