optuna.importance

The importance module provides functionality for evaluating hyperparameter importances based on completed trials in a given study. The utility function get_param_importances() takes a Study and optional evaluator as two of its inputs. The evaluator must derive from BaseImportanceEvaluator, and is initialized as a FanovaImportanceEvaluator by default when not passed in. Users implementing custom evaluators should refer to either FanovaImportanceEvaluator, MeanDecreaseImpurityImportanceEvaluator, or PedAnovaImportanceEvaluator as a guide, paying close attention to the format of the return value from the Evaluator’s evaluate function.

Note

FanovaImportanceEvaluator takes over 1 minute when given a study that contains 1000+ trials. We published optuna-fast-fanova library, that is a Cython accelerated fANOVA implementation. By using it, you can get hyperparameter importances within a few seconds. If n_trials is more than 10000, the Cython implementation takes more than a minute, so you can use PedAnovaImportanceEvaluator instead, enabling the evaluation to finish in a second.

optuna.importance.get_param_importances

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

optuna.importance.FanovaImportanceEvaluator

fANOVA importance evaluator.

optuna.importance.MeanDecreaseImpurityImportanceEvaluator

Mean Decrease Impurity (MDI) parameter importance evaluator.

optuna.importance.PedAnovaImportanceEvaluator

PED-ANOVA importance evaluator.