PredictionErrorDisplay#

class sklearn.metrics.PredictionErrorDisplay(*, y_true, y_pred)[source]#

回归模型预测误差的可视化。

此工具可使用散点图显示“残差 vs 预测值”或“实际值 vs 预测值”,以定性评估回归器的行为,最好是在保留数据点上进行评估。

有关如何创建可视化工具的详细信息,请参阅 from_estimatorfrom_predictions 的文档字符串。所有参数都作为属性存储。

有关 scikit-learn 可视化工具的一般信息,请阅读 可视化指南 中的更多内容。有关解释这些图表的详细信息,请参阅 模型评估指南

1.2 版本新增。

参数:
y_true形状为 (n_samples,) 的 ndarray

真实值。

y_pred形状为 (n_samples,) 的 ndarray

预测值。

属性:
line_matplotlib Artist

表示 y_true == y_pred 的最佳线。因此,对于 kind="predictions",它是一条对角线;对于 kind="residuals",它是一条水平线。

errors_lines_matplotlib Artist or None

残差线。如果 with_errors=False,则设置为 None

scatter_matplotlib Artist

散点图数据点。

ax_matplotlib Axes

包含不同 matplotlib 轴的轴。

figure_matplotlib Figure

包含散点和线的图形。

另请参阅

PredictionErrorDisplay.from_estimator

给定估计器和一些数据的预测误差可视化。

PredictionErrorDisplay.from_predictions

给定真实和预测目标的预测误差可视化。

示例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_diabetes
>>> from sklearn.linear_model import Ridge
>>> from sklearn.metrics import PredictionErrorDisplay
>>> X, y = load_diabetes(return_X_y=True)
>>> ridge = Ridge().fit(X, y)
>>> y_pred = ridge.predict(X)
>>> display = PredictionErrorDisplay(y_true=y, y_pred=y_pred)
>>> display.plot()
<...>
>>> plt.show()
../../_images/sklearn-metrics-PredictionErrorDisplay-1.png
classmethod from_estimator(estimator, X, y, *, kind='residual_vs_predicted', subsample=1000, random_state=None, ax=None, scatter_kwargs=None, line_kwargs=None)[source]#

给定回归器和一些数据,绘制预测误差。

有关 scikit-learn 可视化工具的一般信息,请阅读 可视化指南 中的更多内容。有关解释这些图表的详细信息,请参阅 模型评估指南

1.2 版本新增。

参数:
estimatorestimator instance

已拟合的回归器或已拟合的 Pipeline,其中最后一个估计器是回归器。

Xshape 为 (n_samples, n_features) 的 {array-like, sparse matrix}

输入值。

yarray-like of shape (n_samples,)

目标值。

kind{“actual_vs_predicted”, “residual_vs_predicted”}, default=”residual_vs_predicted”

要绘制的图表类型

  • “actual_vs_predicted”绘制观察值(y 轴)vs. 预测值(x 轴)。

  • “residual_vs_predicted”绘制残差(即观察值和预测值之间的差异,y 轴)vs. 预测值(x 轴)。

subsamplefloat, int or None, default=1_000

对要显示在散点图上的样本进行采样。如果为 float,则应在 0 到 1 之间,表示原始数据集的比例。如果为 int,则表示散点图上显示的样本数。如果为 None,则不应用子采样。默认情况下,将显示 1000 个或更少的样本。

random_stateint or RandomState, default=None

subsample 不为 None 时,控制随机性。有关详细信息,请参阅 词汇表

axmatplotlib axes, default=None

用于绘图的坐标轴对象。如果为 None,则会创建新的图和坐标轴。

scatter_kwargsdict, default=None

传递给 matplotlib.pyplot.scatter 调用的关键字字典。

line_kwargsdict, default=None

传递给 matplotlib.pyplot.plot 调用以绘制最佳线的关键字字典。

返回:
displayPredictionErrorDisplay

存储计算值的对象。

另请参阅

PredictionErrorDisplay

用于回归的预测误差可视化。

PredictionErrorDisplay.from_predictions

给定真实和预测目标的预测误差可视化。

示例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_diabetes
>>> from sklearn.linear_model import Ridge
>>> from sklearn.metrics import PredictionErrorDisplay
>>> X, y = load_diabetes(return_X_y=True)
>>> ridge = Ridge().fit(X, y)
>>> disp = PredictionErrorDisplay.from_estimator(ridge, X, y)
>>> plt.show()
../../_images/sklearn-metrics-PredictionErrorDisplay-2.png
classmethod from_predictions(y_true, y_pred, *, kind='residual_vs_predicted', subsample=1000, random_state=None, ax=None, scatter_kwargs=None, line_kwargs=None)[source]#

给定真实和预测目标,绘制预测误差。

有关 scikit-learn 可视化工具的一般信息,请阅读 可视化指南 中的更多内容。有关解释这些图表的详细信息,请参阅 模型评估指南

1.2 版本新增。

参数:
y_true形状为 (n_samples,) 的 array-like

真实目标值。

y_pred形状为 (n_samples,) 的类数组

预测目标值。

kind{“actual_vs_predicted”, “residual_vs_predicted”}, default=”residual_vs_predicted”

要绘制的图表类型

  • “actual_vs_predicted”绘制观察值(y 轴)vs. 预测值(x 轴)。

  • “residual_vs_predicted”绘制残差(即观察值和预测值之间的差异,y 轴)vs. 预测值(x 轴)。

subsamplefloat, int or None, default=1_000

对要显示在散点图上的样本进行采样。如果为 float,则应在 0 到 1 之间,表示原始数据集的比例。如果为 int,则表示散点图上显示的样本数。如果为 None,则不应用子采样。默认情况下,将显示 1000 个或更少的样本。

random_stateint or RandomState, default=None

subsample 不为 None 时,控制随机性。有关详细信息,请参阅 词汇表

axmatplotlib axes, default=None

用于绘图的坐标轴对象。如果为 None,则会创建新的图和坐标轴。

scatter_kwargsdict, default=None

传递给 matplotlib.pyplot.scatter 调用的关键字字典。

line_kwargsdict, default=None

传递给 matplotlib.pyplot.plot 调用以绘制最佳线的关键字字典。

返回:
displayPredictionErrorDisplay

存储计算值的对象。

另请参阅

PredictionErrorDisplay

用于回归的预测误差可视化。

PredictionErrorDisplay.from_estimator

给定估计器和一些数据的预测误差可视化。

示例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_diabetes
>>> from sklearn.linear_model import Ridge
>>> from sklearn.metrics import PredictionErrorDisplay
>>> X, y = load_diabetes(return_X_y=True)
>>> ridge = Ridge().fit(X, y)
>>> y_pred = ridge.predict(X)
>>> disp = PredictionErrorDisplay.from_predictions(y_true=y, y_pred=y_pred)
>>> plt.show()
../../_images/sklearn-metrics-PredictionErrorDisplay-3.png
plot(ax=None, *, kind='residual_vs_predicted', scatter_kwargs=None, line_kwargs=None)[source]#

绘制可视化图。

额外的关键字参数将传递给 matplotlib 的 plot

参数:
axmatplotlib axes, default=None

用于绘图的坐标轴对象。如果为 None,则会创建新的图和坐标轴。

kind{“actual_vs_predicted”, “residual_vs_predicted”}, default=”residual_vs_predicted”

要绘制的图表类型

  • “actual_vs_predicted”绘制观察值(y 轴)vs. 预测值(x 轴)。

  • “residual_vs_predicted”绘制残差(即观察值和预测值之间的差异,y 轴)vs. 预测值(x 轴)。

scatter_kwargsdict, default=None

传递给 matplotlib.pyplot.scatter 调用的关键字字典。

line_kwargsdict, default=None

传递给 matplotlib.pyplot.plot 调用以绘制最佳线的关键字字典。

返回:
displayPredictionErrorDisplay

存储计算值的对象。