class_docstr: One-D Symbolic Aggregate approXimation (1d-SAX) transformation.
  
  1d-SAX was originally presented in [1]_.
  
  Parameters
  ----------
  n_segments : int (default: 1)
      Number of PAA segments to compute.
      
  alphabet_size_avg : int (default: 5)
      Number of SAX symbols to use to describe average values.
      
  alphabet_size_slope : int (default: 5)
      Number of SAX symbols to use to describe slopes.
      
  sigma_l : float or None (default: None)
      Scale parameter of the Gaussian distribution used to quantize slopes.
      If None, the formula given in [1]_ is
      used: :math:`\sigma_L = \sqrt{0.03 / L}` where :math:`L` is the
      length of each segment.
  
  scale: bool (default: False)
       Whether input data should be scaled for each feature of each time 
       series to have zero mean and unit variance.
       Default for this parameter is set to `False` in version 0.4 to ensure
       backward compatibility, but is likely to change in a future version.
  
  Attributes
  ----------
  breakpoints_avg_ : numpy.ndarray of shape (alphabet_size_avg - 1, )
      List of breakpoints used to generate SAX symbols for average values.
  breakpoints_slope_ : numpy.ndarray of shape (alphabet_size_slope - 1, )
      List of breakpoints used to generate SAX symbols for slopes.
  
  Notes
  -----
      This method requires a dataset of equal-sized time series.
  
  Examples
  --------
  >>> one_d_sax = OneD_SymbolicAggregateApproximation(n_segments=3,
  ...         alphabet_size_avg=2, alphabet_size_slope=2, sigma_l=1.)
  >>> data = [[-1., 2., 0.1, -1., 1., -1.], [1., 3.2, -1., -3., 1., -1.]]
  >>> one_d_sax_data = one_d_sax.fit_transform(data)
  >>> one_d_sax_data.shape
  (2, 3, 2)
  >>> one_d_sax_data
  array([[[1, 1],
          [0, 0],
          [1, 0]],
  <BLANKLINE>
         [[1, 1],
          [0, 0],
          [1, 0]]])
  >>> one_d_sax.distance_sax(one_d_sax_data[0], one_d_sax_data[1])
  0.0
  >>> one_d_sax.distance(data[0], data[1])
  0.0
  >>> one_d_sax.inverse_transform(one_d_sax_data)
  array([[[ 0.33724488],
          [ 1.01173463],
          [-0.33724488],
          [-1.01173463],
          [ 1.01173463],
          [ 0.33724488]],
  <BLANKLINE>
         [[ 0.33724488],
          [ 1.01173463],
          [-0.33724488],
          [-1.01173463],
          [ 1.01173463],
          [ 0.33724488]]])
  >>> one_d_sax.fit(data).sigma_l
  1.0
  
  
  References
  ----------
  .. [1] S. Malinowski, T. Guyet, R. Quiniou, R. Tavenard. 1d-SAX: a Novel
     Symbolic Representation for Time Series. IDA 2013.
