PredictionErrorDisplay#
- class sklearn.metrics.PredictionErrorDisplay(*, y_true, y_pred)[source]#
回归模型预测误差的可视化。
该工具可以使用散点图显示“残差 vs 预测值”或“实际值 vs 预测值”,以定性评估回归器的行为,最好是在保留数据点上进行评估。
有关创建可视化器的详细信息,请参阅
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) 的 {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
调用以绘制最佳直线的关键字的字典。
- 返回:
- 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,) 的 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
调用以绘制最佳直线的关键字的字典。
- 返回:
- 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{“实际值 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
调用以绘制最佳直线的关键字的字典。
- 返回:
- display
PredictionErrorDisplay
存储计算值的对象。
- display