get_param_importances(study, *, evaluator=None, params=None, target=None)¶
Evaluate parameter importances based on completed trials in the given study.
The parameter importances are returned as a dictionary where the keys consist of parameter names and their values importances. The importances are represented by floating point numbers that sum to 1.0 over the entire dictionary. The higher the value, the more important. The returned dictionary is of type
collections.OrderedDictand is ordered by its values in a descending order.
None, all parameter that are present in all of the completed trials are assessed. This implies that conditional parameters will be excluded from the evaluation. To assess the importances of conditional parameters, a
listof parameter names can be specified via
params. If specified, only completed trials that contain all of the parameters will be considered. If no such trials are found, an error will be raised.
If the given study does not contain completed trials, an error will be raised.
paramsis specified as an empty list, an empty dictionary is returned.
plot_param_importances()to plot importances.
study (optuna.study.Study) – An optimized study.
evaluator (Optional[optuna.importance._base.BaseImportanceEvaluator]) – An importance evaluator object that specifies which algorithm to base the importance assessment on. Defaults to
target (Optional[Callable[[optuna.trial._frozen.FrozenTrial], float]]) –
A function to specify the value to evaluate importances. If it is
studyis being used for single-objective optimization, the objective values are used.
Specify this argument if
studyis being used for multi-objective optimization. For example, to get the hyperparameter importance of the first objective, use
target=lambda t: t.valuesfor the target parameter.
collections.OrderedDictwhere the keys are parameter names and the values are assessed importances.
- Return type