optuna.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_param_importances
(study: optuna.study.Study, evaluator: optuna.importance._base.BaseImportanceEvaluator = None, params: Optional[List[str]] = None) → go.Figure[source]¶ Plot hyperparameter importances.
Example
The following code snippet shows how to plot hyperparameter importances.
import optuna def objective(trial): x = trial.suggest_int("x", 0, 2) y = trial.suggest_float("y", -1.0, 1.0) z = trial.suggest_float("z", 0.0, 1.5) return x ** 2 + y ** 3 - z ** 4 study = optuna.create_study(sampler=optuna.samplers.RandomSampler()) study.optimize(objective, n_trials=100) optuna.visualization.plot_param_importances(study)
See also
This function visualizes the results of
optuna.importance.get_param_importances()
.- Parameters
study – An optimized study.
evaluator – An importance evaluator object that specifies which algorithm to base the importance assessment on. Defaults to
MeanDecreaseImpurityImportanceEvaluator
.params – A list of names of parameters to assess. If
None
, all parameters that are present in all of the completed trials are assessed.
- Returns
A
plotly.graph_objs.Figure
object.
Note
Added in v1.5.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v1.5.0.
-
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 returnFalse
. In such case, please execute$ pip install -U plotly>=4.0.0
to install plotly.