class_docstr: Wrapped Gaussian Process.
  
  The implementation is based on the algorithm 4 of [1]_.
  
  Parameters
  ----------
  space : Manifold
      Equipped manifold.
  prior : callable
      Associate to each input a manifold valued point.
  
  References
  ----------
  .. [1] Mallasto, A. and Feragen, A. Wrapped gaussian process
      regression on riemannian manifolds. In 2018 IEEE/CVF
      Conference on Computer Vision and Pattern Recognition
class_docstr_tok: ["Wrapped","Gaussian","Process",".","The","implementation","is","based","on","the","algorithm","4","of","[","1","]","_.","Parameters","--","--","--","--","--","space",":","Manifold","Equipped","manifold",".","prior",":","callable","Associate","to","each","input","a","manifold","valued","point",".","References","--","--","--","--","--","..","[","1","]","Mallasto",",","A.","and","Feragen",",","A",".","Wrapped","gaussian","process","regression","on","riemannian","manifolds",".","In","2018","IEEE\/CVF","Conference","on","Computer","Vision","and","Pattern","Recognition"]
docstr: Predict using the Gaussian process regression model.
  
  A fitted Wrapped Gaussian process can be use to predict values
  through the following steps:
  
  - Use the stored Gaussian process regression on the dataset to
    return tangent predictions
  - Compute the base-points using the prior
  - Map the tangent predictions on the manifold via the metric's exp
    with the base-points yielded by the prior
  
  We can also predict based on an unfitted model by using the GP prior.
  In addition to the mean of the predictive distribution, optionally also
  returns its standard deviation (`return_std=True`) or covariance
  (`return_cov=True`). Note that at most one of the two can be requested.
  
  Parameters
  ----------
  X : array-like of shape (n_samples, n_features) or list of object
      Query points where the GP is evaluated.
  return_tangent_std : bool, default=False
      If True, the standard-deviation of the predictive distribution on at
      the query points in the tangent space is returned along with the mean.
  return_tangent_cov : bool, default=False
      If True, the covariance of the joint predictive distribution at
      the query points in the tangent space is returned along with the mean.
  
  Returns
  -------
  y_mean : ndarray of shape (n_samples,) or (n_samples, n_targets)
      Mean of predictive distribution a query points.
  y_std : ndarray of shape (n_samples,) or (n_samples, n_targets), optional
      Standard deviation of predictive distribution at query points in
      the tangent space.
      Only returned when `return_std` is True.
  y_cov : ndarray of shape (n_samples, n_samples) or                 (n_samples, n_samples, n_targets), optional
      Covariance of joint predictive distribution a query points
      in the tangent space.
      Only returned when `return_cov` is True.
      In the case where the target is matrix valued,
      return the covariance of the vectorized prediction.
