OPTION 1:
After you get array of the confusion matrix from sklearn.metrics
, you can use matplotlib.pyplot.matshow()
or seaborn.heatmap
to generate the plot of the confusion matrix from that array.
e.g.
import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt
cfm = [[35, 0, 6],
[0, 0, 3],
[5, 50, 1]]
classes = ["0", "1", "2"]
df_cfm = pd.DataFrame(cfm, index = classes, columns = classes)
plt.figure(figsize = (10,7))
cfm_plot = sn.heatmap(df_cfm, annot=True)
cfm_plot.figure.savefig("cfm.png")

OPTION 2:
You can use plot_confusion_matrix()
from sklearn
to create image of confusion matrix directly from an estimater (i.e. classifier).
e.g.
cfm_plot = plot_confusion_matrix(<estimator>, <X>, <Y>)
cfm_plot.savefig("cfm.png")
Both options use savefig()
to save the result as the png file.
REF: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_confusion_matrix.html