class_docstr: Base class for PCA methods.
  
  Warning: This class should not be used directly.
  Use derived classes instead.
docstr: Compute data covariance with the generative model.
  
  ``cov = components_.T * S**2 * components_ + sigma2 * eye(n_features)``
  where  S**2 contains the explained variances, and sigma2 contains the
  noise variances.
  
  Returns
  -------
  cov : array, shape=(n_features, n_features)
      Estimated covariance of data.
docstr_tok: ["Compute","data","covariance","with","the","generative","model",".","``","cov","=","components_.T","*","S","*","*","2","*","components_","+","sigma2","*","eye","(","n_features",")","``","where","S","*","*","2","contains","the","explained","variances",",","and","sigma2","contains","the","noise","variances",".","Returns","--","--","--","-","cov",":","array",",","shape=","(","n_features",",","n_features",")","Estimated","covariance","of","data","."]
code: def get_covariance(self):
      """Compute data covariance with the generative model.
  
      ``cov = components_.T * S**2 * components_ + sigma2 * eye(n_features)``
      where  S**2 contains the explained variances, and sigma2 contains the
      noise variances.
  
      Returns
      -------
      cov : array, shape=(n_features, n_features)
          Estimated covariance of data.
      """
      components_ = self.components_
      exp_var = self.explained_variance_
      if self.whiten:
          components_ = components_ * np.sqrt(exp_var[:, np.newaxis])
      exp_var_diff = np.maximum(exp_var - self.noise_variance_, 0.0)
      cov = np.dot(components_.T * exp_var_diff, components_)
      cov.flat[
          :: len(cov) + 1
      ] += self.noise_variance_  # modify diag inplace
      return cov
  
file_path: catboost/contrib/python/scikit-learn/py2/sklearn/decomposition/base.py
imports: import numpy
  from scipy import linalg
  from ..base import BaseEstimator, TransformerMixin
  from ..utils import check_array
  from ..utils.extmath import fast_dot
  from ..utils.validation import check_is_fitted
  from ..externals import six
  from abc import ABCMeta, abstractmethod
label_desc: Use image node_id 1 for calling the _BasePCA obj's underlying member method code with example usage: obj.get_covariance() and returns: cov