Confusion Matrix visualization.
It is recommend to use from_estimator
or
from_predictions
to create a ConfusionMatrixDisplay
. All parameters are
stored as attributes.
Read more in the User Guide.
Parameters:confusion_matrixndarray of shape [n_classes, n_classes]Confusion matrix.
display_labelsndarray of shape [n_classes,], default=NoneDisplay labels for plot. If None, display labels are set
from 0 to n_classes - 1
.
Image representing the confusion matrix.
text_ndarray of shape [n_classes, n_classes], dtype=matplotlib Text, or NoneArray of matplotlib axes. None
if include_values
is false.
Axes with confusion matrix.
figure_matplotlib FigureFigure containing the confusion matrix.
Examples
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.svm import SVC >>> X, y = make_classification[random_state=0] >>> 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] SVC[random_state=0] >>> predictions = clf.predict[X_test] >>> cm = confusion_matrix[y_test, predictions, labels=clf.classes_] >>> disp = ConfusionMatrixDisplay[confusion_matrix=cm, ... display_labels=clf.classes_] >>> disp.plot[] >>> plt.show[]
Methods
| Plot Confusion Matrix given an estimator and some data. |
| Plot Confusion Matrix given true and predicted labels. |
| Plot visualization. |
Plot Confusion Matrix given an estimator and some data.
Read more in the User Guide.
New in version 1.0.
Parameters:estimatorestimator instanceFitted classifier or a fitted
Pipeline
in which the last estimator is a classifier.
Input values.
yarray-like of shape [n_samples,]Target values.
labelsarray-like of shape [n_classes,], default=NoneList of labels to index the confusion matrix. This may be used to reorder or select a subset of labels. If None
is given, those that appear at least once in y_true
or y_pred
are used in sorted order.
Sample weights.
normalize{‘true’, ‘pred’, ‘all’}, default=NoneEither to normalize the counts display in the matrix:
if
'true'
, the confusion matrix is normalized over the true conditions [e.g. rows];if
'pred'
, the confusion matrix is normalized over the predicted conditions [e.g. columns];if
'all'
, the confusion matrix is normalized by the total number of samples;if
None
[default], the confusion matrix will not be normalized.
Target names used for plotting. By default, labels
will be used if it is defined, otherwise the unique labels of y_true
and y_pred
will be used.
Includes values in confusion matrix.
xticks_rotation{‘vertical’, ‘horizontal’} or float, default=’horizontal’Rotation of xtick labels.
values_formatstr, default=NoneFormat specification for values in confusion matrix. If None
, the format specification is ‘d’ or ‘.2g’ whichever is shorter.
Colormap recognized by matplotlib.
Axes object to plot on. If None
, a new figure and axes is created.
Whether or not to add a colorbar to the plot.
im_kwdict, default=NoneDict with keywords passed to matplotlib.pyplot.imshow
call.
ConfusionMatrixDisplay
Examples
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import ConfusionMatrixDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.svm import SVC >>> X, y = make_classification[random_state=0] >>> 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] SVC[random_state=0] >>> ConfusionMatrixDisplay.from_estimator[ ... clf, X_test, y_test] >>> plt.show[]
Plot Confusion Matrix given true and predicted labels.
Read more in the User Guide.
New in version 1.0.
Parameters:y_truearray-like of shape [n_samples,]True labels.
y_predarray-like of shape [n_samples,]The
predicted labels given by the method predict
of an classifier.
List of labels to index the confusion matrix. This may be used to reorder or select a subset of labels. If None
is given, those that appear at least once in y_true
or y_pred
are used in sorted order.
Sample weights.
normalize{‘true’, ‘pred’, ‘all’}, default=NoneEither to normalize the counts display in the matrix:
if
'true'
, the confusion matrix is normalized over the true conditions [e.g. rows];if
'pred'
, the confusion matrix is normalized over the predicted conditions [e.g. columns];if
'all'
, the confusion matrix is normalized by the total number of samples;if
None
[default], the confusion matrix will not be normalized.
Target names used for plotting. By default, labels
will be used if it is defined, otherwise the unique labels of y_true
and y_pred
will be used.
Includes values in confusion matrix.
xticks_rotation{‘vertical’, ‘horizontal’} or float, default=’horizontal’Rotation of xtick labels.
values_formatstr, default=NoneFormat specification for values in confusion matrix. If None
, the format specification is ‘d’ or ‘.2g’ whichever is shorter.
Colormap recognized by matplotlib.
axmatplotlib Axes, default=NoneAxes object to plot on. If None
, a new figure and axes is created.
Whether or not to add a colorbar to the plot.
im_kwdict, default=NoneDict with keywords passed to matplotlib.pyplot.imshow
call.
ConfusionMatrixDisplay
Examples
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import ConfusionMatrixDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.svm import SVC >>> X, y = make_classification[random_state=0] >>> 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] SVC[random_state=0] >>> y_pred = clf.predict[X_test] >>> ConfusionMatrixDisplay.from_predictions[ ... y_test, y_pred] >>> plt.show[]
Plot visualization.
Parameters:include_valuesbool, default=TrueIncludes values in confusion matrix.
cmapstr or matplotlib Colormap, default=’viridis’Colormap recognized by matplotlib.
xticks_rotation{‘vertical’, ‘horizontal’} or float, default=’horizontal’Rotation of xtick labels.
values_formatstr, default=NoneFormat specification for values in confusion matrix. If None
, the format specification is ‘d’ or ‘.2g’ whichever is shorter.
Axes object to plot on. If None
, a new figure and axes is created.
Whether or not to add a colorbar to the plot.
im_kwdict, default=NoneDict with keywords passed to matplotlib.pyplot.imshow
call.
ConfusionMatrixDisplay