optuna.visualization.plot_rank

optuna.visualization.plot_rank(study, params=None, *, target=None, target_name='Objective Value')[source]

Plot parameter relations as scatter plots with colors indicating ranks of target value.

Note that trials missing the specified parameters will not be plotted.

Example

The following code snippet shows how to plot the parameter relationship as a rank plot.

import optuna


def objective(trial):
    x = trial.suggest_float("x", -100, 100)
    y = trial.suggest_categorical("y", [-1, 0, 1])

    c0 = 400 - (x + y)**2
    trial.set_user_attr("constraint", [c0])

    return x ** 2 + y


def constraints(trial):
    return trial.user_attrs["constraint"]


sampler = optuna.samplers.TPESampler(seed=10, constraints_func=constraints)
study = optuna.create_study(sampler=sampler)
study.optimize(objective, n_trials=30)

fig = optuna.visualization.plot_rank(study, params=["x", "y"])
fig.show()
Parameters:
  • study (Study) – A Study object whose trials are plotted for their target values.

  • params (list[str] | None) – Parameter list to visualize. The default is all parameters.

  • target (Callable[[FrozenTrial], float] | None) –

    A function to specify the value to display. If it is None and study is being used for single-objective optimization, the objective values are plotted.

    Note

    Specify this argument if study is being used for multi-objective optimization.

  • target_name (str) – Target’s name to display on the color bar.

Returns:

A plotly.graph_objects.Figure object.

Return type:

Figure

Note

This function requires plotly >= 5.0.0.

Note

Added in v3.2.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v3.2.0.