optuna.importance.MeanDecreaseImpurityImportanceEvaluator¶
-
class
optuna.importance.
MeanDecreaseImpurityImportanceEvaluator
(*, n_trees=64, max_depth=64, seed=None)[source]¶ 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.
Note
This evaluator requires the sklean Python package and is based on sklearn.ensemble.RandomForestClassifier.feature_importances_.
- Parameters
n_trees – Number of trees in the random forest.
max_depth – The maximum depth of each tree in the random forest.
seed – Seed for the random forest.
Methods
evaluate
(study[, params, target])Evaluate parameter importances based on completed trials in the given study.
-
evaluate
(study, params=None, *, target=None)[source]¶ Evaluate parameter importances based on completed trials in the given study.
Note
This method is not meant to be called by library users.
See also
Please refer to
get_param_importances()
for how a concrete evaluator should implement this method.- Parameters
study (optuna.study.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
andstudy
is being used for single-objective optimization, the objective values are used. Can also be used for other trial attributes, such as the duration, liketarget=lambda t: t.duration.total_seconds()
.Note
Specify this argument if
study
is being used for multi-objective optimization. For example, to get the hyperparameter importance of the first objective, usetarget=lambda t: t.values[0]
for the target parameter.
- Returns
An
collections.OrderedDict
where the keys are parameter names and the values are assessed importances.- Raises
ValueError – If
target
isNone
andstudy
is being used for multi-objective optimization.- Return type