决策边界显示#
- class sklearn.inspection.DecisionBoundaryDisplay(*, xx0, xx1, response, xlabel=None, ylabel=None)[source]#
决策边界可视化。
建议使用
from_estimator
创建DecisionBoundaryDisplay
。所有参数都存储为属性。更多信息请参见 用户指南。
1.1 版本新增。
- 参数:
- 属性:
- surface_matplotlib
QuadContourSet
或QuadMesh
如果
plot_method
为 ‘contour’ 或 ‘contourf’,则surface_
为QuadContourSet
。如果plot_method
为 ‘pcolormesh’,则surface_
为QuadMesh
。- ax_matplotlib Axes
具有决策边界的 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)[source]#
给定一个估计器,绘制决策边界。
更多信息请参见 用户指南。
- 参数:
- estimator对象
用于绘制决策边界的已训练估计器。
- X形状为 (n_samples, 2) 的 {array-like, sparse matrix, dataframe}
输入数据应仅为二维。
- 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
中提取标签,否则使用空字符串。- ylabelstr,默认值=None
用于 y 轴的标签。如果为
None
,则如果它是数据框,则尝试从X
中提取标签,否则使用空字符串。- axMatplotlib axes,默认值=None
要绘制的 Axes 对象。如果为
None
,则会创建一个新的图形和 Axes。- **kwargsdict
要传递给
plot_method
的其他关键字参数。
- 返回值:
- 显示
DecisionBoundaryDisplay
存储结果的对象。
- 显示
另请参阅
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 axes,默认值=None
要绘制的 Axes 对象。如果为
None
,则会创建一个新的图形和 Axes。- xlabelstr,默认值=None
覆盖x轴标签。
- ylabelstr,默认值=None
覆盖y轴标签。
- **kwargsdict
要传递给
plot_method
的其他关键字参数。
- 返回值:
- 显示:
DecisionBoundaryDisplay
存储计算值的对象。
- 显示: