Back to models
Transformer

MultiplexTransformer

Facilitate an AutoML based selection of the best transformer.

Quickstart

python
from sktime.transformations.compose import MultiplexTransformer

estimator = MultiplexTransformer(transformers: list, selected_transformer=None)

Parameters(2)

transformerslist of sktime transformers, or
list of tuples (str, estimator) of named sktime transformers MultiplexTransformer can switch (“multiplex”) between these transformers. Note - all the transformers passed in “transformers” should be thought of as blueprints. Calling transformation functions on MultiplexTransformer will not change their state at all. - Rather a copy of each is created and this is what is updated.
selected_transformer: str or None, optional, Default=None.
If str, must be one of the transformer names. If passed in transformers were unnamed then selected_transformer must coincide with auto-generated name strings. To inspect auto-generated name strings, call get_params.

Examples

>>> from sktime.datasets import load_shampoo_sales
>>> from sktime.forecasting.naive import NaiveForecaster
>>> from sktime.transformations.compose import MultiplexTransformer
>>> from sktime.transformations.impute import Imputer
>>> from sktime.forecasting.compose import TransformedTargetForecaster
>>> from sktime.forecasting.model_selection import ForecastingGridSearchCV
>>> from sktime.split import ExpandingWindowSplitter
>>> # create MultiplexTransformer:
>>> multiplexer = MultiplexTransformer (transformers = [
... ("impute_mean", Imputer (method = "mean", missing_values = - 1)),
... ("impute_near", Imputer (method = "nearest", missing_values = - 1)),
... ("impute_rand", Imputer (method = "random", missing_values = - 1))])
>>> cv = ExpandingWindowSplitter (
... initial_window = 24,
... step_length = 12,
... fh = [1, 2, 3 ])
>>> pipe = TransformedTargetForecaster (steps = [
... ("multiplex", multiplexer),
... ("forecaster", NaiveForecaster ())
... ])
>>> gscv = ForecastingGridSearchCV (
... cv = cv,
... param_grid = { "multiplex__selected_transformer":
... ["impute_mean", "impute_near", "impute_rand" ]},
... forecaster = pipe,
... )
>>> y = load_shampoo_sales ()
>>> # randomly make some of the values nans:
>>> y. loc [y. sample (frac = 0.1). index ] = - 1
>>> gscv = gscv. fit (y)