code: def update_fit_params(
      self,
      X_train,
      y_train,
      eval_set,
      weights,
  ):
      output_dim, train_labels = infer_output_dim(y_train)
      for X, y in eval_set:
          check_output_dim(train_labels, y)
      self.output_dim = output_dim
      self._default_metric = (
          "auc" if self.output_dim == 2 else "accuracy"
      )
      self.classes_ = train_labels
      self.target_mapper = {
          class_label: index
          for index, class_label in enumerate(self.classes_)
      }
      self.preds_mapper = {
          str(index): class_label
          for index, class_label in enumerate(self.classes_)
      }
      self.updated_weights = self.weight_updater(weights)
  
imports: import torch
  import numpy
  from scipy.special import softmax
  from pytorch_tabnet.utils import SparsePredictDataset, PredictDataset, filter_weights
  from pytorch_tabnet.abstract_model import TabModel
  from pytorch_tabnet.multiclass_utils import infer_output_dim, check_output_dim
  from torch.utils.data import DataLoader
  import scipy
label_desc: Use image node_id 5 for calling the TabNetClassifier obj's underlying member method code with example usage: obj.update_fit_params(X_train, y_train, eval_set, weights) without return types