Skip to content

plot_residuals


method plot_residuals(models=None, rows="test", target=0, title=None, legend="upper left", figsize=(900, 600), filename=None, display=True)[source]
Plot a model's residuals.

The plot shows the residuals (difference between the predicted and the true value) on the vertical axis and the independent variable on the horizontal axis. This plot can be useful to analyze the variance of the regressor's errors. If the points are randomly dispersed around the horizontal axis, a linear regression model is appropriate for the data; otherwise, a non-linear model is more appropriate. This plot is unavailable for classification tasks.

Parametersmodels: int, str, Model, segment, sequence or None, default=None
Models to plot. If None, all models are selected.

rows: str, sequence or dict, default="test"
Selection of rows on which to calculate the metric.

  • If str: Name of the data set to plot.
  • If sequence: Names of the data sets to plot.
  • If dict: Names of the sets with corresponding selection of rows as values.

target: int or str, default=0
Target column to look at. Only for multioutput tasks.

title: str, dict or None, default=None
Title for the plot.

legend: str, dict or None, default="upper left"
Legend for the plot. See the user guide for an extended description of the choices.

  • If None: No legend is shown.
  • If str: Position to display the legend.
  • If dict: Legend configuration.

figsize: tuple, default=(900, 600)
Figure's size in pixels, format as (x, y).

filename: str, Path or None, default=None
Save the plot using this name. Use "auto" for automatic naming. The type of the file depends on the provided name (.html, .png, .pdf, etc...). If filename has no file type, the plot is saved as html. If None, the plot is not saved.

display: bool or None, default=True
Whether to render the plot. If None, it returns the figure.

Returnsgo.Figure or None
Plot object. Only returned if display=None.


See Also

plot_errors

Plot a model's prediction errors.


Example

>>> from atom import ATOMRegressor
>>> from sklearn.datasets import load_diabetes

>>> X, y = load_diabetes(return_X_y=True, as_frame=True)

>>> atom = ATOMRegressor(X, y)
>>> atom.run(["OLS", "LGB"])
>>> atom.plot_residuals()