我用来绘制混淆矩阵的函数是:
def plotConfMatrix(title,cm):
sb.set(font_scale=1.4)
cm_df = pd.DataFrame(cm,columns= cm.keys(),index=cm.keys())
#cm_df.index.name = 'Predicted'
#cm_df.columns.name = 'Actual'
sb.heatmap(cm_df, annot=True,annot_kws={"size": 16},fmt='d')
plt.xlabel('Actual labels')
plt.ylabel('Predicted labels')
plt.title('Confusion Matrix for ' + title)
plt.show()
在此函数中,confusion_matrix作为dict对象输入,并转换为数据帧。但是它仅在其中一个单元中显示价值。我尝试升级seaborn版本仍然没有成功。 Dict对象是:
{0: {0: 36, 1: 9}, 1: {0: 6, 1: 29}}
和它转换成的DataFrame是:
0 1
0 36 6
1 9 29
图是:
可能是什么问题?另外,我在Ubuntu终端中使用Python Idle编辑器和普通的python shell执行此代码。