optuna.importance.MeanDecreaseImpurityImportanceEvaluator

class optuna.importance.MeanDecreaseImpurityImportanceEvaluator(*, n_trees=64, max_depth=64, seed=None)[source]

平均減少不純度 (MDI) に基づくパラメータ重要度評価器。

この評価器は、パラメータ設定から COMPLETE トライアルの目的値を 予測するランダムフォレスト回帰モデルを構築し、MDI を用いて特徴量重要度を計算します。

Note

この評価器は sklearn パッケージを必要とし、 sklearn.ensemble.RandomForestClassifier.feature_importances_ に基づいています。

Parameters:
  • n_trees (int) – ランダムフォレストで使用するツリーの数

  • max_depth (int) – 各ツリーの最大深さ

  • seed (int | None) – ランダムフォレストのシード値

メソッド

evaluate(study[, params, target])

Evaluate parameter importances based on completed trials in the given study.

evaluate(study, params=None, *, target=None)[source]

指定されたスタディ内の完了済みトライアルに基づいてパラメータ重要度を評価します。

Note

このメソッドはライブラリ利用者が直接呼び出すことを想定していません。

See also

具体的な評価器の実装方法については、get_param_importances() を参照してください。

Parameters:
  • study (Study) – 最適化済みスタディ

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

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

    重要度評価の基準となる値を指定する関数 Nonestudy が単一目的最適化に使用されている場合、目的値が使用されます。 トライアルの期間 (target=lambda t: t.duration.total_seconds()) などの他の属性も指定可能です。

    Note

    study が多目的最適化に使用されている場合、この引数を指定してください。 例えば、最初の目的のハイパーパラメータ重要度を取得するには、 target=lambda t: t.values[0] のように指定します。

Returns:

パラメータ名をキー、評価された重要度を値とする dict

Return type:

dict[str, float]