optuna.importance.MeanDecreaseImpurityImportanceEvaluator

class optuna.importance.MeanDecreaseImpurityImportanceEvaluator(*, n_trees=64, max_depth=64, seed=None)[source]

平均不纯度下降 (MDI) 参数重要性评估器。

此评估器拟合一个随机森林回归模型,该模型根据参数配置预测 COMPLETE 试验的目标值。然后使用 MDI 计算特征重要性。

注意

此评估器需要 sklearn Python 包,并且基于 sklearn.ensemble.RandomForestClassifier.feature_importances_

参数:
  • n_trees (int) – 随机森林中的树数量。

  • max_depth (int) – 随机森林中每棵树的最大深度。

  • seed (int | None) – 随机森林的种子。

方法

evaluate(study[, params, target])

基于给定研究中已完成的试验评估参数重要性。

evaluate(study, params=None, *, target=None)[source]

基于给定研究中已完成的试验评估参数重要性。

注意

此方法不应由库用户调用。

另请参见

请参阅 get_param_importances() 了解具体的评估器如何实现此方法。

参数:
  • study (Study) – 一个已优化的研究 (Study)。

  • params (list[str] | None) – 要评估的参数名称列表。如果为 None,则评估所有已完成试验中存在的参数。

  • target (Callable[[FrozenTrial], float] | None) –

    一个函数,用于指定评估重要性的值。如果为 Nonestudy 用于单目标优化,则使用目标值。也可用于其他试验属性,例如持续时间,如 target=lambda t: t.duration.total_seconds()

    注意

    如果 study 用于多目标优化,请指定此参数。例如,要获取第一个目标值的超参数重要性,可以使用 target=lambda t: t.values[0] 作为目标参数。

返回:

一个 dict,其中键是参数名称,值是评估的重要性。

返回类型:

dict[str, float]