utils#
EvalML 目标的实用方法。
模块内容#
函数#
获取所有目标的名称列表。 |
|
获取所有有效的核心目标列表。 |
|
返回与给定问题类型相关的所有核心目标实例。 |
|
获取给定问题类型的默认推荐得分指标。 |
|
获取非核心目标类。 |
|
返回与给定目标名称对应的 Objective 类。 |
|
获取用于优化的目标。 |
|
获取用于流水线排名的目标。 |
|
将目标从 [0, inf) 缩放转换为 [0, 1],给定每个目标的最大值和最小值。 |
|
生成要考虑的目标,可选择修改默认值。 |
|
获取仅用于排名的目标类。 |
|
根据一组目标的得分,计算模型的推荐得分。 |
内容#
- evalml.objectives.utils.DEFAULT_RECOMMENDATION_OBJECTIVES#
- evalml.objectives.utils.get_core_objectives(problem_type)[source]#
返回与给定问题类型相关的所有核心目标实例。
核心目标设计为可开箱即用于任何数据集。
- 参数
problem_type (str/ProblemTypes) – 问题类型
- 返回
ObjectiveBase 实例列表
示例
>>> for objective in get_core_objectives("regression"): ... print(objective.name) ExpVariance MaxError MedianAE MSE MAE R2 Root Mean Squared Error >>> for objective in get_core_objectives("binary"): ... print(objective.name) MCC Binary Log Loss Binary Gini AUC Precision F1 Balanced Accuracy Binary Accuracy Binary
- evalml.objectives.utils.get_default_recommendation_objectives(problem_type, imbalanced=False)[source]#
获取给定问题类型的默认推荐得分指标。
- 参数
problem_type (str/ProblemType) – 问题类型
imbalanced (boolean) – 对于多分类问题,类是否不平衡。默认为 False
- 返回
与 ObjectiveBase 目标对应的字符串目标名称集合
- evalml.objectives.utils.get_non_core_objectives()[source]#
获取非核心目标类。
非核心目标是领域特定的目标。用户通常需要在 AutoMLSearch 中使用这些目标之前对其进行配置。
- 返回
ObjectiveBase 类列表
- evalml.objectives.utils.get_objective(objective, return_instance=False, **kwargs)[source]#
返回与给定目标名称对应的 Objective 类。
- 参数
objective (str or ObjectiveBase) – 目标类的名称或实例。
return_instance (bool) – 是否返回目标的实例。这仅适用于 objective 类型为 str 的情况。请注意,该实例将使用默认参数进行初始化。
kwargs (Any) – 要传递给目标的任何关键字参数。仅在 return_instance=True 时使用。
- 返回
如果参数 objective 的类型是 ObjectiveBase,则返回 ObjectiveBase。如果 objective 是一个有效的目标名称,函数将返回对应于该名称的类。如果 return_instance 为 True,将返回该目标的一个实例。
- 引发
TypeError – 如果 objective 为 None。
TypeError – 如果 objective 不是字符串且不是 ObjectiveBase 的实例。
ObjectiveNotFoundError – 如果输入 objective 不是有效目标。
ObjectiveCreationError – 如果无法正确创建 objective。
- evalml.objectives.utils.get_optimization_objectives(problem_type)[source]#
获取用于优化的目标。
- 参数
problem_type (str/ProblemTypes) – 问题类型
- 返回
ObjectiveBase 实例列表
- evalml.objectives.utils.get_ranking_objectives(problem_type)[source]#
获取用于流水线排名的目标。
- 参数
problem_type (str/ProblemTypes) – 问题类型
- 返回
ObjectiveBase 实例列表
- evalml.objectives.utils.normalize_objectives(objectives_to_normalize, max_objectives, min_objectives)[source]#
将目标从 [0, inf) 缩放转换为 [0, 1],给定每个目标的最大值和最小值。
- 参数
objectives_to_normalize (dict[str,float]) – 将目标映射到值的字典
max_objectives (dict[str,float]) – 将目标映射到归一化最大值的映射
min_objectives (dict[str,float]) – 将目标映射到归一化最小值的映射
- 返回
将目标名称映射到其新的归一化值的字典
- evalml.objectives.utils.organize_objectives(problem_type, include=None, exclude=None, imbalanced=False)[source]#
生成要考虑的目标,可选择修改默认值。
- 参数
problem_type (str/ProblemType) – 问题类型
include (list[str/ObjectiveBase]) – 包含默认值之外的目标列表。默认为 None。
exclude (list[str/ObjectiveBase]) – 从默认值中排除的目标列表。默认为 None。
imbalanced (boolean) – 对于多分类问题,类是否不平衡。默认为 False
- 返回
与 ObjectiveBase 目标对应的字符串目标名称列表
- 引发
ValueError – 如果要包含或排除的任何目标对问题类型无效
ValueError – 如果要排除的目标不在默认目标中
- evalml.objectives.utils.ranking_only_objectives()[source]#
获取仅用于排名的目标类。
仅用于排名的目标是那些对评估模型性能有用,但不应由于各种原因在 AutoMLSearch 期间用作优化目标的目标。
- 返回
ObjectiveBase 类列表
- evalml.objectives.utils.recommendation_score(objectives, prioritized_objective=None, custom_weights=None)[source]#
根据一组目标的得分,计算模型的推荐得分。
该推荐得分是给定目标的加权平均值,默认情况下所有目标权重相等。传入一个优先级目标将以该优先级权重加权该目标,所有其他目标将平均分配剩余权重。
- 参数
objectives (dict[str,float]) – 将目标映射到其值的字典。目标值应为介于 0 和 1 之间的浮点数,值越高越好。如果目标不是以这种方式表示得分,则应首先使用 normalize_objectives 函数对得分进行归一化。
prioritized_objective (str) – 优先级目标的可选名称,应比对得分有贡献的其他目标具有更重的权重(总权重的 50%)。默认为 None,此时所有目标权重相等。
custom_weights (dict[str,float]) – 将目标名称映射到介于 0 和 1 之间的相应权重的字典。如果列出了所有目标,总和应为 1。如果列出了一部分目标,总和应小于 1,剩余权重将平均分配给剩余目标。不应与 prioritized_objective 同时使用。
- 返回
一个介于 0 和 100 之间的值,表示根据一组评估的目标,我们对流水线的推荐强度。
- 引发
ValueError – 如果要优先处理的目标不在已知目标中,或者自定义权重不是介于 0 和 1 之间的浮点数。