ConfusionMatrixDisplay#

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

混淆矩陣視覺化。

建議使用 from_estimatorfrom_predictions 來建立 ConfusionMatrixDisplay。所有參數都會儲存為屬性。

請參閱使用者指南以了解更多資訊。

參數:
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()
../../_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)[原始碼]#

繪製給定估算器和一些資料的混淆矩陣。

請參閱使用者指南以了解更多資訊。

1.0 版本新增。

參數:
estimator估算器實例

已擬合的分類器或已擬合的 Pipeline,其中最後一個估算器是分類器。

X形狀為 (n_samples, n_features) 的類陣列、稀疏矩陣

輸入值。

y形狀為 (n_samples,) 的類陣列

目標值。

labels形狀為 (n_classes,) 的類陣列,預設值為 None

用於索引混淆矩陣的標籤列表。可用於重新排序或選擇標籤的子集。如果給定 None,則會使用在 y_truey_pred 中至少出現一次的已排序標籤。

sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None

樣本權重。

normalize{‘true’, ‘pred’, ‘all’},預設值為 None

是否要標準化矩陣中顯示的計數

  • 如果為 'true',則混淆矩陣會根據真實條件(例如,列)進行標準化;

  • 如果為 'pred',則混淆矩陣會根據預測條件(例如,行)進行標準化;

  • 如果為 'all',則混淆矩陣會根據樣本總數進行標準化;

  • 如果為 None (預設),則不會標準化混淆矩陣。

display_labels形狀為 (n_classes,) 的類陣列,預設值為 None

用於繪圖的目標名稱。預設情況下,如果已定義 labels,則會使用它,否則會使用 y_truey_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 版本中新增。

回傳值:
displayConfusionMatrixDisplay

另請參閱

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()
../../_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)[原始碼]#

根據真實標籤和預測標籤繪製混淆矩陣。

請參閱使用者指南以了解更多資訊。

1.0 版本新增。

參數:
y_true形狀為 (n_samples,) 的類陣列

真實標籤。

y_pred形狀為 (n_samples,) 的類陣列

分類器的 predict 方法給出的預測標籤。

labels形狀為 (n_classes,) 的類陣列,預設值為 None

用於索引混淆矩陣的標籤列表。可用於重新排序或選擇標籤的子集。如果給定 None,則會使用在 y_truey_pred 中至少出現一次的已排序標籤。

sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None

樣本權重。

normalize{‘true’, ‘pred’, ‘all’},預設值為 None

是否要標準化矩陣中顯示的計數

  • 如果為 'true',則混淆矩陣會根據真實條件(例如,列)進行標準化;

  • 如果為 'pred',則混淆矩陣會根據預測條件(例如,行)進行標準化;

  • 如果為 'all',則混淆矩陣會根據樣本總數進行標準化;

  • 如果為 None (預設),則不會標準化混淆矩陣。

display_labels形狀為 (n_classes,) 的類陣列,預設值為 None

用於繪圖的目標名稱。預設情況下,如果已定義 labels,則會使用它,否則會使用 y_truey_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 版本中新增。

回傳值:
displayConfusionMatrixDisplay

另請參閱

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()
../../_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)[原始碼]#

繪製視覺化圖形。

參數:
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 版本中新增。

回傳值:
displayConfusionMatrixDisplay

回傳一個 ConfusionMatrixDisplay 實例,其中包含繪製混淆矩陣的所有資訊。