MODULE REFERENCE
pipeline
anomx.data.processing.pipelinePipeline
Pipeline
Pipeline(transformers: Sequence[BaseDataTransformer], copy: bool = False, verbose: bool | None = None, n_jobs: int | None = None)| Parameter | Type | Default |
|---|---|---|
transformers | Sequence[BaseDataTransformer] | required |
copy | bool | False |
verbose | bool | None | None |
n_jobs | int | None | None |
Pipeline to combine multiple data transformers, chaining them together.
Parameters
- transformers
Sequence of data transformers.
- copy
If set makes a (deep) copy of each data transformer before adding them to the pipeline
- n_jobs
The number of jobs to run in parallel. Parallel jobs are created only when a
Sequence[TimeSeries]is passed as input to a method, parallelising operations regarding differentTimeSeries. Defaults to1(sequential). Setting the parameter to-1means using all the available processors. Note: for a small amount of data, the parallelisation overhead could end up increasing the total required amount of time. Note: this parameter will overwrite the value set in each single transformer. Leave this parameter set toNonefor keeping the original transformers' configurations.- verbose
Whether to print progress of the operations. Note: this parameter will overwrite the value set in each single transformer. Leave this parameter set to
Nonefor keeping the transformers configurations.
Examples
>>> import numpy as np
>>> from anomx.data.timeseries import TimeSeries
>>> from anomx.data.processing.transformers import Scaler, MissingValuesFiller
>>> from anomx.data.processing.pipeline import Pipeline
>>> values = np.arange(start=0, stop=10, step=2.)
>>> values[1:3] = np.nan
>>> series = TimeSeries.from_values(values)
>>> pipeline = Pipeline([MissingValuesFiller(), Scaler()])
>>> series_transformed = pipeline.fit_transform(series)
>>> print(series_transformed.values())
[[0. ]
[0.25]
[0.5 ]
[0.75]
[1. ]]Members
fitmethod
fit(data: TimeSeriesLike)| Parameter | Type | Default |
|---|---|---|
data | TimeSeriesLike | required |
fit_transformmethod
fit_transform(data: TimeSeriesLike) -> TimeSeriesLikeFor each data transformer in the pipeline, first fit the data if transformer is fittable then transform data using fitted transformer. The transformed data is then passed to next transformer.
Parameters
- data
(
Sequenceof)TimeSeriesto fit and transform on.
Returns
- TimeSeriesLike
Transformed data.
| Parameter | Type | Default |
|---|---|---|
data | TimeSeriesLike | required |
Returns TimeSeriesLike
transformmethod
transform(data: TimeSeriesLike, series_idx: int | Sequence[int] | None = None) -> TimeSeriesLikeFor each data transformer in pipeline transform data. Then transformed data is passed to next transformer.
Parameters
- data
(
Sequenceof)TimeSeriesto be transformed.- series_idx
Optionally, the index(es) of each series corresponding to their positions within the series used to fit the transformer (to retrieve the appropriate transformer parameters).
Returns
- TimeSeriesLike
Transformed data.
| Parameter | Type | Default |
|---|---|---|
data | TimeSeriesLike | required |
series_idx | int | Sequence[int] | None | None |
Returns TimeSeriesLike
inverse_transformmethod
inverse_transform(data: TimeSeriesLike | Sequence[Sequence[TimeSeries]], partial: bool = False, series_idx: int | Sequence[int] | None = None, insample: TimeSeriesLike | None = None) -> TimeSeriesLike | Sequence[Sequence[TimeSeries]]For each data transformer in the pipeline, inverse-transform data. Then inverse transformed data is passed to the next transformer. Transformers are traversed in reverse order. Raises value error if not all transformers are invertible and partial is set to False. Set partial to True for inverting only the InvertibleDataTransformer in the pipeline.
Parameters
- data
(Sequence of)
TimeSeriesto inverse-transform.- partial
If set to
True, the inverse transformation is applied even if the pipeline is not fully invertible, callinginverse_transform()only on transformers of typeInvertibleDataTransformer.- series_idx
Optionally, the index(es) of each series corresponding to their positions within the series used to fit the transformer (to retrieve the appropriate transformer parameters).
- insample
Optionally, the transformed historic (insample) part of
data. This can be used whendatais only a tail (for example a forecast) and inverse transforming requires information from earlier times (for example theanomx.data.processing.transformers.diff.Difftransformer). Eachinsampleseries must start before thedatastart time and extend at least until one step before the start time of thedata. Ifdatais aSequence[Sequence[TimeSeries]], theninsampleshould be aSequence[TimeSeries]with the same length. Otherwise, it should have the same type asdata. Only used by transformers that require information from earlier times.
Returns
- TimeSeriesLike | Sequence[Sequence[TimeSeries]]
Inverse-transformed data; same structure as
data.
| Parameter | Type | Default |
|---|---|---|
data | TimeSeriesLike | Sequence[Sequence[TimeSeries]] | required |
partial | bool | False |
series_idx | int | Sequence[int] | None | None |
insample | TimeSeriesLike | None | None |
Returns TimeSeriesLike | Sequence[Sequence[TimeSeries]]
invertibleproperty
invertible: boolReturns whether the pipeline is invertible or not. A pipeline is invertible if all transformers in the pipeline are themselves invertible.
Returns
- bool
Trueif the pipeline is invertible,Falseotherwise
Returns bool
fittableproperty
fittable: boolReturns whether the pipeline is fittable or not. A pipeline is fittable if at least one of the transformers in the pipeline is fittable.
Returns
- bool
Trueif the pipeline is fittable,Falseotherwise
Returns bool