Back to models
Param Estimator

ParamFitterPipeline

Pipeline of transformers and a parameter estimator.

The ParamFitterPipeline compositor chains transformers and a single estimator. The pipeline is constructed with a list of sktime transformers, plus an estimator,

i.e., estimators following the BaseTransformer, ParamFitterPipeline interfaces.

The transformer list can be unnamed - a simple list of transformers -

or string named - a list of pairs of string, estimator.

For a list of transformers trafo1, trafo2, …, trafoN and an estimator est,

the pipeline behaves as follows:

fit(X) - changes state by running trafo1.fit_transform on X,

them trafo2.fit_transform on the output of trafo1.fit_transform, etc sequentially, with trafo[i] receiving the output of trafo[i-1], and then running est.fit with X being the output of trafo[N]

update(X) - changes state by running trafo1.update.transform on X,

them trafo2.update.transform on the output of trafo1.update.transform, etc sequentially, with trafo[i] receiving the output of trafo[i-1], and then running est.update with X being the output of trafo[N]

get_params, set_params uses sklearn compatible nesting interface

if list is unnamed, names are generated as names of classes if names are non-unique, f"_{str(i)}" is appended to each name string

where i is the total count of occurrence of a non-unique string inside the list of names leading up to it (inclusive)

ParamFitterPipeline can also be created by using the magic multiplication
on any parameter estimator, i.e., if est inherits from BaseParamFitter,

and my_trafo1, my_trafo2 inherit from BaseTransformer, then, for instance, my_trafo1 * my_trafo2 * est will result in the same object as obtained from the constructor ParamFitterPipeline(param_est=est, transformers=[my_trafo1, my_trafo2])

magic multiplication can also be used with (str, transformer) pairs,

as long as one element in the chain is a transformer

Quickstart

python
from sktime.param_est.compose import ParamFitterPipeline

estimator = ParamFitterPipeline(param_est, transformers)

Parameters(2)

param_estparameter estimator, i.e., estimator inheriting from BaseParamFitter

this is a “blueprint” estimator, state does not change when fit is called

transformerslist of sktime transformers, or

list of tuples (str, transformer) of sktime transformers these are “blueprint” transformers, states do not change when fit is called

Examples

>>> from sktime.param_est.compose import ParamFitterPipeline
>>> from sktime.param_est.seasonality import SeasonalityACF
>>> from sktime.transformations.difference import Differencer
>>> from sktime.datasets import load_airline
>>> 
>>> X = load_airline ()
>>> pipe = ParamFitterPipeline (SeasonalityACF (), [Differencer ()])
>>> pipe. fit (X) ParamFitterPipeline(
... )
>>> pipe. get_fitted_params ()["sp" ] 12 Alternative construction via dunder method:
>>> pipe = Differencer () * SeasonalityACF ()