paddlets.pipeline.pipeline

class Pipeline(steps: List[Tuple[object, str]])[源代码]

基类:Trainable

Pipeline 被用于构建一个时序建模机器学习工作流,它可以包含若干个特征工程方法与一个学习器。

注意: 学习器是可选的,可构建仅存在特征工程方法的 Pipeline 。

参数

steps (List[Tuple[object, str]]) – 包含若干个特征工程方法与一个学习器的列表。构建方法参考下方案例:

实际案例

>>> ...
>>> ksigma_params = {"cols":['example_columns'], "k": 0.5}
>>> mlp_params = {'in_chunk_len': 7, 'out_chunk_len': 3, 'skip_chunk_len': 0, 'eval_metrics': ["mse", "mae"]}
>>> pipeline = Pipeline([(KSigma, ksigma_params), (TimeFeatureGenerator, {}), (MLPRegressor, mlp_params)])
fit(train_tsdataset: Union[TSDataset, List[TSDataset]], valid_tsdataset: Optional[Union[TSDataset, List[TSDataset]]] = None)[源代码]

逐一 fit Pipeline 中的特征工程方法,并对数据进行 transform,然后 fit 学习器。

参数
返回

对于各个特征工程方法与学习器都完成了 fit 的 Pipeline 。

返回类型

Pipeline

transform(tsdataset: Union[TSDataset, List[TSDataset]], inplace: bool = False, cache_transform_steps: bool = False, previous_caches: Optional[List[TSDataset]] = None) Union[TSDataset, Tuple[TSDataset, List[TSDataset]]][源代码]

利用 Pipeline 中已 fit 过的特征工程方法 transform 输入的 TSDataset

参数
  • tsdataset (Union[TSDataset, List[TSDataset]]) – 被处理的数据集。

  • inplace (bool) – 是否是在原本的数据集上转换

  • cache_transform_steps – 是否缓存数据转换的中间副本

  • previous_caches – 以前数据转换中间副本的缓存。

返回

如果设置cache_transform_steps = True,那么将对数据转换的中间副本进行缓存

返回类型

Tuple[TSDataset,Tuple[List[TSDataset],TSDataset]]

inverse_transform(tsdataset: Union[TSDataset, List[TSDataset]], inplace: bool = False) TSDataset[源代码]

数据集逆转换的方法

参数
  • tsdataset (Union[TSDataset, List[TSDataset]]) – 被逆向转换的数据集。

  • inplace (bool) – 是否是在原本的数据集上转换

返回

数据集逆转换

返回类型

TSDataset

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

利用 Pipeline 中已 fit 过的特征工程方法 transform 输入的 TSDataset,并利用已 fit 过的学习器执行预测。注意:此方法仅在模型存在时可用。

参数

tsdataset (TSDataset) – 被预测的数据集。

返回

预测结果。

返回类型

TSDataset

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

利用 Pipeline 中已 fit 过的特征工程方法 transform 输入的 TSDataset,并利用已 fit 过的学习器执行概率预测。注意:此方法仅在模型存在时可用。

参数

tsdataset (TSDataset) – 被预测的数据集。

返回

概率预测结果。

返回类型

TSDataset

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

利用 Pipeline 中已 fit 过的特征工程方法 transform 输入的 TSDataset,并利用已 fit 过的学习器执行异常分数预测。注意:此方法仅在模型存在时可用。

参数

tsdataset (TSDataset) – 被预测的数据集。

返回

异常分数预测结果。

返回类型

TSDataset

recursive_predict(tsdataset: TSDataset, predict_length: int) TSDataset[源代码]

递归预测:一步步利用 self.predict 方法实现多步时序预测。当前时刻的预测结果会被添加至 TSDataset 的目标列中,并在模型预测时,被添加至历史目标值的滑动窗口中用于下一时刻预测。注意:每次调用 self.predict 的输出长度为 out_chunk_len, 所以 self.predict 会被调用 ceiling(predict_length/out_chunk_len) 次,以满足多步时序的输出长度需求。

参数
  • tsdataset (TSDataset) – 被预测的数据集。

  • predict_length (int) – 预测结果长度

返回

预测结果

返回类型

TSDataset

recursive_predict_proba(tsdataset: TSDataset, predict_length: int) TSDataset[源代码]

递归预测:一步步利用 self.predict_proba 方法实现多步时序预测。当前时刻的预测结果会被添加至 TSDataset 的目标列中,并在模型预测时,被添加至历史目标值的滑动窗口中用于下一时刻预测。注意:每次调用 self.predict_proba 的输出长度为 out_chunk_len, 所以 self.predict_proba 会被调用 ceiling(predict_length/out_chunk_len) 次,以满足多步时序的输出长度需求。

参数
  • tsdataset (TSDataset) – 被预测的数据集。

  • predict_length (int) – 预测结果长度

返回

预测结果

返回类型

TSDataset

save(path: str, pipeline_file_name: str = 'pipeline-partial.pkl', model_file_name: str = 'paddlets_model')[源代码]

将 Pipeline 保存至指定目录中。

参数
  • path (str) – 输出目录

  • pipeline_file_name (str) – PipeLine 对象的名称。此文件包含若干特征工程方法和 Pipeline 的元信息。

  • model_file_name (str) – Model 对象的名称。详细信息请参考 BaseModel 的 save() 方法。

classmethod load(path: str, pipeline_file_name: str = 'pipeline-partial.pkl', model_file_name: str = 'paddlets_model')[源代码]

从目录中加载一个 Pipeline 。

参数
  • path (str) – 输入目录

  • pipeline_file_name (str) – PipeLine 对象的名称。此文件包含若干特征工程方法和 Pipeline 的元信息。

  • model_file_name (str) – Model 对象的名称。详细信息请参考 BaseModel 的 save() 方法。

返回

被加载的 Pipeline 对象。

返回类型

Pipeline