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 runningtrafo1.fit_transformonX,them
trafo2.fit_transformon the output oftrafo1.fit_transform, etc sequentially, withtrafo[i]receiving the output oftrafo[i-1], and then runningest.fitwithXbeing the output oftrafo[N]update(X)- changes state by runningtrafo1.update.transformonX,them
trafo2.update.transformon the output oftrafo1.update.transform, etc sequentially, withtrafo[i]receiving the output oftrafo[i-1], and then runningest.updatewithXbeing the output oftrafo[N]get_params,set_paramsusessklearncompatible nesting interfaceif list is unnamed, names are generated as names of classes if names are non-unique,
f"_{str(i)}"is appended to each name stringwhere
iis the total count of occurrence of a non-unique string inside the list of names leading up to it (inclusive)ParamFitterPipelinecan also be created by using the magic multiplication- on any parameter estimator, i.e., if
estinherits fromBaseParamFitter, and
my_trafo1,my_trafo2inherit fromBaseTransformer, then, for instance,my_trafo1 * my_trafo2 * estwill result in the same object as obtained from the constructorParamFitterPipeline(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
- on any parameter estimator, i.e., if
Quickstart
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
fitis called- transformerslist of sktime transformers, or
list of tuples (str, transformer) of sktime transformers these are “blueprint” transformers, states do not change when
fitis 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 ()