PredictionErrorDisplay (original) (raw)

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

Visualization of the prediction error of a regression model.

This tool can display “residuals vs predicted” or “actual vs predicted” using scatter plots to qualitatively assess the behavior of a regressor, preferably on held-out data points.

See the details in the docstrings offrom_estimator orfrom_predictions to create a visualizer. All parameters are stored as attributes.

For general information regarding scikit-learn visualization tools, read more in the Visualization Guide. For details regarding interpreting these plots, refer to theModel Evaluation Guide.

Added in version 1.2.

Parameters:

y_truendarray of shape (n_samples,)

True values.

y_predndarray of shape (n_samples,)

Prediction values.

Attributes:

**line_**matplotlib Artist

Optimal line representing y_true == y_pred. Therefore, it is a diagonal line for kind="predictions" and a horizontal line forkind="residuals".

**errors_lines_**matplotlib Artist or None

Residual lines. If with_errors=False, then it is set to None.

**scatter_**matplotlib Artist

Scatter data points.

**ax_**matplotlib Axes

Axes with the different matplotlib axis.

**figure_**matplotlib Figure

Figure containing the scatter and lines.

See also

PredictionErrorDisplay.from_estimator

Prediction error visualization given an estimator and some data.

PredictionErrorDisplay.from_predictions

Prediction error visualization given the true and predicted targets.

Examples

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]#

Plot the prediction error given a regressor and some data.

For general information regarding scikit-learn visualization tools, read more in the Visualization Guide. For details regarding interpreting these plots, refer to theModel Evaluation Guide.

Added in version 1.2.

Parameters:

estimatorestimator instance

Fitted regressor or a fitted Pipelinein which the last estimator is a regressor.

X{array-like, sparse matrix} of shape (n_samples, n_features)

Input values.

yarray-like of shape (n_samples,)

Target values.

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

The type of plot to draw:

subsamplefloat, int or None, default=1_000

Sampling the samples to be shown on the scatter plot. If float, it should be between 0 and 1 and represents the proportion of the original dataset. If int, it represents the number of samples display on the scatter plot. If None, no subsampling will be applied. by default, 1000 samples or less will be displayed.

random_stateint or RandomState, default=None

Controls the randomness when subsample is not None. See Glossary for details.

axmatplotlib axes, default=None

Axes object to plot on. If None, a new figure and axes is created.

scatter_kwargsdict, default=None

Dictionary with keywords passed to the matplotlib.pyplot.scattercall.

line_kwargsdict, default=None

Dictionary with keyword passed to the matplotlib.pyplot.plotcall to draw the optimal line.

Returns:

displayPredictionErrorDisplay

Object that stores the computed values.

See also

PredictionErrorDisplay

Prediction error visualization for regression.

PredictionErrorDisplay.from_predictions

Prediction error visualization given the true and predicted targets.

Examples

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]#

Plot the prediction error given the true and predicted targets.

For general information regarding scikit-learn visualization tools, read more in the Visualization Guide. For details regarding interpreting these plots, refer to theModel Evaluation Guide.

Added in version 1.2.

Parameters:

y_truearray-like of shape (n_samples,)

True target values.

y_predarray-like of shape (n_samples,)

Predicted target values.

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

The type of plot to draw:

subsamplefloat, int or None, default=1_000

Sampling the samples to be shown on the scatter plot. If float, it should be between 0 and 1 and represents the proportion of the original dataset. If int, it represents the number of samples display on the scatter plot. If None, no subsampling will be applied. by default, 1000 samples or less will be displayed.

random_stateint or RandomState, default=None

Controls the randomness when subsample is not None. See Glossary for details.

axmatplotlib axes, default=None

Axes object to plot on. If None, a new figure and axes is created.

scatter_kwargsdict, default=None

Dictionary with keywords passed to the matplotlib.pyplot.scattercall.

line_kwargsdict, default=None

Dictionary with keyword passed to the matplotlib.pyplot.plotcall to draw the optimal line.

Returns:

displayPredictionErrorDisplay

Object that stores the computed values.

See also

PredictionErrorDisplay

Prediction error visualization for regression.

PredictionErrorDisplay.from_estimator

Prediction error visualization given an estimator and some data.

Examples

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]#

Plot visualization.

Extra keyword arguments will be passed to matplotlib’s plot.

Parameters:

axmatplotlib axes, default=None

Axes object to plot on. If None, a new figure and axes is created.

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

The type of plot to draw:

scatter_kwargsdict, default=None

Dictionary with keywords passed to the matplotlib.pyplot.scattercall.

line_kwargsdict, default=None

Dictionary with keyword passed to the matplotlib.pyplot.plotcall to draw the optimal line.

Returns:

displayPredictionErrorDisplay

Object that stores computed values.