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_objectivestargetsNone の場合に 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_ordertargets は同時に使用できません。

    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 です。 targetsNone または 2 または 3 の値を返す必要があります。 axis_ordertargets は同時に使用できません。 目的数が 2 または 3 でない場合、targets を指定する必要があります。

    Note

    v3.0.0 で実験的機能として追加されました。インターフェースは予告なく変更される可能性があります。 詳細は https://github.com/optuna/optuna/releases/tag/v3.0.0 を参照してください。

Returns:

matplotlib.axes.Axes オブジェクト。

Return type:

Axes

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.

Pareto-front Plot
/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)

Gallery generated by Sphinx-Gallery