DecisionBoundaryDisplay#

class sklearn.inspection.DecisionBoundaryDisplay(*, xx0, xx1, response, xlabel=None, ylabel=None)#

决策边界可视化。

建议使用 from_estimator 来创建一个 DecisionBoundaryDisplay 。所有参数都存储为 属性。

更多信息请参阅 用户指南

Added in version 1.1.

Parameters:
xx0ndarray of shape (grid_resolution, grid_resolution)

meshgrid 的第一个输出。

xx1ndarray of shape (grid_resolution, grid_resolution)

meshgrid 的第二个输出。

responsendarray of shape (grid_resolution, grid_resolution)

响应函数的值。

xlabelstr, default=None

x 轴上的默认标签。

ylabelstr, default=None

y 轴上的默认标签。

Attributes:
surface_matplotlib QuadContourSetQuadMesh

如果 plot_method 是 ‘contour’ 或 ‘contourf’, surface_QuadContourSet 。如果 plot_method 是 ‘pcolormesh’, surface_QuadMesh

ax_matplotlib Axes

带有决策边界的轴。

figure_matplotlib Figure

包含决策边界的图形。

See also

DecisionBoundaryDisplay.from_estimator

给定一个估计器绘制决策边界。

Examples

>>> 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)#

绘制给定估计器的决策边界。

更多信息请参阅 用户指南

Parameters:
estimator对象

用于绘制决策边界的训练估计器。

X{array-like, sparse matrix, dataframe},形状为 (n_samples, 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] 视为二分类器的正类。 对于多类分类器,必须为 class_of_interest 传递一个显式值。

Added in version 1.4.

xlabelstr, 默认=None

用于 x 轴的标签。如果为 None ,则尝试从 X 中提取标签(如果它是 dataframe),否则使用空字符串。

ylabelstr, 默认=None

用于 y 轴的标签。如果为 None ,则尝试从 X 中提取标签(如果它是 dataframe),否则使用空字符串。

axMatplotlib axes, 默认=None

要在其上绘图的 Axes 对象。如果为 None ,则创建一个新的图形和 Axes。

**kwargsdict

传递给 plot_method 的其他关键字参数。

Returns:
displayDecisionBoundaryDisplay

存储结果的对象。

See also

DecisionBoundaryDisplay

决策边界可视化。

sklearn.metrics.ConfusionMatrixDisplay.from_estimator

给定估计器、数据和标签绘制混淆矩阵。

sklearn.metrics.ConfusionMatrixDisplay.from_predictions

给定真实标签和预测标签绘制混淆矩阵。

Examples

>>> 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)#

绘图可视化。

Parameters:
plot_method{‘contourf’, ‘contour’, ‘pcolormesh’}, 默认=’contourf’

绘制响应时调用的绘图方法。有关详细信息,请参阅以下matplotlib文档: contourf , contour , pcolormesh

axMatplotlib axes, 默认=None

要在其上绘制的Axes对象。如果为 None ,则创建一个新的图形和轴。

xlabelstr, 默认=None

覆盖x轴标签。

ylabelstr, 默认=None

覆盖y轴标签。

**kwargsdict

要传递给 plot_method 的其他关键字参数。

Returns:
display: DecisionBoundaryDisplay

存储计算值的对象。