paddlets.automl.autots

class AutoTS(estimator: Union[str, Type[BaseModel], List[Union[str, Type[BaseTransform], Type[BaseModel]]]], in_chunk_len: int, out_chunk_len: int, skip_chunk_len: int = 0, sampling_stride: int = 1, search_space: Union[str, dict] = 'auto', search_alg: str = 'auto', resampling_strategy: str = 'auto', split_ratio: Union[str, float] = 'auto', k_fold: Union[str, int] = 'auto', metric: str = 'auto', mode: str = 'auto', refit: bool = True, ensemble: bool = False, local_dir: Optional[str] = None, n_jobs: int = - 1, verbose: int = 4)[源代码]

基类:BaseModel

AutoTS是用于支持PaddleTS的自动机器学习能力组件。AutoTS 可以支持 PaddleTS 模型和 pipeline 的自动超参数选择,减少人工介入成本,降低专业门槛。

参数
  • estimator (Union[str, Type[BaseModel], List[Union[str, Type[BaseTransform], Type[BaseModel]]]]) – 一个 PaddleTS 模型的类名,或者是由若干个 PaddleTS 的特征工程类名与一个 PaddleTS 模型类名组成的列表。

  • in_chunk_len (int) – 模型输入的时间序列长度。

  • out_chunk_len (int) – 模型输出的序列长度。

  • skip_chunk_len (int) – 可选变量,输入序列与输出序列之间跳过的序列长度,既不作为特征也不作为预测目标使用,默认值为0。

  • sampling_stride (int) – 相邻样本间的采样间隔。

  • search_space (Union[str, dict]) – 用于 AutoTS 超参优化的搜索空间。若搜索空间设置为 ‘auto’,内置的默认搜索空间会被应用于超参优化。

  • search_alg (str) – 超参优化算法。支持的算法为 ‘auto’, ‘Random’, ‘CMAES’, ‘TPE’, ‘CFO’, ‘BlendSearch’, ‘Bayes’。若设置为 ‘auto’, 则会基于我们的试验、测试结果采用’TPE’作为超参优化算法。

  • resampling_strategy (str) – 重采样策略。支持的重采样策略是 ‘auto’, ‘cv’, ‘holdout’。若设置为 ‘auto’,则 ‘holdout’策略会被默认使用,split_ratio 会被设置为DEFAULT_SPLIT_RATIO。

  • split_ratio (Union[str, float]) – 重采样策略为 holdout 时,被留作验证集的数据的比例。切分比例必须在(0, 1)内。当切分比例设置为 ‘auto’, 则切分比例会被设置为 DEFAULT_SPLIT_RATIO。 注意:若 valid_tsdataset 在 fit 中被提供,则此变量会被忽略。

  • k_fold (Union[str, int]) – 当重采样策略为 cv 时,交叉验证的 fold 的数量。此参数必须在(0, 10]内。当被设置为 ‘auto’,k_fold 会被设置为DEFAULT_K_FOLD。注意:若 valid_tsdataset 在 fit 中被提供,则此变量会被忽略。

  • metric (str) – metric的名字。metric 会被用于计算在 validation 数据集上的 loss,并反馈给超参优化算法。

  • mode (str) – 根据优化模式,metric会向增大或者减小的方向优化。

  • refit (bool) – 是否利用超参寻优过程中获得的最佳参数 refit 模型。若是 True,则AutoTS 模型可以用于预测。若是 False,则 AutoTS 模型可以用来获取寻优过程中获得的最优参数,但不能用于预测。

  • local_dir (str) – 用于存放 ray 的运行结果。临时日志由于ray的已知issue,暂未存储在用户指定的local dir。用户须自行清理ray的临时log文件夹,基于系统,可能存储于/tmp 或 /usr/tmp 等文件夹。临时文件夹可由环境变量RAY_TMPDIR/TMPDIR,或者基于系统根目录的/tmp或者利用tempfile.gettempdir()获取。

  • ensemble (bool) – 暂未支持。

  • n_jobs (int) – 暂未支持。

  • verbose (int) – 暂未支持。

实际案例

>>> from paddlets.automl.autots import AutoTS
>>> from paddlets.models.forecasting import MLPRegressor
>>> from paddlets.datasets.repository import get_dataset
>>> tsdataset = get_dataset("UNI_WTH")
>>> autots_model = AutoTS(MLPRegressor, 96, 2)
>>> autots_model.fit(tsdataset)
>>> predicted_tsdataset = autots_model.predict(tsdataset)
>>> best_param = autots_model.best_param
fit(train_tsdataset: Union[TSDataset, List[TSDataset]], valid_tsdataset: Union[TSDataset, List[TSDataset]] = None, n_trials: int = 20, cpu_resource: float = 1.0, gpu_resource: float = 0, max_concurrent_trials: int = 1)[源代码]

利用给定的 tsdataset 拟合评估器。拟合过程中,优化算法将从搜索空间中推荐算法的参数配置,并在配置中选择最佳的算法参数配置。如果 refit 是 True,那么最佳的参数配置与训练数据将被用于拟合最佳模型。

参数
  • train_tsdataset (Union[TSDataset, List[TSDataset]]) – 训练数据集。

  • valid_tsdataset (Union[TSDataset, List[TSDataset]], optional) – 验证数据集

  • n_trials (int) – 超参优化算法可以建议的算法配置的数量。

  • cpu_resource (float) – 被分配到每个算法配置训练过程中的 CPU 资源。

  • gpu_resource (float) – 被分配到每个算法配置训练过程中的 GPU 资源。注意,如果你不指定此参数,则GPU资源不会被使用。此参数的使用可以查看AutoTS使用文档。

  • max_concurrent_trials (int) – 最大并发运行的参数试验数量。

返回

拟合过的评估器。

返回类型

Optional(BaseModel, Pipeline)

predict(tsdataset: TSDataset) TSDataset[源代码]

推理预测。

参数

tsdataset – 被预测数据。

返回

在 refit 后的评估器上调用 predict 的预测结果。

返回类型

TSDataset

property best_param

返回超参寻优过程中获得的最佳算法配置参数。

返回

最佳算法配置参数的字典。

返回类型

Dict

best_estimator()[源代码]

返回超参寻优过程中获得的最佳模型。

返回

AutoTS计算获得的最佳模型

返回类型

estimator

search_space()[源代码]

返回参数搜索空间。如果搜索空间是 ‘auto’,它会返回内置的默认搜索空间。

返回

搜索空间的配置字典。

返回类型

Dict

save(path: str) None[源代码]

暂未支持。

classmethod load()[源代码]

暂未支持。

is_refitted()[源代码]
返回

Autots 模型是否进行 refit。

返回类型

Bool