Zurück zu den Modellen
Classifier

MUSE

MUSE (MUltivariate Symbolic Extension).

Also known as WEASLE-MUSE: implementation of multivariate version of WEASEL, referred to as just MUSE from [1].

WEASEL+MUSE is a multivariate dictionary classifier that builds a bag-of-patterns using SFA for different window lengths and learns a logistic regression classifier on this bag.

There are these primary parameters:

  • alphabet_size: alphabet size

  • chi2-threshold: used for feature selection to select best words

  • anova: select best l/2 fourier coefficients other than first ones

  • bigrams: using bigrams of SFA words

  • binning_strategy: the binning strategy used to discretize into SFA words.

Schnellstart

python
from sktime.classification.dictionary_based import MUSE

estimator = MUSE(anova=True, variance=False, bigrams=True, window_inc=2, alphabet_size=4, use_first_order_differences=True, feature_selection='chi2', p_threshold=0.05, support_probabilities=False, n_jobs=1, random_state=None)

Parameter(11)

anova: boolean, default=True
If True, the Fourier coefficient selection is done via a one-way ANOVA test. If False, the first Fourier coefficients are selected. Only applicable if labels are given
variance: boolean, default = False
If True, the Fourier coefficient selection is done via the largest variance. If False, the first Fourier coefficients are selected. Only applicable if labels are given
bigrams: boolean, default=True
whether to create bigrams of SFA words
window_inc: int, default=2
WEASEL create a BoP model for each window sizes. This is the increment used to determine the next window size.
alphabet_sizedefault = 4
Number of possible letters (values) for each word.
p_threshold: int, default=0.05 (disabled by default)
Used when feature selection is applied based on the chi-squared test. This is the p-value threshold to use for chi-squared test on bag-of-words (lower means more strict). 1 indicates that the test should not be performed.
use_first_order_differences: boolean, default=True
If set to True will add the first order differences of each dimension to the data.
support_probabilities: bool, default: False
If set to False, a RidgeClassifierCV will be trained, which has higher accuracy and is faster, yet does not support predict_proba. If set to True, a LogisticRegression will be trained, which does support predict_proba(), yet is slower and typically less accuracy. predict_proba() is needed for example in Early-Classification like TEASER.
feature_selection: {“chi2”, “none”, “random”}, default: chi2
Sets the feature selections strategy to be used. Chi2 reduces the number of words significantly and is thus much faster (preferred). Random also reduces the number significantly. None applies not feature selectiona and yields large bag of words, e.g. much memory may be needed.
n_jobsint, default=1

The number of jobs to run in parallel for both fit and predict. -1 means using all processors.

random_state: int or None, default=None
Seed for random, integer

Beispiele

>>> from sktime.classification.dictionary_based import MUSE
>>> 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 = MUSE (window_inc = 4, use_first_order_differences = False)
>>> clf. fit (X_train, y_train) MUSE(
... )
>>> y_pred = clf. predict (X_test)

Referenzen

[1]

Patrick Schäfer and Ulf Leser, “Multivariate time series classification with WEASEL+MUSE”, in proc 3rd ECML/PKDD Workshop on AALTD}, 2018 https://arxiv.org/abs/1711.11343