TimeSeriesPredictor.evaluate¶
- TimeSeriesPredictor.evaluate(data: TimeSeriesDataFrame | DataFrame | Path | str, model: str | None = None, metrics: str | TimeSeriesScorer | List[str | TimeSeriesScorer] | None = None, cutoff: int | None = None, display: bool = False, use_cache: bool = True) Dict[str, float] [source]¶
评估给定数据集的预测准确性。
此方法使用
data
中每个时间序列的最后self.prediction_length
个时间步作为保留集来衡量预测准确性。注意
评估指标始终以“越大越好”的格式报告。这意味着像 MASE 或 MAPE 这样的指标将乘以 -1,因此它们的值将是负数。这对于避免用户在查看评估结果时需要知道指标来判断是否越大越好是必要的。
- 参数:
data (Union[TimeSeriesDataFrame, pd.DataFrame, Path, str]) –
用于评估最佳模型的数据集。如果未提供
cutoff
,则data
中每个时间序列的最后prediction_length
个时间步将作为预测的保留集,并在这些时间步上计算预测准确性。如果提供了cutoff
,则使用每个时间序列中从第-cutoff
个到第-cutoff
+prediction_length
个时间步进行评估。必须包含历史数据和未来数据(即,如果未提供
cutoff
,data
中所有时间序列的长度必须至少为prediction_length
+ 1,否则为-cutoff
+ 1)。data
中列和静态特征的名称及数据类型必须与用于训练预测器的train_data
匹配。如果提供的数据是
pandas.DataFrame
,AutoGluon 将尝试将其转换为TimeSeriesDataFrame
。如果提供的是str
或Path
,AutoGluon 将尝试加载此文件。model (str, optional) – 您希望评估的模型的名称。默认情况下,将使用训练期间表现最佳(验证分数最高)的模型。
metrics (str, TimeSeriesScorer or List[Union[str, TimeSeriesScorer]], optional) – 用于计算分数的评估指标或指标列表。默认为
self.eval_metric
。支持字符串格式的指标名称以及基于 TimeSeriesScorer 的自定义指标。cutoff (int, optional) – 一个小于或等于
-1
*prediction_length
的负整数,表示data
中开始预测评估的时间步,即时间序列从第-cutoff
个时间步到第-cutoff
+prediction_length
个时间步进行评估。默认为-1
*prediction_length
,使用每个时间序列的最后prediction_length
个时间步进行评估。display (bool, default = False) – 如果为 True,则将打印分数。
use_cache (bool, default = True) – 如果为 True,将尝试使用缓存的预测结果。如果为 False,将忽略缓存的预测结果。如果在创建
TimeSeriesPredictor
时将cache_predictions
设置为 False,则此参数将被忽略。
- 返回值:
scores_dict – 字典,其中键 = 评估指标,值 = 每个指标对应的性能。为保持一致性,误差指标将翻转其符号以遵循此约定。例如,将报告负值的 MAPE。要获取
eval_metric
的分数,请执行output[predictor.eval_metric.name]
。- 返回类型:
Dict[str, float]