class_docstr_tok: ["One-D","Symbolic","Aggregate","approXimation","(","1d-SAX",")","transformation",".","1d-SAX","was","originally","presented","in","[","1","]","_.","Parameters","--","--","--","--","--","n_segments",":","int","(","default",":","1",")","Number","of","PAA","segments","to","compute",".","alphabet_size_avg",":","int","(","default",":","5",")","Number","of","SAX","symbols","to","use","to","describe","average","values",".","alphabet_size_slope",":","int","(","default",":","5",")","Number","of","SAX","symbols","to","use","to","describe","slopes",".","sigma_l",":","float","or","None","(","default",":","None",")","Scale","parameter","of","the","Gaussian","distribution","used","to","quantize","slopes",".","If","None",",","the","formula","given","in","[","1","]","_","is","used",":",":","math",":","`","\\sigma_L","=","\\sqrt","{","0.03","\/","L","}","`","where",":","math",":","`","L","`","is","the","length","of","each","segment",".","scale",":","bool","(","default",":","False",")","Whether","input","data","should","be","scaled","for","each","feature","of","each","time","series","to","have","zero","mean","and","unit","variance",".","Default","for","this","parameter","is","set","to","`","False","`","in","version","0.4","to","ensure","backward","compatibility",",","but","is","likely","to","change","in","a","future","version",".","Attributes","--","--","--","--","--","breakpoints_avg_",":","numpy.ndarray","of","shape","(","alphabet_size_avg","-","1",",",")","List","of","breakpoints","used","to","generate","SAX","symbols","for","average","values",".","breakpoints_slope_",":","numpy.ndarray","of","shape","(","alphabet_size_slope","-","1",",",")","List","of","breakpoints","used","to","generate","SAX","symbols","for","slopes",".","Notes","--","--","-","This","method","requires","a","dataset","of","equal-sized","time","series",".","Examples","--","--","--","--",">",">",">","one_d_sax","=","OneD_SymbolicAggregateApproximation","(","n_segments=3",",","...","alphabet_size_avg=2",",","alphabet_size_slope=2",",","sigma_l=1",".",")",">",">",">","data","=","[","[","-1.",",","2.",",","0.1",",","-1.",",","1.",",","-1",".","]",",","[","1.",",","3.2",",","-1.",",","-3.",",","1.",",","-1",".","]","]",">",">",">","one_d_sax_data","=","one_d_sax.fit_transform","(","data",")",">",">",">","one_d_sax_data.shape","(","2",",","3",",","2",")",">",">",">","one_d_sax_data","array","(","[","[","[","1",",","1","]",",","[","0",",","0","]",",","[","1",",","0","]","]",",","<","BLANKLINE",">","[","[","1",",","1","]",",","[","0",",","0","]",",","[","1",",","0","]","]","]",")",">",">",">","one_d_sax.distance_sax","(","one_d_sax_data","[","0","]",",","one_d_sax_data","[","1","]",")","0.0",">",">",">","one_d_sax.distance","(","data","[","0","]",",","data","[","1","]",")","0.0",">",">",">","one_d_sax.inverse_transform","(","one_d_sax_data",")","array","(","[","[","[","0.33724488","]",",","[","1.01173463","]",",","[","-0.33724488","]",",","[","-1.01173463","]",",","[","1.01173463","]",",","[","0.33724488","]","]",",","<","BLANKLINE",">","[","[","0.33724488","]",",","[","1.01173463","]",",","[","-0.33724488","]",",","[","-1.01173463","]",",","[","1.01173463","]",",","[","0.33724488","]","]","]",")",">",">",">","one_d_sax.fit","(","data",")",".sigma_l","1.0","References","--","--","--","--","--","..","[","1","]","S.","Malinowski",",","T.","Guyet",",","R.","Quiniou",",","R.","Tavenard",".","1d-SAX",":","a","Novel","Symbolic","Representation","for","Time","Series",".","IDA","2013","."]
code: def _fit(self, X, y=None):
      super()._fit(X, y)
  
      n_ts, sz, d = X.shape
      sz_segment = sz // self.n_segments
      sigma_l = self.sigma_l
      if sigma_l is None:
          sigma_l = numpy.sqrt(0.03 / sz_segment)
  
      # Do that at fit time when we have sigma_l for sure
      self.breakpoints_slope_ = _breakpoints(
          self.alphabet_size_slope, scale=sigma_l
      )
      self.breakpoints_slope_middle_ = _bin_medians(
          self.alphabet_size_slope, scale=sigma_l
      )
      return self
  
imports: import numpy
  from scipy.stats import norm
  from sklearn.base import TransformerMixin
  from sklearn.utils.validation import check_is_fitted, check_array
  from tslearn.bases import BaseModelPackage, TimeSeriesBaseEstimator
  from tslearn.metrics.cysax import cydist_sax, cyslopes, cydist_1d_sax, inv_transform_1d_sax, inv_transform_sax, inv_transform_paa
  from tslearn.utils import ts_size, check_dims
label_desc: Use image node_id 3 for calling the OneD_SymbolicAggregateApproximation obj's underlying member method code with example usage: obj._fit(X, y) and returns: self