docstr_tok: ["Predict","using","the","Gaussian","process","regression","model",".","A","fitted","Wrapped","Gaussian","process","can","be","use","to","predict","values","through","the","following","steps",":","-","Use","the","stored","Gaussian","process","regression","on","the","dataset","to","return","tangent","predictions","-","Compute","the","base-points","using","the","prior","-","Map","the","tangent","predictions","on","the","manifold","via","the","metric","'s","exp","with","the","base-points","yielded","by","the","prior","We","can","also","predict","based","on","an","unfitted","model","by","using","the","GP","prior",".","In","addition","to","the","mean","of","the","predictive","distribution",",","optionally","also","returns","its","standard","deviation","(","`","return_std=True","`",")","or","covariance","(","`","return_cov=True","`",")",".","Note","that","at","most","one","of","the","two","can","be","requested",".","Parameters","--","--","--","--","--","X",":","array-like","of","shape","(","n_samples",",","n_features",")","or","list","of","object","Query","points","where","the","GP","is","evaluated",".","return_tangent_std",":","bool",",","default=False","If","True",",","the","standard-deviation","of","the","predictive","distribution","on","at","the","query","points","in","the","tangent","space","is","returned","along","with","the","mean",".","return_tangent_cov",":","bool",",","default=False","If","True",",","the","covariance","of","the","joint","predictive","distribution","at","the","query","points","in","the","tangent","space","is","returned","along","with","the","mean",".","Returns","--","--","--","-","y_mean",":","ndarray","of","shape","(","n_samples",",",")","or","(","n_samples",",","n_targets",")","Mean","of","predictive","distribution","a","query","points",".","y_std",":","ndarray","of","shape","(","n_samples",",",")","or","(","n_samples",",","n_targets",")",",","optional","Standard","deviation","of","predictive","distribution","at","query","points","in","the","tangent","space",".","Only","returned","when","`","return_std","`","is","True",".","y_cov",":","ndarray","of","shape","(","n_samples",",","n_samples",")","or","(","n_samples",",","n_samples",",","n_targets",")",",","optional","Covariance","of","joint","predictive","distribution","a","query","points","in","the","tangent","space",".","Only","returned","when","`","return_cov","`","is","True",".","In","the","case","where","the","target","is","matrix","valued",",","return","the","covariance","of","the","vectorized","prediction","."]
code: def predict(
      self, X, return_tangent_std=False, return_tangent_cov=False
  ):
      """Predict using the Gaussian process regression model.
  
          A fitted Wrapped Gaussian process can be use to predict values
          through the following steps:
  
          - Use the stored Gaussian process regression on the dataset to
            return tangent predictions
          - Compute the base-points using the prior
          - Map the tangent predictions on the manifold via the metric's exp
            with the base-points yielded by the prior
  
          We can also predict based on an unfitted model by using the GP prior.
          In addition to the mean of the predictive distribution, optionally also
          returns its standard deviation (`return_std=True`) or covariance
          (`return_cov=True`). Note that at most one of the two can be requested.
  
          Parameters
          ----------
          X : array-like of shape (n_samples, n_features) or list of object
              Query points where the GP is evaluated.
          return_tangent_std : bool, default=False
              If True, the standard-deviation of the predictive distribution on at
              the query points in the tangent space is returned along with the mean.
          return_tangent_cov : bool, default=False
              If True, the covariance of the joint predictive distribution at
              the query points in the tangent space is returned along with the mean.
  
          Returns
          -------
          y_mean : ndarray of shape (n_samples,) or (n_samples, n_targets)
              Mean of predictive distribution a query points.
          y_std : ndarray of shape (n_samples,) or (n_samples, n_targets), optional
              Standard deviation of predictive distribution at query points in
              the tangent space.
              Only returned when `return_std` is True.
          y_cov : ndarray of shape (n_samples, n_samples) or \
                  (n_samples, n_samples, n_targets), optional
              Covariance of joint predictive distribution a query points
              in the tangent space.
              Only returned when `return_cov` is True.
              In the case where the target is matrix valued,
              return the covariance of the vectorized prediction.
          """
      euc_result = self.euclidean_gpr.predict(
          X,
          return_cov=return_tangent_cov,
          return_std=return_tangent_std,
      )
  
      return_multiple = return_tangent_std or return_tangent_cov
      tangent_means = euc_result[0] if return_multiple else euc_result
  
      base_points = self.prior(X)
      tangent_means = gs.reshape(
          gs.from_numpy(tangent_means),
          (X.shape[0], *self.space.shape),
      )
      y_mean = self.space.metric.exp(
          tangent_means, base_point=base_points
      )
  
      if return_multiple:
          tangent_std_cov = gs.from_numpy(euc_result[1])
          return (y_mean, tangent_std_cov)
  
      return y_mean
  
file_path: geomstats/geomstats/learning/wrapped_gaussian_process.py
imports: from sklearn.base import BaseEstimator, MultiOutputMixin, RegressorMixin
  from sklearn.gaussian_process import GaussianProcessRegressor
  import geomstats.backend
label_desc: Use image node_id 5 for calling the WrappedGaussianProcess obj's underlying member method code with example usage: obj.predict(X, return_tangent_std, return_tangent_cov) and returns: y_mean, y_mean,  tangent_std_cov