管道

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

基类: object

用于组合多个数据转换器并将它们链接在一起的管道。

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

  • copy (bool) – 如果设置为 True,则在将每个数据转换器添加到管道之前制作其(深)副本

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

  • verbose (Optional[bool, None]) – 是否打印操作进度。注意:此参数将覆盖每个单独转换器中设置的值。将此参数设置为 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

属性

fittable

返回管道是否可拟合。

invertible

返回管道是否可逆。

方法

fit(data)

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

fit_transform(data)

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

inverse_transform(data[, partial, series_idx])

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

transform(data[, series_idx])

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

fit(data)[source]

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

参数

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

fit_transform(data)[source]

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

参数

data (Union[TimeSeries, Sequence[TimeSeries]]) – 用于拟合和转换的 TimeSeries(序列)。

返回值

转换后的数据。

返回类型

Union[TimeSeries, Sequence[TimeSeries]]

property fittable: bool

返回管道是否可拟合。如果管道中至少有一个转换器是可拟合的,则管道是可拟合的。

返回值

如果管道可拟合,则为 True,否则为 False

返回类型

bool

inverse_transform(data, partial=False, series_idx=None)[source]

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

参数
  • data (Union[TimeSeries, Sequence[TimeSeries]]) – 要进行逆向转换的 TimeSeries(序列)。

  • partial (bool) – 如果设置为 True,即使管道不完全可逆,也会应用逆向转换,仅对 InvertibleDataTransformer 调用 inverse_transform() 方法。

  • series_idx (Union[int, Sequence[int], None]) – 可选参数,每个时间序列的索引,对应于用于拟合转换器的时间序列中的位置(用于检索相应的转换器参数)。

返回值

逆向转换后的数据。

返回类型

Union[TimeSeries, Sequence[TimeSeries]]

property invertible: bool

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

返回值

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

返回类型

bool

transform(data, series_idx=None)[source]

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

参数
  • data (Union[TimeSeries, Sequence[TimeSeries]]) – 要进行转换的 TimeSeries(序列)。

  • series_idx (Union[int, Sequence[int], None]) – 可选参数,每个时间序列的索引,对应于用于拟合转换器的时间序列中的位置(用于检索相应的转换器参数)。

返回值

转换后的数据。

返回类型

Union[TimeSeries, Sequence[TimeSeries]]