管道

class darts.dataprocessing.pipeline.Pipeline(transformers, copy=False, verbose=None, n_jobs=None)[源代码]

基类:object

组合多个数据转换器的管道,将它们串联在一起。

参数
  • transformers (Sequence[BaseDataTransformer]) – 数据转换器的序列。

  • copy (bool) – 如果设置,则在将每个数据转换器添加到管道之前,会对其进行(深度)复制。

  • n_jobs (int) – 要并行运行的作业数量。只有在将 Sequence[TimeSeries] 作为输入传递给方法时,才会创建并行作业,并行处理不同的 TimeSeries 操作。默认为 1`(顺序执行)。将参数设置为 `-1 表示使用所有可用处理器。注意:对于少量数据,并行化开销可能会最终增加总所需时间。注意:此参数将覆盖每个单独转换器中设置的值。将此参数保留为 None 以保持原始转换器的配置。

  • verbose (bool) – 是否打印操作的进度。注意:此参数将覆盖每个单独转换器中设置的值。将此参数设置为 None 以保持转换器的配置。

实际案例

>>> import numpy as np
>>> from darts import TimeSeries
>>> from darts.datasets import AirPassengersDataset
>>> from darts.dataprocessing.transformers import Scaler, MissingValuesFiller
>>> from darts.dataprocessing.pipeline import Pipeline
>>> values = np.arange(start=0, stop=12.5, step=2.5)
>>> values[1:3] = np.nan
>>> series = series.from_values(values)
>>> pipeline = Pipeline([MissingValuesFiller(), Scaler()])
>>> series_transformed = pipeline.fit_transform(series)
<TimeSeries (DataArray) (time: 5, component: 1, sample: 1)>
array([[[0.  ]],
    [[0.25]],
    [[0.5 ]],
    [[0.75]],
    [[1.  ]]])
Coordinates:
* time       (time) int64 0 1 2 3 4
* component  (component) object '0'
Dimensions without coordinates: sample

方法

fit(data)

拟合管道中所有可拟合的转换器。

fit_transform(data)

对于管道中的每个数据转换器,首先如果转换器是可拟合的,则拟合数据,然后使用拟合的转换器转换数据。

inverse_transform(data[, partial])

对于管道中的每个数据转换器,进行逆转换数据。

invertible()

返回管道是否可逆。

transform(data)

对于管道中的每个数据转换器,转换数据。

fit(data)[源代码]

拟合管道中所有可拟合的转换器。

参数

data (Union[TimeSeries, Sequence[TimeSeries]]) – (序列 的) 时间序列 拟合。

fit_transform(data)[源代码]

对于管道中的每个数据转换器,首先如果转换器是可拟合的,则拟合数据,然后使用拟合的转换器转换数据。转换后的数据随后传递给下一个转换器。

参数

data (Union[TimeSeries, Sequence[TimeSeries]]) – (序列 的) 时间序列 以拟合和转换。

返回

转换后的数据。

返回类型

Union[TimeSeries, Sequence[TimeSeries]]

inverse_transform(data, partial=False)[源代码]

对于管道中的每个数据转换器,进行逆转换数据。然后逆转换后的数据传递给下一个转换器。转换器按相反顺序遍历。如果并非所有转换器都可逆且 partial 设置为 False,则引发值错误。将 partial 设置为 True,以便仅对管道中的 InvertibleDataTransformer 进行逆转换。

参数
  • data (Union[TimeSeries, Sequence[TimeSeries]]) – (序列)时间序列将被反向转换。

  • partial (bool) – 如果设置为 True,即使管道不完全可逆,也会应用逆变换,仅在 InvertibleDataTransformer 上调用 inverse_transform()

返回

逆变换后的数据。

返回类型

Union[TimeSeries, Sequence[TimeSeries]]

invertible()[源代码]

返回管道是否可逆。如果管道中的所有转换器本身都是可逆的,则管道是可逆的。

返回

True 如果管道是可逆的,否则为 False

返回类型

bool

transform(data)[源代码]

对于管道中的每个数据转换器,转换数据。然后,转换后的数据传递给下一个转换器。

参数

data (Union[TimeSeries, Sequence[TimeSeries]]) – (序列 的) 时间序列 将被转换。

返回

转换后的数据。

返回类型

Union[TimeSeries, Sequence[TimeSeries]]