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.


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.


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


fANOVA importance evaluator.


Mean Decrease Impurity (MDI) parameter importance evaluator.


PED-ANOVA importance evaluator.