optuna.importance.MeanDecreaseImpurityImportanceEvaluator

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

Mean Decrease Impurity (MDI) parameter importance evaluator.

This evaluator fits a random forest that predicts objective values given hyperparameter configurations. Feature importances are then computed using MDI.

备注

This evaluator requires the sklean Python package and is based on sklearn.ensemble.RandomForestClassifier.feature_importances_.

参数
  • n_trees (int) – Number of trees in the random forest.

  • max_depth (int) – The maximum depth of each tree in the random forest.

  • seed (Optional[int]) – Seed for the random forest.

返回类型

None

Methods

evaluate(study[, params, target])

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

evaluate(study, params=None, *, target=None)[源代码]

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

备注

This method is not meant to be called by library users.

参见

Please refer to get_param_importances() for how a concrete evaluator should implement this method.

参数
  • study (optuna.study.Study) – An optimized study.

  • params (Optional[List[str]]) – A list of names of parameters to assess. If None, all parameters that are present in all of the completed trials are assessed.

  • target (Optional[Callable[[optuna.trial._frozen.FrozenTrial], float]]) –

    A function to specify the value to evaluate importances. If it is None and study is being used for single-objective optimization, the objective values are used.

    备注

    Specify this argument if study is being used for multi-objective optimization.

返回

An collections.OrderedDict where the keys are parameter names and the values are assessed importances.

引发

ValueError – If target is None and study is being used for multi-objective optimization.

返回类型

Dict[str, float]