code: def _fit(self, X, Y):
      n_samples, n_features = X.shape
      rng = check_random_state(self.random_state)
      n_vectors = Y.shape[1]
      ds = get_dataset(X, order="c")
  
      self.coef_ = np.zeros((n_vectors, n_features), dtype=np.float64)
      self.g_sum_ = np.zeros((n_vectors, n_features), dtype=np.float64)
      self.g_norms_ = np.zeros(
          (n_vectors, n_features), dtype=np.float64
      )
  
      delta = 0
      alpha1 = self.l1_ratio * self.alpha
      alpha2 = (1 - self.l1_ratio) * self.alpha
      loss = self._get_loss()
      n_calls = n_samples if self.n_calls is None else self.n_calls
  
      for i in range(n_vectors):
          _adagrad_fit(
              self,
              ds,
              Y[:, i],
              self.coef_[i],
              self.g_sum_[i],
              self.g_norms_[i],
              loss,
              self.eta,
              delta,
              alpha1,
              alpha2,
              self.n_iter,
              self.shuffle,
              self.callback,
              n_calls,
              rng,
          )
  
      return self
  
imports: import numpy
  from sklearn.utils import check_random_state
  from .base import BaseClassifier, BaseRegressor
  from .dataset_fast import get_dataset
  from .adagrad_fast import _adagrad_fit
  from .sgd_fast import ModifiedHuber
  from .sgd_fast import Hinge
  from .sgd_fast import SmoothHinge
  from .sgd_fast import SquaredHinge
  from .sgd_fast import Log
  from .sgd_fast import SquaredLoss
  from .sgd_fast import EpsilonInsensitive
  from .sgd_fast import Huber
label_desc: Use image node_id 1 for calling the _BaseAdagrad obj's underlying member method code with example usage: obj._fit(X, Y) and returns: self