😸

sklearn.metrics.ConfusionMatrixDisplayを使った混合行列の可視化

2020/11/13に公開

はじめに

scikit-learnを利用すると簡単に混合行列の可視化は可能だが、sklearn.metrics.plot_confusion_matrixestimatorが引数に必要になる

可視化するだけなのでestimatorが不要な方法はないかと調べていたら sklearn.metrics.ConfusionMatrixDisplay が見つかったので簡単にコードを書いてみた。


import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

data = load_breast_cancer()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
clf = SVC(random_state=0)
clf.fit(X_train, y_train)

y_pred = clf.predict(X_test)
cm = confusion_matrix(y_pred=y_pred, y_true=y_test)
cmp = ConfusionMatrixDisplay(cm, display_labels=data.target_names)

cmp.plot(cmap=plt.cm.Blues)

結果はこんな感じ、便利。

ダウンロード.png

参考

GitHubで編集を提案

Discussion