ConfusionMatrixDisplay#

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

混淆矩阵可视化。

建议使用 from_estimatorfrom_predictions 来 创建一个 ConfusionMatrixDisplay 。所有参数都存储为 属性。

更多信息请参阅 用户指南

Parameters:
confusion_matrixndarray of shape (n_classes, n_classes)

混淆矩阵。

display_labelsndarray of shape (n_classes,), default=None

用于绘图的显示标签。如果为 None,显示标签从 0 到 n_classes - 1 设置。

Attributes:
im_matplotlib AxesImage

表示混淆矩阵的图像。

text_ndarray of shape (n_classes, n_classes), dtype=matplotlib Text, 或 None

matplotlib 轴的数组。如果 include_values 为 false,则为 None

ax_matplotlib Axes

带有混淆矩阵的轴。

figure_matplotlib Figure

包含混淆矩阵的图形。

See also

confusion_matrix

计算混淆矩阵以评估分类的准确性。

ConfusionMatrixDisplay.from_estimator

给定一个估计器、数据和标签,绘制混淆矩阵。

ConfusionMatrixDisplay.from_predictions

给定真实标签和预测标签,绘制混淆矩阵。

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

绘制给定估计器和数据的混淆矩阵。

更多信息请参阅 用户指南

Added in version 1.0.

Parameters:
estimator估计器实例

已拟合的分类器或已拟合的 Pipeline , 其中最后一个估计器是分类器。

X{array-like, sparse matrix},形状为 (n_samples, n_features)

输入值。

yarray-like,形状为 (n_samples,)

目标值。

labelsarray-like,形状为 (n_classes,),默认=None

用于索引混淆矩阵的标签列表。这可以用于重新排序或选择标签的子集。 如果给定 None ,则使用在 y_truey_pred 中至少出现一次的标签, 按排序顺序使用。

sample_weightarray-like,形状为 (n_samples,),默认=None

样本权重。

normalize{‘true’, ‘pred’, ‘all’},默认=None

选择是否对矩阵中的计数进行归一化:

  • 如果 'true' ,混淆矩阵在真实条件上归一化(例如行);

  • 如果 'pred' ,混淆矩阵在预测条件上归一化(例如列);

  • 如果 'all' ,混淆矩阵通过总样本数归一化;

  • 如果 None (默认),混淆矩阵将不会被归一化。

display_labelsarray-like,形状为 (n_classes,),默认=None

用于绘图的目标名称。默认情况下,如果定义了 labels ,则使用 labels , 否则使用 y_truey_pred 的唯一标签。

include_valuesbool,默认=True

包括混淆矩阵中的值。

xticks_rotation{‘vertical’, ‘horizontal’} 或 float, 默认=’horizontal’

xtick 标签的旋转。

values_formatstr,默认=None

混淆矩阵中值的格式规范。如果 None ,格式规范是 ‘d’ 或 ‘.2g’ 中较短的一个。

cmapstr 或 matplotlib Colormap,默认=’viridis’

被 matplotlib 识别的 colormap。

axmatplotlib Axes,默认=None

要绘制的 Axes 对象。如果 None ,则创建一个新的图形和 Axes。

colorbarbool,默认=True

是否在图中添加颜色条。

im_kwdict,默认=None

传递给 matplotlib.pyplot.imshow 调用的关键字字典。

text_kwdict,默认=None

传递给 matplotlib.pyplot.text 调用的关键字字典。

Added in version 1.2.

Returns:
displayConfusionMatrixDisplay

See also

ConfusionMatrixDisplay.from_predictions

给定真实标签和预测标签绘制混淆矩阵。

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

绘制给定真实标签和预测标签的混淆矩阵。

更多信息请参阅 用户指南

Added in version 1.0.

Parameters:
y_truearray-like of shape (n_samples,)

真实标签。

y_predarray-like of shape (n_samples,)

分类器 predict 方法给出的预测标签。

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

用于索引混淆矩阵的标签列表。这可以用于重新排序或选择标签的子集。如果给定 None ,则使用在 y_truey_pred 中至少出现一次的标签,按排序顺序使用。

sample_weightarray-like of shape (n_samples,), default=None

样本权重。

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

选择是否对矩阵中的计数进行归一化:

  • 如果 'true' ,混淆矩阵在真实条件(例如行)上归一化;

  • 如果 'pred' ,混淆矩阵在预测条件(例如列)上归一化;

  • 如果 'all' ,混淆矩阵按样本总数归一化;

  • 如果 None (默认),混淆矩阵将不会被归一化。

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

用于绘图的目标名称。默认情况下,如果定义了 labels ,则使用 labels ,否则使用 y_truey_pred 的唯一标签。

include_valuesbool, default=True

包括混淆矩阵中的值。

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

xtick 标签的旋转。

values_formatstr, default=None

混淆矩阵中值的格式规范。如果 None ,格式规范是 ‘d’ 或 ‘.2g’ 中较短的一个。

cmapstr or matplotlib Colormap, default=’viridis’

被 matplotlib 识别的 colormap。

axmatplotlib Axes, default=None

要在其上绘图的 Axes 对象。如果 None ,则创建一个新的图形和 Axes。

colorbarbool, default=True

是否在图中添加颜色条。

im_kwdict, default=None

传递给 matplotlib.pyplot.imshow 调用的关键字字典。

text_kwdict, default=None

传递给 matplotlib.pyplot.text 调用的关键字字典。

Added in version 1.2.

Returns:
displayConfusionMatrixDisplay

See also

ConfusionMatrixDisplay.from_estimator

给定估计器、数据和标签绘制混淆矩阵。

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

绘图可视化。

Parameters:
include_valuesbool, 默认=True

在混淆矩阵中包含值。

cmapstr 或 matplotlib Colormap, 默认=’viridis’

被 matplotlib 识别的色图。

xticks_rotation{‘vertical’, ‘horizontal’} 或 float, 默认=’horizontal’

xtick 标签的旋转。

values_formatstr, 默认=None

混淆矩阵中值的格式规范。如果为 None , 格式规范是 ‘d’ 或 ‘.2g’ 中较短的一个。

axmatplotlib axes, 默认=None

要在其上绘制的 Axes 对象。如果为 None ,则创建一个新的图形和 Axes。

colorbarbool, 默认=True

是否在图表中添加颜色条。

im_kwdict, 默认=None

传递给 matplotlib.pyplot.imshow 调用的关键字字典。

text_kwdict, 默认=None

传递给 matplotlib.pyplot.text 调用的关键字字典。

Added in version 1.2.

Returns:
displayConfusionMatrixDisplay

返回一个包含所有信息以绘制混淆矩阵的 ConfusionMatrixDisplay 实例。