code: def _class_cov(X, y, priors=None, shrinkage=None):
      """Compute class covariance matrix.
  
      Parameters
      ----------
      X : array-like, shape (n_samples, n_features)
          Input data.
  
      y : array-like, shape (n_samples,) or (n_samples, n_targets)
          Target values.
  
      priors : array-like, shape (n_classes,)
          Class priors.
  
      shrinkage : string or float, optional
          Shrinkage parameter, possible values:
            - None: no shrinkage (default).
            - 'auto': automatic shrinkage using the Ledoit-Wolf lemma.
            - float between 0 and 1: fixed shrinkage parameter.
  
      Returns
      -------
      cov : array-like, shape (n_features, n_features)
          Class covariance matrix.
      """
      classes = np.unique(y)
      covs = []
      for group in classes:
          Xg = X[y == group, :]
          covs.append(np.atleast_2d(_cov(Xg, shrinkage)))
      return np.average(covs, axis=0, weights=priors)
  
imports: from __future__ import print_function
  import warnings
  import numpy
  from scipy import linalg
  from .externals.six import string_types
  from .externals.six.moves import xrange
  from .base import BaseEstimator, TransformerMixin, ClassifierMixin
  from .linear_model.base import LinearClassifierMixin
  from .covariance import ledoit_wolf, empirical_covariance, shrunk_covariance
  from .utils.multiclass import unique_labels
  from .utils import check_array, check_X_y
  from .utils.validation import check_is_fitted
  from .utils.fixes import bincount
  from .utils.multiclass import check_classification_targets
  from .preprocessing import StandardScaler
label_desc: Use image node_id 3 for calling a global function with example usage: _class_cov(X, y, priors, shrinkage) and returns: np