DecisionBoundaryDisplay#

class sklearn.inspection.DecisionBoundaryDisplay(*, xx0, xx1, response, xlabel=None, ylabel=None)[原始碼]#

決策邊界視覺化。

建議使用 from_estimator 來建立 DecisionBoundaryDisplay。所有參數都儲存為屬性。

更多資訊請參閱使用者指南

在 1.1 版本中新增。

參數:
xx0形狀為 (grid_resolution, grid_resolution) 的 ndarray

meshgrid 的第一個輸出。

xx1形狀為 (grid_resolution, grid_resolution) 的 ndarray

meshgrid 的第二個輸出。

response形狀為 (grid_resolution, grid_resolution) 的 ndarray

回應函數的值。

xlabelstr,預設值=None

放置在 x 軸上的預設標籤。

ylabelstr,預設值=None

放置在 y 軸上的預設標籤。

屬性:
surface_matplotlib QuadContourSetQuadMesh

如果 plot_method 為 'contour' 或 'contourf',則 surface_QuadContourSet。如果 plot_method 為 'pcolormesh',則 surface_QuadMesh

ax_matplotlib Axes

帶有決策邊界的軸。

figure_matplotlib Figure

包含決策邊界的圖形。

另請參閱

DecisionBoundaryDisplay.from_estimator

繪製給定估計器的決策邊界。

範例

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> from sklearn.datasets import load_iris
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> from sklearn.tree import DecisionTreeClassifier
>>> iris = load_iris()
>>> feature_1, feature_2 = np.meshgrid(
...     np.linspace(iris.data[:, 0].min(), iris.data[:, 0].max()),
...     np.linspace(iris.data[:, 1].min(), iris.data[:, 1].max())
... )
>>> grid = np.vstack([feature_1.ravel(), feature_2.ravel()]).T
>>> tree = DecisionTreeClassifier().fit(iris.data[:, :2], iris.target)
>>> y_pred = np.reshape(tree.predict(grid), feature_1.shape)
>>> display = DecisionBoundaryDisplay(
...     xx0=feature_1, xx1=feature_2, response=y_pred
... )
>>> display.plot()
<...>
>>> display.ax_.scatter(
...     iris.data[:, 0], iris.data[:, 1], c=iris.target, edgecolor="black"
... )
<...>
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-1.png
classmethod from_estimator(estimator, X, *, grid_resolution=100, eps=1.0, plot_method='contourf', response_method='auto', class_of_interest=None, xlabel=None, ylabel=None, ax=None, **kwargs)[原始碼]#

繪製給定估計器的決策邊界。

更多資訊請參閱使用者指南

參數:
estimator物件

用來繪製決策邊界的已訓練估計器。

X形狀為 (n_samples, 2) 的 {類陣列, 稀疏矩陣, 資料框}

應該只有 2 維的輸入資料。

grid_resolutionint,預設值=100

用於繪製決策邊界的格點數。較高的值會使繪圖看起來更好,但渲染速度會較慢。

epsfloat,預設值=1.0

擴展 X 的最小值和最大值,以評估回應函數。

plot_method{‘contourf’, ‘contour’, ‘pcolormesh’},預設值=’contourf’

繪製回應時要呼叫的繪圖方法。請參閱以下 matplotlib 文件以取得詳細資訊:contourfcontourpcolormesh

response_method{‘auto’, ‘predict_proba’, ‘decision_function’, ‘predict’},預設值=’auto’

指定是否使用 predict_probadecision_functionpredict 作為目標回應。如果設定為 'auto',則會依以下順序嘗試回應方法:decision_functionpredict_probapredict。對於多類別問題,當 response_method="auto" 時,會選擇 predict

class_of_interestint、float、bool 或 str,預設值=None

繪製決策時所考慮的類別。如果為 None,則對於二元分類器,會將 estimator.classes_[1] 視為正類別。當 response_method 為 'predict_proba' 或 'decision_function' 時,多類別分類器必須具有明確的值。

在 1.4 版本中新增。

xlabelstr,預設值=None

用於 x 軸的標籤。如果 None,如果 X 是資料框,則會嘗試從 X 中提取標籤,否則會使用空字串。

ylabelstr,預設值=None

用於 y 軸的標籤。如果 None,如果 X 是資料框,則會嘗試從 X 中提取標籤,否則會使用空字串。

axMatplotlib 軸,預設值=None

要在其上繪圖的軸物件。如果 None,則會建立新的圖形和軸。

**kwargsdict

要傳遞給 plot_method 的其他關鍵字引數。

傳回:
displayDecisionBoundaryDisplay

儲存結果的物件。

另請參閱

DecisionBoundaryDisplay

決策邊界視覺化。

sklearn.metrics.ConfusionMatrixDisplay.from_estimator

根據估計器、資料和標籤繪製混淆矩陣。

sklearn.metrics.ConfusionMatrixDisplay.from_predictions

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

範例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_iris
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> iris = load_iris()
>>> X = iris.data[:, :2]
>>> classifier = LogisticRegression().fit(X, iris.target)
>>> disp = DecisionBoundaryDisplay.from_estimator(
...     classifier, X, response_method="predict",
...     xlabel=iris.feature_names[0], ylabel=iris.feature_names[1],
...     alpha=0.5,
... )
>>> disp.ax_.scatter(X[:, 0], X[:, 1], c=iris.target, edgecolor="k")
<...>
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-2.png
plot(plot_method='contourf', ax=None, xlabel=None, ylabel=None, **kwargs)[source]#

繪製視覺化圖表。

參數:
plot_method{‘contourf’, ‘contour’, ‘pcolormesh’},預設值=’contourf’

繪製回應時要呼叫的繪圖方法。請參閱以下 matplotlib 文件以取得詳細資訊:contourfcontourpcolormesh

axMatplotlib 軸,預設值=None

要在其上繪圖的軸物件。如果 None,則會建立新的圖形和軸。

xlabelstr,預設值=None

覆寫 x 軸標籤。

ylabelstr,預設值=None

覆寫 y 軸標籤。

**kwargsdict

要傳遞給 plot_method 的其他關鍵字引數。

傳回:
display: DecisionBoundaryDisplay

儲存計算值的物件。