Visualization¶

Note

visualization module uses plotly to create figures, but JupyterLab cannot render them by default. Please follow this installation guide to show figures in JupyterLab.

optuna.visualization.plot_contour(study: optuna.study.Study, params: Optional[List[str]] = None) → go.Figure[source]

Plot the parameter relationship as contour plot in a study.

Note that, If a parameter contains missing values, a trial with missing values is not plotted.

Example

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

import optuna

def objective(trial):
x = trial.suggest_uniform('x', -100, 100)
y = trial.suggest_categorical('y', [-1, 0, 1])
return x ** 2 + y

study = optuna.create_study()
study.optimize(objective, n_trials=10)

optuna.visualization.plot_contour(study, params=['x', 'y'])

Parameters
• study – A Study object whose trials are plotted for their objective values.

• params – Parameter list to visualize. The default is all parameters.

Returns

A plotly.graph_objs.Figure object.

optuna.visualization.plot_intermediate_values(study: optuna.study.Study) → go.Figure[source]

Plot intermediate values of all trials in a study.

Example

The following code snippet shows how to plot intermediate values.

import optuna

def f(x):
return (x - 2) ** 2

def df(x):
return 2 * x - 4

def objective(trial):
lr = trial.suggest_loguniform("lr", 1e-5, 1e-1)

x = 3
for step in range(128):
y = f(x)

trial.report(y, step=step)
if trial.should_prune():
raise optuna.TrialPruned()

gy = df(x)
x -= gy * lr

return y

study = optuna.create_study()
study.optimize(objective, n_trials=16)

optuna.visualization.plot_intermediate_values(study)

Parameters

study – A Study object whose trials are plotted for their intermediate values.

Returns

A plotly.graph_objs.Figure object.

optuna.visualization.plot_optimization_history(study: optuna.study.Study) → go.Figure[source]

Plot optimization history of all trials in a study.

Example

The following code snippet shows how to plot optimization history.

import optuna

def objective(trial):
x = trial.suggest_uniform('x', -100, 100)
y = trial.suggest_categorical('y', [-1, 0, 1])
return x ** 2 + y

study = optuna.create_study()
study.optimize(objective, n_trials=10)

optuna.visualization.plot_optimization_history(study)

Parameters

study – A Study object whose trials are plotted for their objective values.

Returns

A plotly.graph_objs.Figure object.

optuna.visualization.plot_parallel_coordinate(study: optuna.study.Study, params: Optional[List[str]] = None) → go.Figure[source]

Plot the high-dimentional parameter relationships in a study.

Note that, If a parameter contains missing values, a trial with missing values is not plotted.

Example

The following code snippet shows how to plot the high-dimentional parameter relationships.

import optuna

def objective(trial):
x = trial.suggest_uniform('x', -100, 100)
y = trial.suggest_categorical('y', [-1, 0, 1])
return x ** 2 + y

study = optuna.create_study()
study.optimize(objective, n_trials=10)

optuna.visualization.plot_parallel_coordinate(study, params=['x', 'y'])

Parameters
• study – A Study object whose trials are plotted for their objective values.

• params – Parameter list to visualize. The default is all parameters.

Returns

A plotly.graph_objs.Figure object.

optuna.visualization.plot_slice(study: optuna.study.Study, params: Optional[List[str]] = None) → go.Figure[source]

Plot the parameter relationship as slice plot in a study.

Note that, If a parameter contains missing values, a trial with missing values is not plotted.

Example

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

import optuna

def objective(trial):
x = trial.suggest_uniform('x', -100, 100)
y = trial.suggest_categorical('y', [-1, 0, 1])
return x ** 2 + y

study = optuna.create_study()
study.optimize(objective, n_trials=10)

optuna.visualization.plot_slice(study, params=['x', 'y'])

Parameters
• study – A Study object whose trials are plotted for their objective values.

• params – Parameter list to visualize. The default is all parameters.

Returns

A plotly.graph_objs.Figure object.

optuna.visualization.is_available()bool[source]

Returns whether visualization is available or not.

Note

visualization module depends on plotly version 4.0.0 or higher. If a supported version of plotly isn’t installed in your environment, this function will return False. In such case, please execute \$ pip install -U plotly>=4.0.0 to install plotly.

Returns

True if visualization is available, False otherwise.