code: def fit(self, X, y=None, groups=None):
          
          sampled_params = ParameterSampler(self.param_distributions,
                                            self.n_iter,
                                            random_state=self.random_state)
  
          return self._fit(X, y, groups, sampled_params)
docs: Run fit on the estimator with randomly drawn parameters.
  
          Parameters
          ----------
  
          X : array-like, shape = [n_samples, n_features]
              Training vector, where n_samples in 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.