class_docstr: MUSE (MUltivariate Symbolic Extension).
  
  Also known as WEASLE-MUSE: implementation of multivariate version of WEASEL,
  referred to as just MUSE from [1].
  
  Overview: Input n series length m
   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 disctrtize into
                             SFA words.
  
  Parameters
  ----------
  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_size : default = 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_jobs : int, 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
  
  Attributes
  ----------
  n_classes_ : int
      The number of classes.
  classes_ : list
      The classes labels.
  
  See Also
  --------
  WEASEL
  
  References
  ----------
  .. [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
  
  Notes
  -----
  For the Java version, see
  - `Original Publication <https://github.com/patrickzib/SFA>`_.
  - `MUSE
      <https://github.com/uea-machine-learning/tsml/blob/master/src/main/java/tsml/
  classifiers/multivariate/WEASEL_MUSE.java>`_.
  
  Examples
  --------
  >>> 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) # doctest: +SKIP
  >>> clf = MUSE(window_inc=4, use_first_order_differences=False) # doctest: +SKIP
  >>> clf.fit(X_train, y_train) # doctest: +SKIP
  MUSE(...)
  >>> y_pred = clf.predict(X_test) # doctest: +SKIP
class_docstr_tok: ["MUSE","(","MUltivariate","Symbolic","Extension",")",".","Also","known","as","WEASLE-MUSE",":","implementation","of","multivariate","version","of","WEASEL",",","referred","to","as","just","MUSE","from","[","1","]",".","Overview",":","Input","n","series","length","m","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","disctrtize","into","SFA","words",".","Parameters","--","--","--","--","--","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_size",":","default","=","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_jobs",":","int",",","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","Attributes","--","--","--","--","--","n_classes_",":","int","The","number","of","classes",".","classes_",":","list","The","classes","labels",".","See","Also","--","--","--","--","WEASEL","References","--","--","--","--","--","..","[","1","]","Patrick","Sch\u00e4fer","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","Notes","--","--","-","For","the","Java","version",",","see","-","`","Original","Publication","<","https",":","\/\/github.com\/patrickzib\/SFA",">","`","_",".","-","`","MUSE","<","https",":","\/\/github.com\/uea-machine-learning\/tsml\/blob\/master\/src\/main\/java\/tsml\/","classifiers\/multivariate\/WEASEL_MUSE.java",">","`","_",".","Examples","--","--","--","--",">",">",">","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",")","#","doctest",":","+SKIP",">",">",">","clf","=","MUSE","(","window_inc=4",",","use_first_order_differences=False",")","#","doctest",":","+SKIP",">",">",">","clf.fit","(","X_train",",","y_train",")","#","doctest",":","+SKIP","MUSE","(","...",")",">",">",">","y_pred","=","clf.predict","(","X_test",")","#","doctest",":","+SKIP"]
code: def _transform_words(self, X):
      if self.use_first_order_differences:
          X = self._add_first_order_differences(X)
  
      parallel_res = Parallel(
          n_jobs=self._threads_to_use, backend="threading"
      )(
          delayed(_parallel_transform_words)(
              X, self.window_sizes, self.SFA_transformers, ind
          )
          for ind in range(self.n_dims)
      )
  
      all_words = []
      for sfa_words in parallel_res:
          all_words.extend(sfa_words)
      if type(all_words[0]) is np.ndarray:
          all_words = np.concatenate(all_words, axis=1)
      else:
          all_words = hstack(all_words)
  
      return all_words
  
imports: import math
  import numpy
  from joblib import Parallel, delayed
  from scipy.sparse import hstack
  from sklearn.linear_model import LogisticRegression, RidgeClassifierCV
  from sklearn.utils import check_random_state
  from sktime.classification.base import BaseClassifier
  from sktime.transformations.panel.dictionary_based import SFAFast
  from sktime.utils.warnings import warn
label_desc: Use image node_id 5 for calling the MUSE obj's underlying member method code with example usage: obj._transform_words(X) and returns: all_words