Note
Go to the end to download the full example code.
plot_pareto_front
- optuna.visualization.matplotlib.plot_pareto_front(study, *, target_names=None, include_dominated_trials=True, axis_order=None, constraints_func=None, targets=None)[source]
スタディのパレートフロントをプロットします。
See also
使用例については
optuna.visualization.plot_pareto_front()
を参照してください。- Parameters:
study (Study) – 目的値をプロットする
Study
オブジェクト。study.n_objectives
はtargets
がNone
の場合に 2 または 3 である必要があります。target_names (list[str] | None) – 軸のタイトルとして使用する目的名のリスト。
None
を指定した場合は “Objective {objective_index}” が使用されます。targets
が指定されている場合、完了したトライアルが存在しないスタディではtarget_name
を指定する必要があります。include_dominated_trials (bool) – 支配されたトライアルの目的値を含めるかどうかのフラグ。
axis_order (list[int] | None) –
軸の順序を指定するインデックスのリスト。
None
を指定した場合はデフォルトの順序が使用されます。axis_order
とtargets
は同時に使用できません。Warning
v3.0.0 で非推奨となりました。この機能は将来的に削除される予定です。 現在の削除予定は v5.0.0 ですが、変更される可能性があります。 詳細は https://github.com/optuna/optuna/releases/tag/v3.0.0 を参照してください。
constraints_func (Callable[[FrozenTrial], Sequence[float]] | None) –
目的値の制約を計算するオプションの関数。
FrozenTrial
を受け取り、制約値のシーケンスを返す必要があります。 戻り値はfloat
のシーケンスでなければなりません。 0 より大きい値は制約違反を示し、0 以下の値は実行可能とみなされます。 この仕様はNSGAIISampler
などと同様です。この関数が指定されている場合、トライアルは 3 つのカテゴリに分類されます:
実行可能かつ最良、実行可能だが最良ではない、実行不可能。 各カテゴリは異なる色で表示されます。ここで、トライアルが最良(パレートフロント上)であるかどうかは、 実行不可能なトライアルを無視して判定されます。
Warning
v4.0.0 で非推奨となりました。この機能は将来的に削除される予定です。 現在の削除予定は v6.0.0 ですが、変更される可能性があります。 詳細は https://github.com/optuna/optuna/releases/tag/v4.0.0 を参照してください。
targets (Callable[[FrozenTrial], Sequence[float]] | None) –
表示する目的値のタプルを返す関数。 引数は
FrozenTrial
です。targets
はNone
または 2 または 3 の値を返す必要があります。axis_order
とtargets
は同時に使用できません。 目的数が 2 または 3 でない場合、targets
を指定する必要があります。Note
v3.0.0 で実験的機能として追加されました。インターフェースは予告なく変更される可能性があります。 詳細は https://github.com/optuna/optuna/releases/tag/v3.0.0 を参照してください。
- Returns:
matplotlib.axes.Axes
オブジェクト。- Return type:
Note
v2.8.0 で実験的機能として追加されました。インターフェースは予告なく変更される可能性があります。 詳細は https://github.com/optuna/optuna/releases/tag/v2.8.0 を参照してください。
The following code snippet shows how to plot the Pareto front of a study.

/mnt/nfs-mnj-hot-99-home/mshibata/sandbox/optuna-documentation-plamo-ja/optuna-doc-plamo-translation/tmp-optuna/docs/visualization_matplotlib_examples/optuna.visualization.matplotlib.pareto_front.py:27: ExperimentalWarning:
plot_pareto_front is experimental (supported from v2.8.0). The interface can change in the future.
<Axes: title={'center': 'Pareto-front Plot'}, xlabel='Objective 0', ylabel='Objective 1'>
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.create_study(directions=["minimize", "minimize"])
study.optimize(objective, n_trials=50)
optuna.visualization.matplotlib.plot_pareto_front(study)
Total running time of the script: (0 minutes 0.097 seconds)