ShapeletTransformClassifier
A shapelet transform classifier (STC).
Quickstart
from sktime.classification.shapelet_based import ShapeletTransformClassifier
estimator = ShapeletTransformClassifier(n_shapelet_samples=10000, max_shapelets=None, max_shapelet_length=None, estimator=None, transform_limit_in_minutes=0, time_limit_in_minutes=0, contract_max_n_shapelet_samples=inf, save_transformed_data=False, n_jobs=1, batch_size=100, random_state=None)Parameters(11)
- n_shapelet_samplesint, default=10000
The number of candidate shapelets to be considered for the final transform. Filtered down to
<= max_shapelets, keeping the shapelets with the most information gain.- max_shapeletsint or None, default=None
Max number of shapelets to keep for the final transform. Each class value will have its own max, set to
n_classes_ / max_shapelets. IfNone, uses the minimum between10 * n_instances_and1000.- max_shapelet_lengthint or None, default=None
Lower bound on candidate shapelet lengths for the transform. If
None, no max length is used- estimatorBaseEstimator or None, default=None
Base estimator for the ensemble, can be supplied a sklearn
BaseEstimator. IfNonea defaultRotationForestclassifier is used.- transform_limit_in_minutesint, default=0
Time contract to limit transform time in minutes for the shapelet transform, overriding
n_shapelet_samples. A value of0meansn_shapelet_samplesis used.- time_limit_in_minutesint, default=0
Time contract to limit build time in minutes, overriding
n_shapelet_samplesandtransform_limit_in_minutes. Theestimatorwill only be contracted if atime_limit_in_minutes parameteris present. Default of0meansn_shapelet_samplesortransform_limit_in_minutesis used.- contract_max_n_shapelet_samplesint, default=np.inf
Max number of shapelets to extract when contracting the transform with
transform_limit_in_minutesortime_limit_in_minutes.- save_transformed_databool, default=False
Save the data transformed in fit in
transformed_data_for use in_get_train_probs.- n_jobsint, default=1
The number of jobs to run in parallel for both
fitandpredict.-1means using all processors.- batch_sizeint or None, default=100
- Number of shapelet candidates processed before being merged into the set of best shapelets in the transform.
- random_stateint, RandomState instance or None, default=None
If
int, random_state is the seed used by the random number generator; IfRandomStateinstance, random_state is the random number generator; IfNone, the random number generator is theRandomStateinstance used bynp.random.
Examples
>>> from sktime.classification.shapelet_based import ShapeletTransformClassifier
>>> from sktime.classification.sklearn import RotationForest
>>> from sktime.datasets import load_unit_test
>>> X_train, y_train = load_unit_test (split = "train", return_X_y = True)
>>> X_test, y_test = load_unit_test (split = "test", return_X_y = True)
>>> clf = ShapeletTransformClassifier (
... estimator = RotationForest (n_estimators = 3),
... n_shapelet_samples = 100,
... max_shapelets = 10,
... batch_size = 20,
... )
>>> clf. fit (X_train, y_train) ShapeletTransformClassifier(
... )
>>> y_pred = clf. predict (X_test)References
- [1 ] Jon Hills et al., “Classification of time series by shapelet transformation”, Data Mining and Knowledge Discovery, 28(4), 851–881, 2014. [2 ] A. Bostrom and A. Bagnall, “Binary Shapelet Transform for Multiclass Time Series Classification”, Transactions on Large-Scale Data and Knowledge Centered Systems, 32, 2017.