Visualization

注解

visualization 模块通过 plotly 来绘制图表,但是 JupyterLab 不能直接渲染这些图表。要显示图表的话,请照 JupyterLabinstallation guide 办。

optuna.multi_objective.visualization.plot_pareto_front(study: optuna.multi_objective.study.MultiObjectiveStudy, names: Optional[List[str]] = None) → plotly.graph_objs._figure.Figure[源代码]

返回一个 study 的帕累托前沿面。

示例

下面的代码片段展示来如何绘制一个 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)
参数
  • study -- MultiObjectiveStudy 对象,其trial 的目标函数值都将被绘制出来。

  • names -- 作为轴线标题的目标函数名。如果设置成 None 的话,Optuna 将采用 "Objective {objective_index}"。

返回

plotly.graph_objs.Figure 对象。

引发

ValueError -- 如果 study 的目标函数个数不是 2 或者 3 的话。

注解

在 v2.0.0 中作为试验性特性引入,在未来版本中,该接口可能在没有预先告知的情况下被改变。参考 https://github.com/optuna/optuna/releases/tag/v2.0.0.