ConfusionMatrixDisplay (original) (raw)

class sklearn.metrics.ConfusionMatrixDisplay(confusion_matrix, *, display_labels=None)[source]#

Confusion Matrix visualization.

It is recommend to usefrom_estimator orfrom_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=None

Display labels for plot. If None, display labels are set from 0 ton_classes - 1.

Attributes:

**im_**matplotlib AxesImage

Image representing the confusion matrix.

**text_**ndarray of shape (n_classes, n_classes), dtype=matplotlib Text, or None

Array of matplotlib axes. None if include_values is false.

**ax_**matplotlib Axes

Axes with confusion matrix.

**figure_**matplotlib Figure

Figure containing the confusion matrix.

See also

confusion_matrix

Compute Confusion Matrix to evaluate the accuracy of a classification.

ConfusionMatrixDisplay.from_estimator

Plot the confusion matrix given an estimator, the data, and the label.

ConfusionMatrixDisplay.from_predictions

Plot the confusion matrix given the true and predicted labels.

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()

../../_images/sklearn-metrics-ConfusionMatrixDisplay-1.png

classmethod from_estimator(estimator, X, y, *, labels=None, sample_weight=None, normalize=None, display_labels=None, include_values=True, xticks_rotation='horizontal', values_format=None, cmap='viridis', ax=None, colorbar=True, im_kw=None, text_kw=None)[source]#

Plot Confusion Matrix given an estimator and some data.

Read more in the User Guide.

Added in version 1.0.

Parameters:

estimatorestimator instance

Fitted classifier or a fitted Pipelinein which the last estimator is a classifier.

X{array-like, sparse matrix} of shape (n_samples, n_features)

Input values.

yarray-like of shape (n_samples,)

Target values.

labelsarray-like of shape (n_classes,), default=None

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_weightarray-like of shape (n_samples,), default=None

Sample weights.

normalize{‘true’, ‘pred’, ‘all’}, default=None

Either to normalize the counts display in the matrix:

display_labelsarray-like of shape (n_classes,), default=None

Target names used for plotting. By default, labels will be used if it is defined, otherwise the unique labels of y_true andy_pred will be used.

include_valuesbool, default=True

Includes values in confusion matrix.

xticks_rotation{‘vertical’, ‘horizontal’} or float, default=’horizontal’

Rotation of xtick labels.

values_formatstr, default=None

Format specification for values in confusion matrix. If None, the format specification is ‘d’ or ‘.2g’ whichever is shorter.

cmapstr or matplotlib Colormap, default=’viridis’

Colormap recognized by matplotlib.

axmatplotlib Axes, default=None

Axes object to plot on. If None, a new figure and axes is created.

colorbarbool, default=True

Whether or not to add a colorbar to the plot.

im_kwdict, default=None

Dict with keywords passed to matplotlib.pyplot.imshow call.

text_kwdict, default=None

Dict with keywords passed to matplotlib.pyplot.text call.

Added in version 1.2.

Returns:

displayConfusionMatrixDisplay

See also

ConfusionMatrixDisplay.from_predictions

Plot the confusion matrix given the true and predicted labels.

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()

../../_images/sklearn-metrics-ConfusionMatrixDisplay-2.png

classmethod from_predictions(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None, display_labels=None, include_values=True, xticks_rotation='horizontal', values_format=None, cmap='viridis', ax=None, colorbar=True, im_kw=None, text_kw=None)[source]#

Plot Confusion Matrix given true and predicted labels.

Read more in the User Guide.

Added 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.

labelsarray-like of shape (n_classes,), default=None

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_weightarray-like of shape (n_samples,), default=None

Sample weights.

normalize{‘true’, ‘pred’, ‘all’}, default=None

Either to normalize the counts display in the matrix:

display_labelsarray-like of shape (n_classes,), default=None

Target names used for plotting. By default, labels will be used if it is defined, otherwise the unique labels of y_true andy_pred will be used.

include_valuesbool, default=True

Includes values in confusion matrix.

xticks_rotation{‘vertical’, ‘horizontal’} or float, default=’horizontal’

Rotation of xtick labels.

values_formatstr, default=None

Format specification for values in confusion matrix. If None, the format specification is ‘d’ or ‘.2g’ whichever is shorter.

cmapstr or matplotlib Colormap, default=’viridis’

Colormap recognized by matplotlib.

axmatplotlib Axes, default=None

Axes object to plot on. If None, a new figure and axes is created.

colorbarbool, default=True

Whether or not to add a colorbar to the plot.

im_kwdict, default=None

Dict with keywords passed to matplotlib.pyplot.imshow call.

text_kwdict, default=None

Dict with keywords passed to matplotlib.pyplot.text call.

Added in version 1.2.

Returns:

displayConfusionMatrixDisplay

See also

ConfusionMatrixDisplay.from_estimator

Plot the confusion matrix given an estimator, the data, and the label.

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()

../../_images/sklearn-metrics-ConfusionMatrixDisplay-3.png

plot(*, include_values=True, cmap='viridis', xticks_rotation='horizontal', values_format=None, ax=None, colorbar=True, im_kw=None, text_kw=None)[source]#

Plot visualization.

Parameters:

include_valuesbool, default=True

Includes 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=None

Format specification for values in confusion matrix. If None, the format specification is ‘d’ or ‘.2g’ whichever is shorter.

axmatplotlib axes, default=None

Axes object to plot on. If None, a new figure and axes is created.

colorbarbool, default=True

Whether or not to add a colorbar to the plot.

im_kwdict, default=None

Dict with keywords passed to matplotlib.pyplot.imshow call.

text_kwdict, default=None

Dict with keywords passed to matplotlib.pyplot.text call.

Added in version 1.2.

Returns:

displayConfusionMatrixDisplay

Returns a ConfusionMatrixDisplay instance that contains all the information to plot the confusion matrix.