管道¶
- 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])对于管道中的每个数据转换器,进行逆转换数据。
返回管道是否可逆。
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]]
- transform(data)[源代码]¶
对于管道中的每个数据转换器,转换数据。然后,转换后的数据传递给下一个转换器。
- 参数
data (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – (序列 的) 时间序列 将被转换。- 返回
转换后的数据。
- 返回类型
Union[TimeSeries, Sequence[TimeSeries]]