paddlets.models.base

class Trainable[源代码]

基类:object

所有 trainable classes 的基类。

任何需要完成训练(如:BaseModelPipeline 等) 均可继承自当前基类。如果需要的话,也可实现基类定义的 fit() 方法。

abstract fit(train_data: TSDataset, valid_data: Optional[TSDataset] = None)[源代码]

训练一个 trainable 实例。

任何继承自此类的非抽象子类均需实现此方法。

参数
  • train_data (TSDataset) – 训练集。

  • valid_data (TSDataset, optional) – 验证集,可选参数。

abstract predict(data: TSDataset) TSDataset[源代码]

完成预测。

任何继承自此类的非抽象子类均需实现此方法。

参数

data (TSDataset) – 一个用于时序预测的数据集。

返回

TSDataset数据类型的预测结果。

返回类型

TSDataset

class BaseModel(in_chunk_len: int, out_chunk_len: int, skip_chunk_len: int)[源代码]

基类:Trainable

所有机器学习和深度学习模型的基类。

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

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

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

_in_chunk_len

模型输入的时间序列长度。

Type

int

_out_chunk_len

模型输出的序列长度。

Type

int

_skip_chunk_len

输入序列与输出序列之间跳过的序列长度,既不作为特征也不作为预测目标使用,默认值为0。

Type

int

abstract fit(train_data: TSDataset, valid_data: Optional[TSDataset] = None)[源代码]

训练一个BaseModel类型的实例。

任何继承自此类的非抽象子类均需实现此方法。

参数
  • train_data (TSDataset) – 训练集。

  • valid_data (TSDataset, optional) – 验证集,可选参数。

abstract predict(data: TSDataset) TSDataset[源代码]

完成预测。

任何继承自此类的非抽象子类均需实现此方法。

参数

data (TSDataset) – 一个用于时序预测的数据集。

返回

TSDataset数据类型的预测结果。

返回类型

TSDataset

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

将一个BaseModel模型实例保存在磁盘文件中。

任何继承自此类的非抽象子类均需实现此方法。

参数

path (str) – 一个包含模型文件名的字符串格式的路径。

abstract static load(path: str) BaseModel[源代码]

从给定的文件中加载 BaseModel 模型实例。

任何继承自此类的非抽象子类均需实现此方法。

参数

path (str) – 一个包含模型文件名的字符串格式的路径。

返回

加载完成的模型。

返回类型

BaseModel

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