TransformerPipeline
TransformerPipeline
- class TransformerPipeline(steps)[source]
Pipeline of transformers compositor.
The
TransformerPipelinecompositor allows to chain transformers. The pipeline is constructed with a list of sktime transformers, i.e. estimators following the BaseTransformer interface. The 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, the pipeline behaves as follows:fitChanges state by running
trafo1.fit_transform, trafo2.fit_transform` etc sequentially, withtrafo[i]receiving the output oftrafo[i-1]
transformResult is of executing
trafo1.transform,trafo2.transform, etc withtrafo[i].transforminput = output oftrafo[i-1].transform, and returning the output oftrafoN.transform
inverse_transformResult is of executing
trafo[i].inverse_transform, withtrafo[i].inverse_transforminput = outputtrafo[i-1].inverse_transform, and returning the output oftrafoN.inverse_transform
updateChanges state by chaining
trafo1.update,trafo1.transform,trafo2.update,trafo2.transform, …,trafoN.update, wheretrafo[i].updateandtrafo[i].transformreceive as input the output oftrafo[i-1].transform
For transformers in the pipeline that use the
yargument, theyargument passed toTransformerPipeline.fitortransformis passed to all such transformers in the pipeline. No transformations or inverse transformations are applied toyin the pipeline.The
get_params,set_paramsusessklearncompatible 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 whereiis the total count of occurrence of a non-unique string inside the list of names leading up to it (inclusive)A
TransformerPipelinecan also be created by using the magic multiplication on any transformer, i.e., any estimator inheriting fromBaseTransformerfor instance,my_trafo1 * my_trafo2 * my_trafo3will result in the same object as obtained from the constructorTransformerPipeline([my_trafo1, my_trafo2, my_trafo3])A magic multiplication can also be used with (str, transformer) pairs, as long as one element in the chain is a transformer- Parameters:
- stepslist of sktime transformers, or
list of tuples (str, transformer) of sktime transformers these are “blueprint” transformers, states do not change when
fitis called
- Attributes:
- steps_list of tuples (str, transformer) of sktime transformers
clones of transformers in
stepswhich are fitted in the pipeline is always in (str, transformer) format, even ifstepsis just a list strings not passed instepsare replaced by unique generated strings i-th transformer insteps_is clone of i-th insteps
Examples
>>> from sktime.transformations.compose import TransformerPipeline >>> from sktime.transformations.exponent import ExponentTransformer >>> t1 = ExponentTransformer(power=2) >>> t2 = ExponentTransformer(power=0.5)
Example 1, option A: construct without strings (unique names are generated for the two components t1 and t2)
>>> pipe = TransformerPipeline(steps = [t1, t2])
Example 1, option B: construct with strings to give custom names to steps
>>> pipe = TransformerPipeline( ... steps = [ ... ("trafo1", t1), ... ("trafo2", t2), ... ] ... )
Example 1, option C: for quick construction, the * dunder method can be used
>>> pipe = t1 * t2
Example 2: sklearn transformers can be used in the pipeline. If applied to Series, sklearn transformers are applied by series instance. If applied to Table, sklearn transformers are applied to the table as a whole.
>>> from sklearn.preprocessing import StandardScaler >>> from sktime.transformations.summarize import SummaryTransformer
This applies the scaler per series, then summarizes:
>>> pipe = StandardScaler() * SummaryTransformer()
This applies the sumamrization, then scales the full summary table:
>>> pipe = SummaryTransformer() * StandardScaler()
This scales the series, then summarizes, then scales the full summary table:
>>> pipe = StandardScaler() * SummaryTransformer() * StandardScaler()
Methods
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
fit(X[, y])Fit transformer to X, optionally to y.
fit_transform(X[, y])Fit to data, then transform it.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get parameters of estimator.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
inverse_transform(X[, y])Inverse transform X and return an inverse transformed version.
is_composite()Check if the object is composite.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
set_config(**config_dict)Set config flags to given values.
set_params(**kwargs)Set the parameters of estimator.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
transform(X[, y])Transform X and return a transformed version.
update(X[, y, update_params])Update transformer with X, optionally y.

