Skip to content

plot_pareto_front


method plot_pareto_front(models=None, metric=None, title=None, legend=None, figsize=None, filename=None, display=True)[source]

Plot the Pareto front of a study.

Shows the trial scores plotted against each other. The marker's colors indicate the trial number. This plot is only available for models with multi-metric runs and hyperparameter tuning.

Parameters models: int, str, Model or None, default=None
Model to plot. If None, all models are selected. Note that leaving the default option could raise an exception if there are multiple models. To avoid this, call the plot directly from a model, e.g., atom.lr.plot_pareto_front().

metric: str, sequence or None, default=None
Metrics to plot. Use a sequence or add + between options to select more than one. If None, the metrics used to run the pipeline are selected.

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

legend: str, dict or None, default=None
Do nothing. Implemented for continuity of the API.

figsize: tuple or None, default=None
Figure's size in pixels, format as (x, y). If None, it adapts the size to the number of metrics shown.

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.

Returns{#plot_pareto_front-go.Figure or None} go.Figure or None
Plot object. Only returned if display=None.


See Also

plot_edf

Plot the Empirical Distribution Function of a study.

plot_slice

Plot the parameter relationship in a study.

plot_trials

Plot the hyperparameter tuning trials.


Example

>>> from atom import ATOMClassifier
>>> from sklearn.datasets import load_breast_cancer

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

>>> atom = ATOMClassifier(X, y, random_state=1)
>>> atom.run(
...     models="RF",
...     metric=["f1", "accuracy", "recall"],
...     n_trials=15,
...  )
>>> atom.plot_pareto_front()