class_docstr: Bin continuous data into intervals column-wise.
  
  Parameters
  ----------
  n_bins : int (default = 4)
      The number of bins to produce. It must be between 2 and
      ``min(n_samples, 26)``.
  
  strategy : str (default = 'quantile')
      Strategy used to define the widths of the bins:
  
      - 'uniform': All bins in each sample have identical widths
      - 'quantile': All bins in each sample have the same number of points
      - 'normal': Bin edges are quantiles from a standard normal distribution
      - 'entropy': Bin edges are computed using information gain
  
  alphabet : None, 'ordinal' or array-like, shape = (n_bins,)
      Alphabet to use. If None, the first `n_bins` letters of the Latin
      alphabet are used if `n_bins` is lower than 27, otherwise the alphabet
      will be defined to [chr(i) for i in range(n_bins)]. If 'ordinal',
      integers are used.
  
  Attributes
  ----------
  bin_edges_ : array, shape = (n_bins - 1,) or (n_timestamps, n_bins - 1)
      Bin edges with shape = (n_bins - 1,) if ``strategy='normal'`` or
      (n_timestamps, n_bins - 1) otherwise.
  
  References
  ----------
  .. [1] P. Schäfer, and M. Högqvist, "SFA: A Symbolic Fourier Approximation
         and Index for Similarity Search in High Dimensional Datasets",
         International Conference on Extending Database Technology,
         15, 516-527 (2012).
  
  Examples
  --------
  >>> from pyts.approximation import MultipleCoefficientBinning
  >>> X = [[0, 4],
  ...      [2, 7],
  ...      [1, 6],
  ...      [3, 5]]
  >>> transformer = MultipleCoefficientBinning(n_bins=2)
  >>> print(transformer.fit_transform(X))
  [['a' 'a']
   ['b' 'b']
   ['a' 'b']
   ['b' 'a']]
code: def __init__(self, n_bins=4, strategy="quantile", alphabet=None):
      self.n_bins = n_bins
      self.strategy = strategy
      self.alphabet = alphabet
  
imports: import numpy
  from numba import njit, prange
  from scipy.stats import norm
  from sklearn.base import BaseEstimator
  from ..base import UnivariateTransformerMixin
  from sklearn.tree import DecisionTreeClassifier
  from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
  from sklearn.utils.multiclass import check_classification_targets
label_desc: Use image node_id 1 to create a new MultipleCoefficientBinning object from inherited base classes: BaseEstimator, UnivariateTransformerMixin with example: obj = MultipleCoefficientBinning(n_bins, strategy, alphabet)