ConfusionMatrixDisplay#
- class sklearn.metrics.ConfusionMatrixDisplay(confusion_matrix, *, display_labels=None)#
混淆矩阵可视化。
建议使用
from_estimator
或from_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()
- 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_true
或y_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_true
和y_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:
- display
ConfusionMatrixDisplay
- display
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()
- 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_true
或y_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_true
和y_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:
- display
ConfusionMatrixDisplay
- display
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()
- 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:
- display
ConfusionMatrixDisplay
返回一个包含所有信息以绘制混淆矩阵的
ConfusionMatrixDisplay
实例。
- display