管道¶
- 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
属性
返回管道是否可拟合。
返回管道是否可逆。
方法
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]]