预测误差显示#

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

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

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

请参阅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 或 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 中新增。

参数:
estimator估计器实例

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

X形状为 (n_samples, n_features) 的{类数组、稀疏矩阵}

输入值。

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

目标值。

kind{"actual_vs_predicted", "residual_vs_predicted"}, default="residual_vs_predicted"

要绘制的图表类型

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

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

subsample浮点数、整数或 None,默认为 1_000

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

random_state整数或 RandomState,默认为 None

subsample不为None时控制随机性。详情请参阅词汇表

axmatplotlib 坐标轴,默认为 None

要在其上绘图的坐标轴对象。如果为None,则创建新的图形和坐标轴。

scatter_kwargs字典,默认为 None

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

line_kwargs字典,默认为 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,) 的类数组

真实目标值。

y_predarray-like 形状为 (n_samples,) 的数组

预测的目标值。

kind{"actual_vs_predicted", "residual_vs_predicted"}, default="residual_vs_predicted"

要绘制的图表类型

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

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

subsample浮点数、整数或 None,默认为 1_000

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

random_state整数或 RandomState,默认为 None

subsample不为None时控制随机性。详情请参阅词汇表

axmatplotlib 坐标轴,默认为 None

要在其上绘图的坐标轴对象。如果为None,则创建新的图形和坐标轴。

scatter_kwargs字典,默认为 None

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

line_kwargs字典,默认为 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 坐标轴,默认为 None

要在其上绘图的坐标轴对象。如果为None,则创建新的图形和坐标轴。

kind{"actual_vs_predicted", "residual_vs_predicted"}, default="residual_vs_predicted"

要绘制的图表类型

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

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

scatter_kwargs字典,默认为 None

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

line_kwargs字典,默认为 None

传递给matplotlib.pyplot.plot调用的关键字,用于绘制最优线。

返回:
displayPredictionErrorDisplay

存储计算值的對象。