optuna.importance.get_param_importances
- optuna.importance.get_param_importances(study, *, evaluator=None, params=None, target=None, normalize=True)[source]
根据给定研究中的已完成试验评估参数重要性。
参数重要性以字典形式返回,其中键是参数名称,值是重要性。重要性由非负浮点数表示,值越高表示参数越重要。返回的字典按值降序排列。默认情况下,重要性值的总和被归一化为 1.0。
如果
params是None,则评估所有在所有已完成的 trial 中都存在的参数。这意味着条件参数将被排除在评估之外。要评估条件参数的重要性,可以通过params指定参数名称的list。如果指定了,则只考虑包含所有参数的已完成的 trial。如果没有找到这样的 trial,将引发错误。如果给定的 study 不包含已完成的 trial,将引发错误。
注意
如果
params被指定为空列表,则返回一个空字典。另请参阅
请参阅
plot_param_importances()来绘制重要性。- 参数:
study (Study) – 一个已优化的 study。
evaluator (BaseImportanceEvaluator | None) – 一个重要性评估器对象,用于指定基于哪种算法进行重要性评估。默认为
FanovaImportanceEvaluator。params (list[str] | None) – 要评估的参数名称列表。如果为
None,则评估所有在所有已完成的 trial 中存在的参数。target (Callable[[FrozenTrial], float] | None) –
一个指定要评估重要性的值的函数。如果它是
None并且study被用于单目标优化,则使用目标值。target必须在study被用于多目标优化时指定。注意
如果
study被用于多目标优化,请指定此参数。例如,要获得第一个目标的超参数重要性,请使用target=lambda t: t.values[0]作为目标参数。normalize (bool) –
一个布尔选项,用于指定重要性值的总和是否应归一化为 1.0。默认为
True。注意
在 v3.0.0 中作为实验性功能添加。接口在后续版本中可能在没有事先通知的情况下发生更改。请参阅 https://github.com/optuna/optuna/releases/tag/v3.0.0。
- 返回:
一个
dict,其中键是参数名称,值是评估的重要性。- 返回类型: