Seaborn热图混淆矩阵显示未按预期显示

时间:2020-08-19 14:18:39

标签: python seaborn heatmap

请引导我在混乱矩阵的热图显示器上。我尝试了不同的无花果大小,但显示不正确。下面的代码和屏幕截图

Confusion Matrix Seaborn

def show_confusion_matrix(test_labels,predictions):
    confusion=sk_metrics.confusion_matrix(np.argmax(test_labels,axis=1),np.argmax(predictions,axis=1))
    confusion_normalized=confusion.astype('float')/confusion.sum(axis=1)
    #confusion_normalized=confusion_matrix(np.argmax(y_test,axis=1),np.argmax(predictions,axis=1))
    axis_labels=list(uniquelabel) ## unique labels has 120 dog breed names
    fig,ax=plt.subplots(figsize=(30,70))
    ax=sns.heatmap(confusion_normalized,xticklabels=axis_labels,yticklabels=axis_labels,
                   linewidths=0.10,cmap='Blues',annot=True,fmt='.2f',square=True)
    plt.title('Confusion_matrix')
    plt.ylabel("True Label")
    plt.xlabel("Predicted Label")

show_confusion_matrix(y_test,predictions)  

1 个答案:

答案 0 :(得分:0)

我发现的第一个问题是字体大小

ERROR Error: Malformed UTF-8 data
at Object.stringify (core.js:513)
at WordArray.init.toString (core.js:268)

或者您可以设置样式whitegrid

您有很多功能,因此建议您使用遮罩以实现简单的方法。

from seaborn import set
from seaborn import set_style

set(font_scale=1.8)
set_style("darkgrid")

由于要绘制标准化的混淆矩阵,因此需要使用from numpy import zeros_like from numpy import triu_indices_from mask = zeros_like(confusion_normalized) mask[triu_indices_from(mask)] = True

confusion_normalized

An Example output

相关问题