SklearnClustererPipeline
SklearnClustererPipeline
- class SklearnClustererPipeline(clusterer, transformers)[source]
Pipeline of transformers and a clusterer.
- The SklearnClustererPipeline chains transformers and an single clusterer.
Similar to ClustererPipeline, but uses a tabular sklearn clusterer.
- The pipeline is constructed with a list of sktime transformers, plus a clusterer,
i.e., transformers following the BaseTransformer interface, clusterer follows the scikit-learn clusterer interface.
- 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 a clusterer clst,
the pipeline behaves as follows:
- fit(X, y) - changes styte 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 clst.fit with X the output of trafo[N] converted to numpy, and y identical with the input to self.fit. X is converted to numpyflat mtype if X is of Panel scitype; X is converted to numpy2D mtype if X is of Table scitype.
- predict(X) - result is of executing trafo1.transform, trafo2.transform, etc
with trafo[i].transform input = output of trafo[i-1].transform, then running clst.predict on the numpy converted output of trafoN.transform, and returning the output of clst.predict. Output of trasfoN.transform is converted to numpy, as in fit.
- predict_proba(X) - result is of executing trafo1.transform, trafo2.transform,
etc, with trafo[i].transform input = output of trafo[i-1].transform, then running clst.predict_proba on the output of trafoN.transform, and returning the output of clst.predict_proba. Output of trasfoN.transform is converted to numpy, as in fit.
- 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)
- SklearnClustererPipeline can also be created by using the magic multiplication
- between sktime transformers and sklearn clusterers,
and my_trafo1, my_trafo2 inherit from BaseTransformer, then, for instance, my_trafo1 * my_trafo2 * my_clst will result in the same object as obtained from the constructor SklearnClustererPipeline(clusterer=my_clst, transformers=[t1, t2])
- magic multiplication can also be used with (str, transformer) pairs,
as long as one element in the chain is a transformer
- Parameters:
- clusterersklearn clusterer, i.e., inheriting from sklearn ClustererMixin
this is a “blueprint” clusterer, 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
- Attributes:
- clusterer_sklearn clusterer, clone of clusterer in clusterer
this clone is fitted in the pipeline when fit is called
- transformers_list of tuples (str, transformer) of sktime transformers
clones of transformers in transformers which are fitted in the pipeline is always in (str, transformer) format, even if transformers is just a list strings not passed in transformers are unique generated strings i-th transformer in transformers_ is clone of i-th in transformers
Examples
>>> from sklearn.cluster import KMeans >>> from sktime.transformations.exponent import ExponentTransformer >>> from sktime.transformations.summarize import SummaryTransformer >>> from sktime.datasets import load_unit_test >>> from sktime.clustering.compose import SklearnClustererPipeline >>> X_train, y_train = load_unit_test(split="train") >>> X_test, y_test = load_unit_test(split="test") >>> t1 = ExponentTransformer() >>> t2 = SummaryTransformer() >>> pipeline = SklearnClustererPipeline(KMeans(), [t1, t2]) >>> pipeline = pipeline.fit(X_train, y_train) >>> y_pred = pipeline.predict(X_test)
Alternative construction via dunder method:
>>> pipeline = t1 * t2 * KMeans()
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 time series clusterer to training data.
fit_predict(X[, y])Compute cluster centers and predict cluster index for each time series.
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 in transformers.
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.
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.
predict(X[, y])Predict the closest cluster each sample in X belongs to.
predict_proba(X)Predicts labels probabilities for sequences in X.
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.
score(X[, y])Score the quality of the clusterer.
set_config(**config_dict)Set config flags to given values.
set_params(**kwargs)Set the parameters of estimator in transformers.
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.

