optuna.importance.PedAnovaImportanceEvaluator
- class optuna.importance.PedAnovaImportanceEvaluator(*, baseline_quantile=0.1, evaluate_on_local=True)[源代码]
PED-ANOVA 重要性评估器。
实现了 PED-ANOVA 超参数重要性评估算法。
PED-ANOVA 拟合优于用户指定基线的
COMPLETE
试验的 Parzen 估计器。用户可以通过分位数指定基线。重要性可以解释为每个超参数对于获得优于基线的性能有多重要。有关 PED-ANOVA 算法的更多信息,请参阅以下论文
注意
PED-ANOVA 的性能取决于考虑的优于基线的试验数量。为了稳定分析,最好包含至少 5 个优于基线的试验。
注意
请参阅 原始工作。
- 参数:
示例
使用 PED-ANOVA 的一个示例如下所示
import optuna from optuna.importance import PedAnovaImportanceEvaluator def objective(trial): x1 = trial.suggest_float("x1", -10, 10) x2 = trial.suggest_float("x2", -10, 10) return x1 + x2 / 1000 study = optuna.create_study() study.optimize(objective, n_trials=100) evaluator = PedAnovaImportanceEvaluator() importance = optuna.importance.get_param_importances(study, evaluator=evaluator)
注意
在 v3.6.0 中添加为实验性功能。界面在后续版本中可能会更改,恕不另行通知。请参阅 https://github.com/optuna/optuna/releases/tag/v3.6.0。
方法
evaluate
(study[, params, target])根据给定研究中已完成的试验评估参数重要性。
- evaluate(study, params=None, *, target=None)[源代码]
根据给定研究中已完成的试验评估参数重要性。
注意
此方法不应由库用户调用。
另请参阅
有关具体评估器应如何实现此方法的详细信息,请参阅
get_param_importances()
。- 参数:
study (Study) – 一个已优化的研究对象。
params (list[str] | None) – 要评估的参数名称列表。如果为
None
,则评估所有已完成试验中都存在的参数。target (Callable[[FrozenTrial], float] | None) –
一个函数,用于指定评估重要性的值。如果为
None
且study
用于单目标优化,则使用目标值。也可用于其他试验属性,例如持续时间,如target=lambda t: t.duration.total_seconds()
。注意
如果
study
用于多目标优化,请指定此参数。例如,要获取第一个目标的超参数重要性,对于目标参数,使用target=lambda t: t.values[0]
。
- 返回:
一个
dict
,其中键是参数名称,值是评估的重要性。- 返回类型: