IndividualBOSS
IndividualBOSS
- class IndividualBOSS(window_size=10, word_length=8, norm=False, alphabet_size=2, save_words=False, typed_dict='deprecated', use_boss_distance=True, feature_selection='none', store_histogram=False, n_jobs=1, random_state=None)[source]
Single bag of Symbolic Fourier Approximation Symbols (IndividualBOSS).
Bag of SFA Symbols Ensemble: implementation of a single BOSS Schaffer, the base classifier for the boss ensemble.
Implementation of single BOSS model from Schäfer (2015). [1]
This is the underlying classifier for each classifier in the BOSS ensemble.
Overview: input “n” series of length “m” and IndividualBoss performs a SFA transform to form a sparse dictionary of discretised words. The resulting dictionary is used with the BOSS distance function in a 1-nearest neighbor.
Fit involves finding “n” histograms.
Predict uses 1 nearest neighbor with a bespoke BOSS distance function.
- Parameters:
- window_sizeint
Size of the window to use in BOSS algorithm.
- word_lengthint
Length of word to use to use in BOSS algorithm.
- normbool, default = False
Whether to normalize words by dropping the first Fourier coefficient.
- alphabet_sizedefault = 2
Number of possible letters (values) for each word.
- save_wordsbool, default = True
Whether to keep NumPy array of words in SFA transformation even after the dictionary of words is returned. If True, the array is saved, which can shorten the time to calculate dictionaries using a shorter
word_length(since the last “n” letters can be removed).- store_histogrambool, default = False
Whether to store the histograms of words in
fit. If False, avoids storing the histograms in memory, which can be large for some datasets.- n_jobsint, default=1
The number of jobs to run in parallel for both
fitandpredict.-1means using all processors.- random_stateint or None, default=None
Seed for random, integer.
- Attributes:
- n_classes_int
Number of classes. Extracted from the data.
- classes_list
The classes labels.
- histograms_list of dict
A list of dictionaries, where each dictionary is a word histogram for an individual time series instance. The length of the list is equal to the number of instances passed to
fit. Each dictionary maps SFA words (str) to their frequency (int). Only created ifstore_histogramisTrue.
See also
Notes
For the Java version, see TSML.
References
[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 https://link.springer.com/article/10.1007/s10618-014-0377-7
Examples
>>> from sktime.classification.dictionary_based import IndividualBOSS >>> 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 = IndividualBOSS() >>> clf.fit(X_train, y_train) IndividualBOSS(...) >>> y_pred = clf.predict(X_test)
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 classifier to training data.
fit_predict(X, y[, cv, change_state])Fit and predict labels for sequences in X.
fit_predict_proba(X, y[, cv, change_state])Fit and predict labels probabilities for sequences in X.
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.
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.
predict(X)Predicts labels for sequences in X.
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)Scores predicted labels against ground truth labels on X.
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.

