Zurück zu den Modellen
Transformer

MultiplexTransformer

Facilitate an AutoML based selection of the best transformer.

When used in combination with either TransformedTargetForecaster or ForecastingPipeline in combination with ForecastingGridSearchCV MultiplexTransformer provides a framework for transformer selection. Through selection of the appropriate pipeline (ie TransformedTargetForecaster vs ForecastingPipeline) the transformers in MultiplexTransformer will either be applied to exogenous data, or to the target data.

MultiplexTransformer delegates all transforming tasks (ie, calls to fit, transform, inverse_transform, and update) to a copy of the transformer in transformers whose name matches selected_transformer. All other transformers in transformers will be ignored.

Schnellstart

python
from sktime.transformations.compose import MultiplexTransformer

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

Tags

Fähigkeiten

  • Multivariat
  • Reihen ungleicher Länge
  • Inverse Transformation: Nicht unterstützt
  • Fehlende Werte: Nicht unterstützt
  • Entfernt fehlende Werte: Nicht unterstützt
  • Gleicht Reihenlängen an: Nicht unterstützt

Eigenschaften

Eingabetypscitype:transform-input
Series
Ausgabetypscitype:transform-output
Series
Label-Typscitype:transform-labels
None
Fit ist leerfit_is_empty
Nein
Behält den Zeitindextransform-returns-same-time-index
Nein
Benötigt Xrequires_X
Ja
Benötigt yrequires_y
Nein
X und y brauchen denselben IndexX-y-must-have-same-index
Nein

Parameter(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.

Beispiele

>>> 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)