code: def fit(self, X, y=None, groups=None, **fit_params):
          
          return self._fit(X, y=y, groups=groups, **fit_params)
docs: Run fit on the estimator with parameters chosen sequentially by SigOpt.
          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.