plot_param_importances

optuna.visualization.plot_param_importances(study, evaluator=None, params=None, *, target=None, target_name='Objective Value')[source]

ハイパーパラメータの重要度をプロットします。

See also

この関数は optuna.importance.get_param_importances() の結果を可視化します。

Parameters:
  • study (Study) – 最適化済みのスタディオブジェクト

  • evaluator (BaseImportanceEvaluator | None) –

    重要度評価に使用するアルゴリズムを指定する評価器オブジェクト デフォルトでは FanovaImportanceEvaluator が使用されます。

    Note

    FanovaImportanceEvaluator は 1000 回以上のトライアルを含むスタディの場合、 1 分以上の処理時間を要します。より高速な実装として optuna-fast-fanova ライブラリを公開しています。 これを使用することで、ハイパーパラメータの重要度を数秒で取得できます。

  • params (list[str] | None) – 評価対象のパラメータ名のリスト None の場合、完了したすべてのトライアルに存在するパラメータが評価対象となります。

  • target (Callable[[FrozenTrial], float] | None) –

    表示する値を指定する関数 Nonestudy が単一目的最適化の場合、目的値がプロットされます。 多目的最適化の場合、targetNone の場合はすべての目的値がプロットされます。

    Note

    この引数は、study が多目的最適化に使用されている場合、プロットする目的を指定するために使用できます。 例えば、最初の目的のハイパーパラメータ重要度のみを取得するには、 target=lambda t: t.values[0] をターゲットパラメータとして指定します。

  • target_name (str) – 凡例に表示する目的の名前 set_metric_names() で設定された名前が targetNone の場合に使用され、 この引数を上書きします。

Returns:

plotly.graph_objects.Figure オブジェクト

Return type:

Figure

The following code snippet shows how to plot hyperparameter importances.

import optuna
from plotly.io import show


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


sampler = optuna.samplers.RandomSampler(seed=10)
study = optuna.create_study(sampler=sampler)
study.optimize(objective, n_trials=100)

fig = optuna.visualization.plot_param_importances(study)
show(fig)

Total running time of the script: (0 minutes 0.933 seconds)

Gallery generated by Sphinx-Gallery