class_docstr: Lift data to a tangent space.
  
  Compute the logs of all data points and reshape them to
  1d vectors if necessary. This means that all the data points, that belong
  to a possibly non-linear manifold are lifted to one of the tangent space of
  the manifold, which is a vector space. By default, the mean of the data
  is computed (with the FrechetMean or the ExponentialBarycenter estimator,
  as appropriate) and the tangent space at the mean is used. Any other base
  point can be passed. The data points are then represented by the initial
  velocities of the geodesics that lead from base_point to each data point.
  Any machine learning algorithm can then be used with the output array.
  
  Parameters
  ----------
  space : Manifold
      Equipped manifold or unequipped space implementing `exp` and `log`.
  
  Notes
  -----
  * Required geometry methods: `log`, `exp`.
class_docstr_tok: ["Lift","data","to","a","tangent","space",".","Compute","the","logs","of","all","data","points","and","reshape","them","to","1d","vectors","if","necessary",".","This","means","that","all","the","data","points",",","that","belong","to","a","possibly","non-linear","manifold","are","lifted","to","one","of","the","tangent","space","of","the","manifold",",","which","is","a","vector","space",".","By","default",",","the","mean","of","the","data","is","computed","(","with","the","FrechetMean","or","the","ExponentialBarycenter","estimator",",","as","appropriate",")","and","the","tangent","space","at","the","mean","is","used",".","Any","other","base","point","can","be","passed",".","The","data","points","are","then","represented","by","the","initial","velocities","of","the","geodesics","that","lead","from","base_point","to","each","data","point",".","Any","machine","learning","algorithm","can","then","be","used","with","the","output","array",".","Parameters","--","--","--","--","--","space",":","Manifold","Equipped","manifold","or","unequipped","space","implementing","`","exp","`","and","`","log","`",".","Notes","--","--","-","*","Required","geometry","methods",":","`","log","`",",","`","exp","`","."]
docstr: Compute the central point at which to take the log.
  
  This method is only used if `base_point=None` to compute the mean of
  the input data.
  
  Parameters
  ----------
  X : array-like, shape=[n_samples, {dim, [n, n]}]
      The training input samples.
  y : None
      Ignored.
  weights : array-like, shape=[n_samples, 1]
      Weights associated to the points.
      Optional, default: None
  base_point : array-like, shape=[{dim, [n, n]}]
      Point similar to the input data from which to compute the logs.
      Optional, default: None.
  
  Returns
  -------
  self : object
      Returns self.
docstr_tok: ["Compute","the","central","point","at","which","to","take","the","log",".","This","method","is","only","used","if","`","base_point=None","`","to","compute","the","mean","of","the","input","data",".","Parameters","--","--","--","--","--","X",":","array-like",",","shape=","[","n_samples",",","{","dim",",","[","n",",","n","]","}","]","The","training","input","samples",".","y",":","None","Ignored",".","weights",":","array-like",",","shape=","[","n_samples",",","1","]","Weights","associated","to","the","points",".","Optional",",","default",":","None","base_point",":","array-like",",","shape=","[","{","dim",",","[","n",",","n","]","}","]","Point","similar","to","the","input","data","from","which","to","compute","the","logs",".","Optional",",","default",":","None",".","Returns","--","--","--","-","self",":","object","Returns","self","."]
code: def fit(self, X, y=None, weights=None, base_point=None):
      """Compute the central point at which to take the log.
  
      This method is only used if `base_point=None` to compute the mean of
      the input data.
  
      Parameters
      ----------
      X : array-like, shape=[n_samples, {dim, [n, n]}]
          The training input samples.
      y : None
          Ignored.
      weights : array-like, shape=[n_samples, 1]
          Weights associated to the points.
          Optional, default: None
      base_point : array-like, shape=[{dim, [n, n]}]
          Point similar to the input data from which to compute the logs.
          Optional, default: None.
  
      Returns
      -------
      self : object
          Returns self.
      """
      if base_point is None:
          self.base_point_ = self.mean_estimator.fit(
              X, y, weights
          ).estimate_
  
      else:
          self.base_point_ = base_point
  
      return self
  
file_path: geomstats/geomstats/learning/preprocessing.py
imports: from sklearn.base import BaseEstimator, TransformerMixin
  import geomstats.backend
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.skew_symmetric_matrices import SkewSymmetricMatrices
  from geomstats.geometry.symmetric_matrices import SymmetricMatrices
  from geomstats.learning.exponential_barycenter import ExponentialBarycenter
  from geomstats.learning.frechet_mean import FrechetMean
label_desc: Use image node_id 3 for calling the ToTangentSpace obj's underlying member method code with example usage: obj.fit(X, y, weights, base_point) and returns: self