【Python】sklearnとseabornでConfusion matrixを簡単に作成する。
Deep learning, Machine learningのclassificationでは必須のconfusion matrix
sklearnとSeabornで簡単に作成できます。
Test用csvはこんな感じ。
正解のlabelを予測されたlabelを縦に並べる。
今回は、シンプルに"Good"と"Bad"の2class 分類
ここからコード↓
必要なmoduleは事前にインストールしてくださいませ。
# import module import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix #read csv data & confirming csv_path = "writing csv path here" test_data = pd.read_csv(csv_path) test_data.head() # put into numpy arrey Correct_label = np.array(test_data["Correct Label"]) Predict_label = np.array(test_data["Predict Label"]) labels = ['Correct', 'Predict'] # Confusion matrix creation cm = confusion_matrix(Correct_label, Predict_label) cm = pd.DataFrame(data=cm, index=["Good", "Poor"], columns=["Good", "Poor"]) sns.heatmap(cm, square=True, cbar=True, annot=True, cmap='Blues') plt.xlabel("Predction label", fontsize=10, fontstyle='italic') plt.ylabel("Correct label", fontsize=10, fontstyle='italic') # save as png wtih 300dpi resolution plt.savefig('test_confusion_matrix.png', format="png", dpi=300)
簡単&綺麗
色味の調整もできるのですが、とくに不満がないのでいつもこのまま使用してます。