ConfusionMatrixDisplay#
- 类 sklearn.metrics.ConfusionMatrixDisplay(confusion_matrix, *, display_labels=None)[源]#
混淆矩阵可视化。
建议使用
from_estimator
或from_predictions
来创建ConfusionMatrixDisplay
。所有参数都存储为属性。有关
scikit-learn
可视化工具的一般信息,请参阅可视化指南。有关解释这些图的指导,请参阅模型评估指南。- 参数:
- confusion_matrix形状为 (n_classes, n_classes) 的 ndarray
混淆矩阵。
- display_labels形状为 (n_classes,) 的 ndarray,默认为 None
图的显示标签。如果为 None,则显示标签设置为从 0 到
n_classes - 1
。
- 属性:
- im_matplotlib AxesImage
表示混淆矩阵的图像。
- text_形状为 (n_classes, n_classes) 的 ndarray,dtype=matplotlib Text,或 None
matplotlib 坐标轴数组。如果
include_values
为 false,则为None
。- ax_matplotlib Axes
包含混淆矩阵的坐标轴。
- figure_matplotlib Figure
包含混淆矩阵的图。
另请参阅
confusion_matrix
计算混淆矩阵以评估分类的准确性。
ConfusionMatrixDisplay.from_estimator
根据估计器、数据和标签绘制混淆矩阵。
ConfusionMatrixDisplay.from_predictions
根据真实和预测标签绘制混淆矩阵。
示例
>>> 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()
- 类方法 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)[源]#
根据估计器和数据绘制混淆矩阵。
有关
scikit-learn
可视化工具的一般信息,请参阅可视化指南。有关解释这些图的指导,请参阅模型评估指南。版本 1.0 新增。
- 参数:
- estimator估计器实例
已拟合的分类器或已拟合的
Pipeline
(其中最后一个估计器是分类器)。- X形状为 (n_samples, n_features) 的 {array-like, 稀疏矩阵}
输入值。
- y形状为 (n_samples,) 的 array-like
目标值。
- labels形状为 (n_classes,) 的 array-like,默认为 None
用于索引混淆矩阵的标签列表。可用于重新排序或选择标签子集。如果给定
None
,则使用在y_true
或y_pred
中至少出现一次的标签,按排序顺序使用。- sample_weight形状为 (n_samples,) 的 array-like,默认为 None
样本权重。
- normalize{‘true’, ‘pred’, ‘all’},默认为 None
是否归一化矩阵中显示的计数
如果为
'true'
,则混淆矩阵按真实条件(例如行)归一化;如果为
'pred'
,则混淆矩阵按预测条件(例如列)归一化;如果为
'all'
,则混淆矩阵按样本总数归一化;如果为
None
(默认),则混淆矩阵将不被归一化。
- display_labels形状为 (n_classes,) 的 array-like,默认为 None
用于绘图的目标名称。默认情况下,如果定义了
labels
,则使用它,否则使用y_true
和y_pred
的唯一标签。- include_valuesbool,默认为 True
在混淆矩阵中包含值。
- xticks_rotation{‘vertical’, ‘horizontal’} 或 float,默认为’horizontal’
x 轴刻度标签的旋转角度。
- values_formatstr,默认为 None
混淆矩阵中值的格式规范。如果为
None
,则格式规范为 'd' 或 '.2g',以较短者为准。- cmapstr 或 matplotlib Colormap,默认为’viridis’
matplotlib 识别的颜色图。
- axmatplotlib Axes,默认为 None
用于绘图的坐标轴对象。如果为
None
,则创建新的图和坐标轴。- colorbarbool,默认为 True
是否向图中添加颜色条。
- im_kwdict,默认为 None
包含传递给
matplotlib.pyplot.imshow
调用的关键字的字典。- text_kwdict,默认为 None
包含传递给
matplotlib.pyplot.text
调用的关键字的字典。版本 1.2 新增。
- 返回:
- display
ConfusionMatrixDisplay
- display
另请参阅
ConfusionMatrixDisplay.from_predictions
根据真实和预测标签绘制混淆矩阵。
示例
>>> 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()
有关使用混淆矩阵评估支持向量分类器的详细示例,请参阅混淆矩阵
- 类方法 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)[源]#
根据真实和预测标签绘制混淆矩阵。
有关
scikit-learn
可视化工具的一般信息,请参阅可视化指南。有关解释这些图的指导,请参阅模型评估指南。版本 1.0 新增。
- 参数:
- y_true形状为 (n_samples,) 的 array-like
真实标签。
- y_pred形状为 (n_samples,) 的 array-like
分类器的
predict
方法给出的预测标签。- labels形状为 (n_classes,) 的 array-like,默认为 None
用于索引混淆矩阵的标签列表。可用于重新排序或选择标签子集。如果给定
None
,则使用在y_true
或y_pred
中至少出现一次的标签,按排序顺序使用。- sample_weight形状为 (n_samples,) 的 array-like,默认为 None
样本权重。
- normalize{‘true’, ‘pred’, ‘all’},默认为 None
是否归一化矩阵中显示的计数
如果为
'true'
,则混淆矩阵按真实条件(例如行)归一化;如果为
'pred'
,则混淆矩阵按预测条件(例如列)归一化;如果为
'all'
,则混淆矩阵按样本总数归一化;如果为
None
(默认),则混淆矩阵将不被归一化。
- display_labels形状为 (n_classes,) 的 array-like,默认为 None
用于绘图的目标名称。默认情况下,如果定义了
labels
,则使用它,否则使用y_true
和y_pred
的唯一标签。- include_valuesbool,默认为 True
在混淆矩阵中包含值。
- xticks_rotation{‘vertical’, ‘horizontal’} 或 float,默认为’horizontal’
x 轴刻度标签的旋转角度。
- values_formatstr,默认为 None
混淆矩阵中值的格式规范。如果为
None
,则格式规范为 'd' 或 '.2g',以较短者为准。- cmapstr 或 matplotlib Colormap,默认为’viridis’
matplotlib 识别的颜色图。
- axmatplotlib Axes,默认为 None
用于绘图的坐标轴对象。如果为
None
,则创建新的图和坐标轴。- colorbarbool,默认为 True
是否向图中添加颜色条。
- im_kwdict,默认为 None
包含传递给
matplotlib.pyplot.imshow
调用的关键字的字典。- text_kwdict,默认为 None
包含传递给
matplotlib.pyplot.text
调用的关键字的字典。版本 1.2 新增。
- 返回:
- display
ConfusionMatrixDisplay
- display
另请参阅
ConfusionMatrixDisplay.from_estimator
根据估计器、数据和标签绘制混淆矩阵。
示例
>>> 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)[源]#
绘制可视化。
- 参数:
- include_valuesbool,默认为 True
在混淆矩阵中包含值。
- cmapstr 或 matplotlib Colormap,默认为’viridis’
matplotlib 识别的颜色图。
- xticks_rotation{‘vertical’, ‘horizontal’} 或 float,默认为’horizontal’
x 轴刻度标签的旋转角度。
- values_formatstr,默认为 None
混淆矩阵中值的格式规范。如果为
None
,则格式规范为 'd' 或 '.2g',以较短者为准。- axmatplotlib axes,默认为 None
用于绘图的坐标轴对象。如果为
None
,则创建新的图和坐标轴。- colorbarbool,默认为 True
是否向图中添加颜色条。
- im_kwdict,默认为 None
包含传递给
matplotlib.pyplot.imshow
调用的关键字的字典。- text_kwdict,默认为 None
包含传递给
matplotlib.pyplot.text
调用的关键字的字典。版本 1.2 新增。
- 返回:
- display
ConfusionMatrixDisplay
返回一个
ConfusionMatrixDisplay
实例,其中包含绘制混淆矩阵的所有信息。
- display