optuna.multi_objective.visualization.plot_pareto_front

optuna.multi_objective.visualization.plot_pareto_front(study, names=None, include_dominated_trials=False, axis_order=None)[source]

Plot the pareto front of a study.

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.multi_objective.create_study(["minimize", "minimize"])
study.optimize(objective, n_trials=50)

optuna.multi_objective.visualization.plot_pareto_front(study)
Parameters
  • study (optuna.multi_objective.study.MultiObjectiveStudy) – A MultiObjectiveStudy object whose trials are plotted for their objective values.

  • names (Optional[List[str]]) – Objective name list used as the axis titles. If None is specified, “Objective {objective_index}” is used instead.

  • 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.

Returns

A plotly.graph_objs.Figure object.

Raises

ValueError – If the number of objectives of study isn’t 2 or 3.

Return type

plotly.graph_objs._figure.Figure

Warning

Deprecated in v2.4.0. This feature will be removed in the future. The removal of this feature is currently scheduled for v4.0.0, but this schedule is subject to change. See https://github.com/optuna/optuna/releases/tag/v2.4.0.