Skip to content

ShapeletTransformPyts

ShapeletTransformPyts

class ShapeletTransformPyts(n_shapelets='auto', criterion='mutual_info', window_sizes='auto', window_steps=None, remove_similar=True, sort=False, verbose=0, random_state=None, n_jobs=None)[source]

Shapelet Transform, from pyts.

Direct interface to pyts.transformation.ShapeletTransform.

The Shapelet Transform algorithm extracts shapelets from a data set of time series and returns the distances between the shapelets and the time series. A shapelet is defined as a subset of a time series, that is a set of values from consecutive time points. The distance between a shapelet and a time series is defined as the minimum of the distances between this shapelet and all the shapelets of same length extracted from this time series. The most discriminative shapelets are selected. Two criteria are made available: mutual information and F-scores.

Parameters:
n_shapeletsint or ‘auto’ (default = ‘auto’)

The number of shapelets to keep. If ‘auto’, n_timestamps // 2 shapelets are considered, where n_timestamps is the number of time points in the dataset. Note that there might be a smaller number of shapelets if fewer than n_shapelets shapelets have been extracted during the search.

criterion‘mutual_info’ or ‘anova’ (default = ‘mutual_info’)

Criterion to perform the selection of the shapelets. ‘mutual_info’ uses the mutual information, while ‘anova’ use the ANOVA F-value.

window_sizesarray-like or ‘auto ‘(default = ‘auto’)

Size of the sliding windows. If ‘auto’, the range for the window sizes is determined automatically. Otherwise, all the elements must be either integers or floats. In the latter case, each element represents the percentage of the size of each time series and must be between 0 and 1; the size of the sliding windows will be computed as np.ceil(window_sizes * n_timestamps).

window_stepsNone or array-like (default = None)

Step of the sliding windows. If None, each window_step is equal to 1. Otherwise, all the elements must be either integers or floats. In the latter case, each element represents the percentage of the size of each time series and must be between 0 and 1; the step of the sliding windows will be computed as np.ceil(window_steps * n_timestamps). Must be None if window_sizes='auto'.

remove_similarbool (default = True)

If True, self-similar shapelets are removed, keeping only the non-self-similar shapelets with the highest scores. Two shapelets are considered to be self-similar if they are taken from the the same time series and have at least one overlapping index.

sortbool (default = False)

If True, shapelets are sorted in descending order according to their associated scores. If False, the order is undefined.

verboseint (default = 0)

Verbosity level when fitting: if non zero, progress messages are printed. Above 50, the output is sent to stdout. The frequency of the messages increases with the verbosity level.

random_stateint, RandomState instance or None (default = None)

If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random. Only used if window_sizes='auto' in order to subsample the dataset to find the best range or if criterion=='mutual_info' to add small noise to the data.

n_jobsNone or int (default = None)

The number of jobs to run in parallel for fit. If -1, then the number of jobs is set to the number of cores.

Attributes:
shapelets_array, shape = (n_shapelets,)

The array with the selected shapelets.

indices_array, shape = (n_shapelets, 3)

The indices for the corresponding shapelets in the training set. The first column consists of the indices of the samples. The second column consists of the starting indices (included) of the shapelets. The third column consists of the ending indices (excluded) of the shapelets.

scores_array, shape = (n_shapelets,)

The scores associated to the shapelets. The higher, the more discriminant. If criterion='mutual_info', mutual information scores are reported. If criterion='anova', F-scores are reported.

window_range_None or tuple

Range of the window sizes if window_sizes='auto'. None otherwise.

References

[1]

J. Lines, L. M. Davis, J. Hills and A. Bagnall, “A Shapelet Transform for Time Series Classification”. Data Mining and Knowledge Discovery, 289-297 (2012).

Examples

>>> from sktime.transformations.shapelet_transform import (
...     ShapeletTransformPyts
... )
>>> from sktime.datasets import load_unit_test
>>> X_train, y_train = load_unit_test(split="train")
>>> stp = ShapeletTransformPyts()
>>> stp.fit(X_train,y_train)
>>> stp.transform(X_train)

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 a dict of parameters values for this object.

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 composed of other BaseObjects.

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(**params)

Set the parameters of this object.

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.