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)[源代码]
基类:
BaseModelAutoTS是用于支持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) – 最大并发运行的参数试验数量。
- 返回
拟合过的评估器。
- 返回类型
- predict(tsdataset: TSDataset) TSDataset[源代码]
推理预测。
- 参数
tsdataset – 被预测数据。
- 返回
在 refit 后的评估器上调用 predict 的预测结果。
- 返回类型
- property best_param
返回超参寻优过程中获得的最佳算法配置参数。
- 返回
最佳算法配置参数的字典。
- 返回类型
Dict