ContractableBOSS

class sktime.classification.dictionary_based.ContractableBOSS(n_parameter_samples=250, max_ensemble_size=50, max_win_len_prop=1, time_limit=0.0, min_window=10, n_jobs=1, random_state=None)[source]

Contractable Bag of SFA Symbols (cBOSS) implementation of BOSS from [1] with refinements described in [2]

Overview: Input n series length m cBOSS randomly samples n_parameter_samples parameter sets, evaluating each with a LOOCV. It then retains max_ensemble_size classifiers with the highest accuracy. There are three primary parameters:

alpha: alphabet size w: window length l: word length.

for any combination, a single BOSS slides a window length w along the series. The w length window is shortened to an l length word through taking a Fourier transform and keeping the first l/2 complex coefficients. These l coefficients are then discretised into alpha possible values, to form a word length l. A histogram of words for each series is formed and stored. fit involves finding n histograms.

predict uses 1 nearest neighbour with a bespoke distance function.

Parameters
  • n_parameter_samples (int, if search is randomised, number of) –

  • combos to try (default = 250) (parameter) –

  • max_ensemble_size (int or None, retain a maximum number of) –

  • classifiers

  • if within threshold (even) –

  • (default = 50) (optional) –

  • max_win_len_prop (maximum window length as a proportion of) –

  • length (default = 1) (series) –

  • time_limit (time contract to limit build time in minutes) –

  • = 0 ((default) –

  • limit) (no) –

  • min_window (minimum window size, (default = 10)) –

  • n_jobs (int, optional (default=1)) –

  • number of jobs to run in parallel for both fit and predict. (The) –

  • means using all processors. (-1) –

  • random_state (int or None, seed for random, integer,) –

  • (default to no seed) (optional) –

n_classes[source]
Type

extracted from the data

n_instances[source]
Type

extracted from the data

n_estimators[source]
Type

The final number of classifiers used (

<= max_ensemble_size)
series_length[source]
Type

length of all series (assumed equal)

classifiers[source]
Type

array of DecisionTree classifiers

weights[source]
Type

weight of each classifier in the ensemble

See also

BOSSEnsemble

Notes

..[1] Patrick Schäfer, “The BOSS is concerned with time series classification in the presence of noise”, Data Mining and Knowledge Discovery, 29(6): 2015

..[2] Matthew Middlehurst, William Vickers and Anthony Bagnall “Scalable Dictionary Classifiers for Time Series Classification”, in proc 20th International Conference on Intelligent Data Engineering and Automated Learning,LNCS, volume 11871

For the Java version, see https://github.com/uea-machine-learning/tsml/blob/master/src/ main/java/tsml/classifiers/dictionary_based/cBOSS.java

__init__(n_parameter_samples=250, max_ensemble_size=50, max_win_len_prop=1, time_limit=0.0, min_window=10, n_jobs=1, random_state=None)[source]

Initialize self. See help(type(self)) for accurate signature.