Note
Go to the end to download the full example code.
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) –
表示する値を指定する関数
None
でstudy
が単一目的最適化の場合、目的値がプロットされます。 多目的最適化の場合、target
がNone
の場合はすべての目的値がプロットされます。Note
この引数は、
study
が多目的最適化に使用されている場合、プロットする目的を指定するために使用できます。 例えば、最初の目的のハイパーパラメータ重要度のみを取得するには、target=lambda t: t.values[0]
をターゲットパラメータとして指定します。target_name (str) – 凡例に表示する目的の名前
set_metric_names()
で設定された名前がtarget
がNone
の場合に使用され、 この引数を上書きします。
- 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)