code: def fit(self, X, y=None, groups=None):
          
          return self._fit(X, y, groups, ParameterGrid(self.param_grid))
docs: Run fit with all sets of parameters.
          
          Parameters
          ----------
          
          X : array-like, shape = [n_samples, n_features]
              Training vector, where n_samples is the number of samples and
              n_features is the number of features.
          
          y : array-like, shape = [n_samples] or [n_samples, n_output], optional
              Target relative to X for classification or regression;
              None for unsupervised learning.
          
          groups : array-like, with shape (n_samples,), optional
              Group labels for the samples used while splitting the dataset into
              train/test set.