docstr: Private function for fit to enable trying floats before doubles.
docstr_tok: ["Private","function","for","fit","to","enable","trying","floats","before","doubles","."]
code: def _fit(self, X, y, groups=None):
      """
      Private function for fit to enable trying floats before doubles.
      """
      data_train = self._prepare_data(X, y)
  
      batch_size, _, accum_steps, max_iter = self._set_batch_size(
          data_train
      )
  
      rng = None  # not used
      debug = 0  # {0,1} print messages and log to tensorboard
      dn_logs = None  # tensorboard logs; only specify if debug=1
      path_save = (
          None  # intermediate models saves; only specify if debug=1
      )
      m, solver = _train(
          data_train,
          batch_size,
          self.order,
          self.penalty,
          rng,
          self.learning_rate,
          debug,
          max_iter,
          self.max_time,
          self.init,
          self.dftol_stop,
          self.freltol_stop,
          dn_logs,
          accum_steps,
          path_save,
          self.shuffle,
          device=self.device,
          verbose=self.verbose,
          groups=groups if not self.soft_grouping else None,
          soft_groups=groups if self.soft_grouping else None,
      )
  
      self._process_results(m, solver, X, groups=groups)
      return self
  
imports: import time
  import numpy
  import pandas
  from sklearn.base import BaseEstimator
  from sklearn.feature_selection import SelectorMixin
  from sklearn.utils.validation import check_is_fitted
  import torch
  from nni.feature_engineering.feature_selector import FeatureSelector
  from .None import constants
  from .fginitialize import PrepareData
  from .fgtrain import _train
label_desc: Use image node_id 7 for calling the FeatureGradientSelector obj's underlying member method code with example usage: obj._fit(X, y, groups) and returns: self