DecisionBoundaryDisplay#
- class sklearn.inspection.DecisionBoundaryDisplay(*, xx0, xx1, response, xlabel=None, ylabel=None)[原始碼]#
決策邊界視覺化。
建議使用
from_estimator
來建立DecisionBoundaryDisplay
。所有參數都儲存為屬性。更多資訊請參閱使用者指南。
在 1.1 版本中新增。
- 參數:
- 屬性:
- surface_matplotlib
QuadContourSet
或QuadMesh
如果
plot_method
為 'contour' 或 'contourf',則surface_
為QuadContourSet
。如果plot_method
為 'pcolormesh',則surface_
為QuadMesh
。- ax_matplotlib Axes
帶有決策邊界的軸。
- figure_matplotlib Figure
包含決策邊界的圖形。
- surface_matplotlib
另請參閱
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()
- 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 文件以取得詳細資訊:
contourf
、contour
、pcolormesh
。- response_method{‘auto’, ‘predict_proba’, ‘decision_function’, ‘predict’},預設值=’auto’
指定是否使用 predict_proba、decision_function、predict 作為目標回應。如果設定為 'auto',則會依以下順序嘗試回應方法:decision_function、predict_proba、predict。對於多類別問題,當
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
的其他關鍵字引數。
- 傳回:
- display
DecisionBoundaryDisplay
儲存結果的物件。
- display
另請參閱
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()
- plot(plot_method='contourf', ax=None, xlabel=None, ylabel=None, **kwargs)[source]#
繪製視覺化圖表。
- 參數:
- plot_method{‘contourf’, ‘contour’, ‘pcolormesh’},預設值=’contourf’
繪製回應時要呼叫的繪圖方法。請參閱以下 matplotlib 文件以取得詳細資訊:
contourf
、contour
、pcolormesh
。- axMatplotlib 軸,預設值=None
要在其上繪圖的軸物件。如果
None
,則會建立新的圖形和軸。- xlabelstr,預設值=None
覆寫 x 軸標籤。
- ylabelstr,預設值=None
覆寫 y 軸標籤。
- **kwargsdict
要傳遞給
plot_method
的其他關鍵字引數。
- 傳回:
- display:
DecisionBoundaryDisplay
儲存計算值的物件。
- display: