ChainedPreprocessor

class dtaianomaly.preprocessing.ChainedPreprocessor(*base_preprocessors: Preprocessor | list[Preprocessor])[source]

Wrapper chaining multiple Preprocessor objects.

Given an ordered list of base Preprocessor objects, the ChainedPreprocessor will apply each preprocessing step in sequence on a given time series.

Parameters:
*base_preprocessorslist of Preprocessor objects

The preprocessors to chain. These preprocessors can be passed as a single list argument or as multiple independent arguments to the constructor.

Examples

>>> from dtaianomaly.preprocessing import ChainedPreprocessor, Differencing, StandardScaler
>>> from dtaianomaly.data import demonstration_time_series
>>> X, y = demonstration_time_series()
>>> preprocessor = ChainedPreprocessor(Differencing(order=1), StandardScaler())
>>> X_, y_ = preprocessor.fit_transform(X, y)
check_is_fitted() None

Raise an error if this object is not fitted.

Check whether this object is fitted, and if it is not fitted, an exception is thrown.

Raises:
NotFittedError

If this object is not fitted.

fit(X: ndarray, y: ndarray = None) Preprocessor

Fit this preprocessor.

First checks the inputs with check_preprocessing_inputs(), and then fits this preprocessor.

Parameters:
Xarray-like of shape (n_samples, n_attributes)

Raw time series.

yarray-like, default=None

Ground-truth information.

Returns:
Preprocessor

Returns the fitted instance self.

fit_transform(X: ~numpy.ndarray, y: ~numpy.ndarray = None) -> (<class 'numpy.ndarray'>, numpy.ndarray | None)[source]

Fit each component of this ChainedPreprocessor and transform the time series.

First checks if the given input is valid, and then iteratively fit each individual preprocessor within the chain and transform the data. The transformed data is uses to fit the next preprocessor, and so on.

Parameters:
Xarray-like of shape (n_samples, n_attributes)

Raw time series.

yarray-like of shape (n_samples), default=None

Ground-truth information.

Returns:
X_transformednp.ndarray of shape (n_samples, n_attributes)

Preprocessed raw time series.

y_transformednp.ndarray of shape (n_samples)

The transformed ground truth. If no ground truth was provided (y=None), then None will be returned as well.

is_fitted() bool

Check whether this object is fitted.

Check whether all the attributes of this object that end with an underscore (‘_’) has been initialized.

Returns:
bool

True if and only if all the attributes of this object ending with ‘_’ are initialized.

piped_str() str[source]

Return this preprocessor as a pipe-representation.

Return the string representation of each preprocessor in the chain, and combine them with a ‘->’ symbol.

Returns:
str

The piped representation of this preprocessor.

requires_fitting() bool

Check whether this object requires fitting.

Check whether any of the attributes of this object ends with an underscore (‘_’), which indicates that the attribute is set when the object is fitted. Note that this method does not check whether the object is fitted, i.e., whether the attributes have been set.

Returns:
bool

True if and only if this object has attributes that end with ‘_’.

transform(X: ~numpy.ndarray, y: ~numpy.ndarray = None) -> (<class 'numpy.ndarray'>, numpy.ndarray | None)

Transform the given time series.

First checks the inputs with check_preprocessing_inputs(), and then transforms (i.e., preprocesses) the given time series.

Parameters:
Xarray-like of shape (n_samples, n_attributes)

Raw time series.

yarray-like of shape (n_samples), default=None

Ground-truth information.

Returns:
X_transformednp.ndarray of shape (n_samples, n_attributes)

Preprocessed raw time series.

y_transformednp.ndarray of shape (n_samples)

The transformed ground truth. If no ground truth was provided (y=None), then None will be returned as well.