预测误差显示#
- class sklearn.metrics.PredictionErrorDisplay(*, y_true, y_pred)[source]#
回归模型预测误差的可视化。
此工具可以使用散点图显示“残差与预测值”或“实际值与预测值”,以定性评估回归器的行为,最好是在保留的数据点上进行。
请参阅
from_estimator
或from_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()
- 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
调用的关键字,用于绘制最优线。
- 返回:
- display
PredictionErrorDisplay
存储计算值的项目。
- display
另请参阅
预测误差显示 (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()
- 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
调用的关键字,用于绘制最优线。
- 返回:
- display
PredictionErrorDisplay
存储计算值的项目。
- display
另请参阅
预测误差显示 (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()
- 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
调用的关键字,用于绘制最优线。
- 返回:
- display
PredictionErrorDisplay
存储计算值的對象。
- display