optuna.visualization.plot_pareto_front
- optuna.visualization.plot_pareto_front(study, *, target_names=None, include_dominated_trials=True, axis_order=None, constraints_func=None, targets=None)[source]
Plot the Pareto front of a study.
See also
Please refer to Multi-objective Optimization with Optuna for the tutorial of the Pareto front visualization.
Example
The following code snippet shows how to plot the Pareto front of a study.
import optuna def objective(trial): x = trial.suggest_float("x", 0, 5) y = trial.suggest_float("y", 0, 3) v0 = 4 * x ** 2 + 4 * y ** 2 v1 = (x - 5) ** 2 + (y - 5) ** 2 return v0, v1 study = optuna.create_study(directions=["minimize", "minimize"]) study.optimize(objective, n_trials=50) fig = optuna.visualization.plot_pareto_front(study) fig.show()
- Parameters
study (Study) – A
Study
object whose trials are plotted for their objective values.study.n_objectives
must be either 2 or 3 whentargets
isNone
.target_names (Optional[List[str]]) – Objective name list used as the axis titles. If
None
is specified, “Objective {objective_index}” is used instead. Iftargets
is specified for a study that does not contain any completed trial,target_name
must be specified.include_dominated_trials (bool) – A flag to include all dominated trial’s objective values.
axis_order (Optional[List[int]]) – A list of indices indicating the axis order. If
None
is specified, default order is used.axis_order
andtargets
cannot be used at the same time.constraints_func (Optional[Callable[[FrozenTrial], Sequence[float]]]) –
An optional function that computes the objective constraints. It must take a
FrozenTrial
and return the constraints. The return value must be a sequence offloat
s. A value strictly larger than 0 means that a constraint is violated. A value equal to or smaller than 0 is considered feasible. This specification is the same as in, for example,NSGAIISampler
.If given, trials are classified into three categories: feasible and best, feasible but non-best, and infeasible. Categories are shown in different colors. Here, whether a trial is best (on Pareto front) or not is determined ignoring all infeasible trials.
targets (Optional[Callable[[FrozenTrial], Sequence[float]]]) –
A function that returns targets values to display. The argument to this function is
FrozenTrial
.axis_order
andtargets
cannot be used at the same time. Ifstudy.n_objectives
is neither 2 nor 3,targets
must be specified.Note
Added in v3.0.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v3.0.0.
- Returns
A
plotly.graph_objs.Figure
object.- Return type
Figure
Note
Added in v2.4.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v2.4.0.