code: def _fit(self, X, y, module, queue):
      X, y = _check_X_y(
          X,
          y,
          accept_sparse=False,
          force_all_finite=True,
          accept_2d_y=False,
          dtype=[np.float64, np.float32],
      )
  
      self.n_features_in_ = _num_features(X, fallback_1d=True)
  
      if _type_of_target(y) != "binary":
          raise ValueError("Only binary classification is supported")
  
      self.classes_, y = np.unique(y, return_inverse=True)
      y = y.astype(dtype=np.int32)
  
      policy = self._get_policy(queue, X, y)
      X, y = _convert_to_supported(policy, X, y)
      params = self._get_onedal_params(get_dtype(X))
      X_table, y_table = to_table(X, y)
  
      result = module.train(policy, params, X_table, y_table)
  
      self._onedal_model = result.model
      self.n_iter_ = np.array([result.iterations_count])
  
      coeff = from_table(result.model.packed_coefficients)
      self.coef_, self.intercept_ = coeff[:, 1:], coeff[:, 0]
  
      return self
  
imports: from abc import ABCMeta, abstractmethod
  from numbers import Number
  import numpy
  from sklearn.base import BaseEstimator
  from daal4py.sklearn._utils import get_dtype, make2d
  from onedal import _backend
  from ..common._estimator_checks import _check_is_fitted
  from ..common._mixin import ClassifierMixin
  from ..common._policy import _get_policy
  from ..datatypes import _convert_to_supported, from_table, to_table
  from ..utils import _check_array, _check_n_features, _check_X_y, _num_features, _type_of_target
label_desc: Use image node_id 4 for calling the BaseLogisticRegression obj's underlying member method code with example usage: obj._fit(X, y, module, queue) and returns: self