Hyperparameter Importance

optuna.importance.get_param_importances(*args, **kwargs) → Dict[str, float][source]

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.OrderedDict and is ordered by its values in a descending order.

If params is 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 list of 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.

Note

If params is specified as an empty list, an empty dictionary is returned.

Parameters
  • study – An optimized study.

  • evaluator – An importance evaluator object that specifies which algorithm to base the importance assessment on. Defaults to FanovaImportanceEvaluator.

  • params – A list of names of parameters to assess. If None, all parameters that are present in all of the completed trials are assessed.

Returns

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

Note

Added in v1.3.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v1.3.0.

class optuna.importance.FanovaImportanceEvaluator[source]

fANOVA parameter importance evaluator.

Note

Requires the fanova Python package.

Note

Added in v1.3.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v1.3.0.

evaluate(study: optuna.study.Study, params: Optional[List[str]]) → Dict[str, float][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 – An optimized study.

  • params – A list of names of parameters to assess. If None, all parameters that are present in all of the completed trials are assessed.

Returns

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