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
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
fitandpredict.-1means 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
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