【发布时间】:2021-10-01 13:45:26
【问题描述】:
我是 ML 新手,正在学习基础知识。 我正在研究 Dog-vision 数据集 (https://www.kaggle.com/c/dog-breed-identification),我正在尝试绘制一个混淆矩阵,但无法找到我做错的地方,需要帮助!
我的 true_label 是这样的
true_label[:10]
array([26, 96, 8, 15, 3, 10, 62, 82, 92, 16]
predicted_label 看起来像这样
predicted_l[:10]
array([26, 96, 8, 15, 3, 10, 62, 82, 92, 16]
它们几乎相同,但数组中的所有元素并不相同。
然后我将它们转换为熊猫数据框,代码如下
import pandas as pd
from sklearn.metrics import confusion_matrix
classes=[]
for i in range(0, 99):
classes.append(i)
cf_matrix = confusion_matrix(true_l, predicted_l)
cf_matrix_df = pd.DataFrame(cf_matrix, index=classes,columns=classes)
cf_matrix_df
然后我尝试用这个数据框绘制 混淆矩阵 但它没有以正确的方式绘制。这是我的混淆矩阵的代码和输出:-
import seaborn as sns
figure = plt.figure(figsize=(8, 8))
sns.heatmap(cf_matrix_df, annot=True,cmap=plt.cm.Blues)
plt.tight_layout()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
如果您需要更多信息,请在此处查看我的笔记本。 https://colab.research.google.com/drive/1SoXJJNTnGx39uZHizAut-HuMtKhQQolk?usp=sharing
【问题讨论】:
-
请解释您要预测什么,您的问题到底是什么?我只能看到您有 2 个数组,并且您将它们绘制在热图中。我不知道你期望得到什么。
-
我期待得到一个更直观的混淆矩阵!但我绘制的那个看起来不相关。通过 conf_matrix 我想看看我的模型做出了多少错误的预测,以及类似地有多少正确的预测。
-
是的,它是分类模型。有 120 个类别是独特的狗品种
-
尝试整合滚动条,增加图形大小/。
-
@Pygirl 谢谢你的建议,它帮助了我:)
标签: pandas tensorflow matplotlib google-colaboratory confusion-matrix