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 或 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) 的 {array-like, 稀疏矩阵}

输入值。

y形状为 (n_samples,) 的 array-like

目标值。

kind{“实际值 vs 预测值”, “残差 vs 预测值”},默认为 “residual_vs_predicted”

要绘制的图类型

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

  • “residual_vs_predicted”(残差 vs 预测值)绘制残差(即观测值与预测值之差,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,) 的 array-like

真实目标值。

y_pred形状为 (n_samples,) 的 array-like

预测目标值。

kind{“实际值 vs 预测值”, “残差 vs 预测值”},默认为 “residual_vs_predicted”

要绘制的图类型

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

  • “residual_vs_predicted”(残差 vs 预测值)绘制残差(即观测值与预测值之差,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{“实际值 vs 预测值”, “残差 vs 预测值”},默认为 “residual_vs_predicted”

要绘制的图类型

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

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

scatter_kwargs字典,默认为 None

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

line_kwargs字典,默认为 None

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

返回:
displayPredictionErrorDisplay

存储计算值的对象。