ForecastingBenchmark#

class ForecastingBenchmark(id_format: str | None = None, backend=None, backend_params=None)[源代码][源代码]#

预测基准。

针对通过数据集加载器、交叉验证分割策略和性能指标定义的一系列任务,运行一系列预测器,并将结果作为数据框返回(同时保存到文件)。

参数:
id_format: str, 可选 (默认=None)

用于强制任务/估计器ID匹配特定格式的正则表达式

后端{“dask”, “loky”, “multiprocessing”, “threading”},默认值为 None。

如果指定,则为每个任务运行并行评估。

  • “None”: 按顺序执行循环,简单的列表推导

  • “loky”、“multiprocessing” 和 “threading”:使用 joblib.Parallel 循环

  • “joblib”:自定义和第三方 joblib 后端,例如 spark

  • “dask”: 使用 dask,需要在环境中安装 dask

  • “dask_lazy”: 与 “dask” 相同

但将返回值更改为(延迟)``dask.dataframe.DataFrame``。

推荐:使用“dask”或“loky”进行并行评估。由于GIL和序列化后端(“dask”和“loky”使用的是``cloudpickle``,通常比“multiprocessing”中使用的标准``pickle``库更健壮),“threading”不太可能看到速度提升。

backend_paramsdict, 可选

作为配置传递给后端的附加参数。直接传递给 utils.parallel.parallelize 。有效键取决于 backend 的值:

  • “None”: 没有额外参数, backend_params 被忽略

  • “loky”、“multiprocessing”和“threading”:默认的 joblib 后端

joblib.Parallel 的任何有效键都可以在这里传递,例如 n_jobs,除了 backend 直接由 backend 控制。如果未传递 n_jobs,它将默认为 -1,其他参数将默认为 joblib 的默认值。 - “joblib”: 自定义和第三方 joblib 后端,例如 sparkjoblib.Parallel 的任何有效键都可以在这里传递,例如 n_jobs,在这种情况下,backend 必须作为 backend_params 的键传递。如果未传递 n_jobs,它将默认为 -1,其他参数将默认为 joblib 的默认值。 - “dask”: 可以传递 dask.compute 的任何有效键,例如 scheduler

方法

add_estimator(estimator[, estimator_id])

将一个估计器注册到基准测试中。

add_task(dataset_loader, cv_splitter, scorers)

将预测任务注册到基准测试中。

run(output_file)

运行基准测试。

add_task(dataset_loader: Callable, cv_splitter: BaseSplitter, scorers: list[sktime.performance_metrics.base._base.BaseMetric], task_id: str | None = None)[源代码][源代码]#

将预测任务注册到基准测试中。

参数:
数据集加载器可调用对象

一个返回数据集的函数,例如来自 sktime.datasets

cv_splitterBaseSplitter 对象

用于生成验证折叠的分割器。

评分器BaseMetric 对象列表

每个 BaseMetric 输出都将包含在结果中。

任务IDstr, 可选 (默认=None)

基准任务的标识符。如果没有给出,则使用数据集加载器名称与cv_splitter类名称的组合。

返回:
该预测器的基准测试结果字典
add_estimator(estimator: BaseEstimator, estimator_id: str | None = None)[源代码]#

将一个估计器注册到基准测试中。

参数:
估计器字典、列表或 BaseEstimator 对象

要添加到基准测试的估计器。如果是字典,键是用于自定义标识符ID的estimator_ids,值是估计器。如果是列表,每个元素都是一个估计器。estimator_ids是使用估计器的类名自动生成的。

estimator_idstr, 可选 (默认=None)

估计器的标识符。如果没有给出,则使用估计器的类名。

run(output_file: str) DataFrame[源代码]#

运行基准测试。

参数:
输出文件str

写入结果输出文件的路径。

返回:
结果的 pandas DataFrame