code: def _fit(self, X, y, module, queue):
      policy = self._get_policy(queue, X, y)
  
      X_loc, y_loc = X, y
      if not isinstance(X, np.ndarray):
          X_loc = np.asarray(X)
  
      dtype = get_dtype(X_loc)
      if dtype not in [np.float32, np.float64]:
          dtype = np.float64
          X_loc = X_loc.astype(dtype, copy=self.copy_X)
  
      y_loc = np.asarray(y_loc).astype(dtype=dtype)
  
      # Finiteness is checked in the sklearnex wrapper
      X_loc, y_loc = _check_X_y(
          X_loc, y_loc, force_all_finite=False, accept_2d_y=True
      )
  
      self.n_features_in_ = _num_features(X_loc, fallback_1d=True)
  
      X_loc, y_loc = _convert_to_supported(policy, X_loc, y_loc)
      params = self._get_onedal_params(get_dtype(X_loc))
      X_table, y_table = to_table(X_loc, y_loc)
  
      hparams = get_hyperparameters("linear_regression", "train")
      if hparams is not None and not hparams.is_default:
          result = module.train(
              policy, params, hparams.backend, X_table, y_table
          )
      else:
          result = module.train(policy, params, X_table, y_table)
  
      self._onedal_model = result.model
  
      coeff = from_table(result.model.packed_coefficients)
      self.coef_, self.intercept_ = coeff[:, 1:], coeff[:, 0]
  
      if self.coef_.shape[0] == 1 and y_loc.ndim == 1:
          self.coef_ = self.coef_.ravel()
          self.intercept_ = self.intercept_[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 daal_check_version, get_dtype, make2d
  from onedal import _backend
  from ..common._estimator_checks import _check_is_fitted
  from ..common._mixin import RegressorMixin
  from ..common._policy import _get_policy
  from ..common.hyperparameters import get_hyperparameters
  from ..datatypes import _convert_to_supported, from_table, to_table
  from ..utils import _check_array, _check_n_features, _check_X_y, _num_features
label_desc: Use image node_id 4 for calling the BaseLinearRegression obj's underlying member method code with example usage: obj._fit(X, y, module, queue) and returns: self