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
Studyobject whose trials are plotted for their objective values.study.n_objectivesmust be either 2 or 3 whentargetsisNone.target_names (Optional[List[str]]) – Objective name list used as the axis titles. If
Noneis specified, “Objective {objective_index}” is used instead. Iftargetsis specified for a study that does not contain any completed trial,target_namemust 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
Noneis specified, default order is used.axis_orderandtargetscannot 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
FrozenTrialand return the constraints. The return value must be a sequence offloats. 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_orderandtargetscannot be used at the same time. Ifstudy.n_objectivesis neither 2 nor 3,targetsmust 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.Figureobject.- 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.