[구덩이 밟기 경험·코드 모드] matplotlib 혼동 매트릭스 모드 그리기 및 절반 문제 보이기

matplotlib을 사용하여 혼동 행렬을 그리면 행렬의 위아래 절반만 보일 수 있습니다. 이 문제가 발생한 원인은 코드의 작성 선후 순서의 문제일 수 있습니다. 아래와 같이 조정을 거쳐 완전하게 그릴 수 있는 코드 모델(두 가지 분류)
#           
from sklearn.metrics import confusion_matrix
import numpy as np
cnf_matrix = confusion_matrix(y_test, y_predict)
np.set_printoptions(precision=2)
#         
from matplotlib import pyplot as plt
import itertools
def plot_confusion_matrix(cm, classes,
                          title='Confusion matrix',
                          cmap=plt.cm.Blues):
    """
          
    """
    plt.title(title)
    tick_marks = np.arange(len(classes))
    plt.xticks(tick_marks, classes, rotation=0)
    plt.yticks(tick_marks, classes)
    
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.colorbar()

    thresh = cm.max() / 2.
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, cm[i, j],
                 horizontalalignment="center",
                 color="white" if cm[i, j] > thresh else "black")

    plt.tight_layout()
    plt.ylabel('True label')
    plt.xlabel('Predicted label')

class_names = [0,1]  #         
plt.figure()
plot_confusion_matrix(cnf_matrix
                      , classes=class_names
                      , title='Confusion matrix')
plt.show()

좋은 웹페이지 즐겨찾기