optuna.importance.MeanDecreaseImpurityImportanceEvaluator

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

平均减少不纯度 (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)[源代码]

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

注意

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

另请参阅

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

参数:
  • study (Study) – 经过优化的 study。

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

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

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

    注意

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

返回:

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

返回类型:

dict[str, float]