optuna.importance.FanovaImportanceEvaluator
- class optuna.importance.FanovaImportanceEvaluator(*, n_trees=64, max_depth=64, seed=None)[source]
fANOVA 重要性评估器。
实现了 fANOVA 超参数重要性评估算法,其灵感来源于 An Efficient Approach for Assessing Hyperparameter Importance。
fANOVA 拟合一个随机森林回归模型,该模型可以根据参数配置预测
COMPLETE试验的目标值。该模型越准确,该类评估的重要性就越可靠。注意
需要 sklearn Python 包。
注意
fANOVA 的性能取决于底层随机森林模型的预测性能。为了获得高预测性能,需要覆盖超参数搜索空间的广泛范围。推荐使用探索导向的采样器,例如
RandomSampler。注意
关于如何引用原始工作,请参阅 https://automl.net.cn/fanova/cite.html。
- 参数:
方法
evaluate(study[, params, target])根据给定研究中的已完成试验评估参数重要性。
- evaluate(study, params=None, *, target=None)[source]
根据给定研究中的已完成试验评估参数重要性。
注意
此方法不应由库用户调用。
另请参阅
请参阅
get_param_importances()以了解具体评估器应如何实现此方法。- 参数:
study (Study) – 一个经过优化的 study。
params (list[str] | None) – 要评估的参数名称列表。如果为
None,则评估所有在所有已完成的 trial 中存在的参数。target (Callable[[FrozenTrial], float] | None) –
一个用于指定评估重要性值的函数。如果它为
None且study用于单目标优化,则将使用目标值。也可以用于其他试验属性,例如持续时间,如target=lambda t: t.duration.total_seconds()。注意
如果
study用于多目标优化,请为此参数指定一个值。例如,要获取第一个目标的超参数重要性,请使用target=lambda t: t.values[0]作为目标参数。
- 返回:
一个
dict,其中键是参数名称,值是评估的重要性。- 返回类型: