time_series_regression_objective#

所有时间序列回归目标函数的基类。

模块内容#

类摘要#

TimeSeriesRegressionObjective

所有时间序列回归目标函数的基类。

目录#

class evalml.objectives.time_series_regression_objective.TimeSeriesRegressionObjective[source]#

所有时间序列回归目标函数的基类。

属性

problem_types

[ProblemTypes.TIME_SERIES_REGRESSION]

方法

calculate_percent_difference

计算得分之间的百分比差异。

expected_range

返回目标函数的预期范围,这不一定是可能的范围。

greater_is_better

返回一个布尔值,指示得分越大是否代表模型性能越好。

is_bounded_like_percentage

返回此目标函数是否包含在0和1之间。

is_defined_for_problem_type

返回目标函数是否为特定问题类型定义。

name

返回描述目标函数的名称。

objective_function

根据指定的度量计算提供的预测值相对于实际标签的相对值。

perfect_score

返回在完美模型上评估此目标函数获得的得分。

positive_only

如果为True,此目标函数仅对正向数据有效。默认为False。

score

返回一个数值得分,根据预测值和实际值之间的差异指示性能。

score_needs_proba

返回一个布尔值,指示score()方法是否需要概率估计。

validate_inputs

基于一些简单检查验证输入。

classmethod calculate_percent_difference(cls, score, baseline_score)#

计算得分之间的百分比差异。

参数
  • score (float) – 一个得分。此目标函数score方法的输出。

  • baseline_score (float) – 一个得分。此目标函数score方法的输出。实践中,这是使用基线估计器在此目标函数上获得的得分。

返回

得分之间的百分比差异。请注意,对于可以解释为百分比的目标函数,这将是参考得分和得分之间的差异。

对于所有其他目标函数,差异将按参考得分归一化。

返回类型

float

property expected_range(cls)#

返回目标函数的预期范围,这不一定是可能的范围。

例如,我们预期的 R2 范围是 [-1, 1],尽管实际范围是 (-inf, 1]。

property greater_is_better(cls)#

返回一个布尔值,指示得分越大是否代表模型性能越好。

property is_bounded_like_percentage(cls)#

返回此目标函数是否包含在0和1之间。

classmethod is_defined_for_problem_type(cls, problem_type)#

返回目标函数是否为特定问题类型定义。

property name(cls)#

返回描述目标函数的名称。

abstract classmethod objective_function(cls, y_true, y_predicted, y_train=None, X=None, sample_weight=None)#

根据指定的度量计算提供的预测值相对于实际标签的相对值。

参数
  • y_predicted (pd.Series) – 预测值,长度为 [n_samples]

  • y_true (pd.Series) – 实际类别标签,长度为 [n_samples]

  • y_train (pd.Series) – 观察到的训练值,长度为 [n_samples]

  • X (pd.DataFramenp.ndarray) – 计算得分所需的额外数据,形状为 [n_samples, n_features]

  • sample_weight (pd.DataFramenp.ndarray) – 计算目标函数值结果时使用的样本权重

返回

用于计算得分的数值

property perfect_score(cls)#

返回在完美模型上评估此目标函数获得的得分。

positive_only(cls)#

如果为True,此目标函数仅对正向数据有效。默认为False。

score(self, y_true, y_predicted, y_train=None, X=None, sample_weight=None)#

返回一个数值得分,根据预测值和实际值之间的差异指示性能。

参数
  • y_predicted (pd.Series) – 预测值,长度为 [n_samples]

  • y_true (pd.Series) – 实际类别标签,长度为 [n_samples]

  • y_train (pd.Series) – 观察到的训练值,长度为 [n_samples]

  • X (pd.DataFramenp.ndarray) – 计算得分所需的额外数据,形状为 [n_samples, n_features]

  • sample_weight (pd.DataFramenp.ndarray) – 计算目标函数值结果时使用的样本权重

返回

score

property score_needs_proba(cls)#

返回一个布尔值,指示score()方法是否需要概率估计。

对于使用预测概率的目标函数(如对数损失或AUC),这应为True;对于将预测类别标签与实际标签进行比较的目标函数(如F1或相关系数),则为False。

validate_inputs(self, y_true, y_predicted)#

基于一些简单检查验证输入。

参数
  • y_predicted (pd.Seriespd.DataFrame) – 预测值,长度为 [n_samples]。

  • y_true (pd.Series) – 实际类别标签,长度为 [n_samples]。

抛出

ValueError – 如果输入格式不正确。