TimeSeriesPredictor.leaderboard

TimeSeriesPredictor.leaderboard(data: TimeSeriesDataFrame | DataFrame | Path | str | None = None, cutoff: int | None = None, extra_info: bool = False, extra_metrics: List[str | TimeSeriesScorer] | None = None, display: bool = False, use_cache: bool = True, **kwargs) DataFrame[源代码]

返回一个排行榜,显示每个已训练模型的性能。输出是一个 pandas 数据帧,包含以下列:

  • model:模型名称。

  • score_test:如果提供 data,则为模型在 data 上的测试分数。根据 eval_metric 计算。

  • score_val:模型使用内部验证数据的验证分数。根据 eval_metric 计算。

注意

评估指标始终以“越高越好”的格式报告。这意味着 MASE 或 MAPE 等指标将乘以 -1,因此它们的值将为负。这是为了避免用户在查看排行榜时需要了解指标才能判断是否越高越好。

  • pred_time_val:模型在验证数据集上预测所需的时间

  • fit_time_marginal:训练模型所需的拟合时间(忽略集成的基础模型)。

  • fit_order:模型拟合的顺序。第一个拟合的模型 fit_order=1,第 N 个拟合的模型 fit_order=N

参数:
  • data (Union[TimeSeriesDataFrame, pd.DataFrame, Path, str], optional) –

    用于额外评估的数据集。必须包含历史和未来数据(即,data 中所有时间序列的长度必须至少为 prediction_length + 1,如果未提供 cutoff;否则为 -cutoff + 1)。

    data 中列和静态特征的名称和 dtype 必须与用于训练预测器的 train_data 相匹配。

    如果提供的数据是 pandas.DataFrame,AutoGluon 将尝试将其转换为 TimeSeriesDataFrame。如果提供的是 strPath,AutoGluon 将尝试加载此文件。

  • cutoff (int, optional) – 一个小于或等于 -1 * prediction_length整数,表示 data 中开始预测评估的时间步长,即时间序列从第 -cutoff 个时间步长评估到第 -cutoff + prediction_length 个时间步长。默认为 -1 * prediction_length,使用每个时间序列的最后 prediction_length 个时间步长进行评估。

  • extra_info (bool, default = False) – 如果为 True,排行榜将包含一个额外的 hyperparameters 列,其中包含每个模型在训练期间使用的超参数。空字典 {} 表示模型使用默认超参数进行训练。

  • extra_metrics (List[Union[str, TimeSeriesScorer]], optional) –

    要计算分数并包含在输出 DataFrame 中的评估指标列表。

    仅当指定了 data 时有效。这些分数是指在 data 上计算的分数(与用于计算 score_test 列的数据相同)。

    此列表可以包含创建 TimeSeriesPredictor 时对于 eval_metric 也有效的任何值。

    对于每个提供的 metric,排行榜中将添加一个名称为 str(metric) 的列,其中包含在 data 上计算的指标值。

  • display (bool, default = False) – 如果为 True,将打印排行榜 DataFrame。

  • use_cache (bool, default = True) – 如果为 True,将尝试使用缓存的预测结果。如果为 False,将忽略缓存的预测结果。如果在创建 TimeSeriesPredictor 时将 cache_predictions 设置为 False,则此参数将被忽略。

返回:

leaderboard – 排行榜,包含所有模型的信息,并按测试性能从优到劣排序。

返回类型:

pandas.DataFrame