code: def update_fit_params(self, X_train, y_train, eval_set, weights):
      output_dim, train_labels = infer_multitask_output(y_train)
      for _, y in eval_set:
          for task_idx in range(y.shape[1]):
              check_output_dim(train_labels[task_idx], y[:, task_idx])
      self.output_dim = output_dim
      self.classes_ = train_labels
      self.target_mapper = [
          {
              class_label: index
              for index, class_label in enumerate(classes)
          }
          for classes in self.classes_
      ]
      self.preds_mapper = [
          {
              str(index): str(class_label)
              for index, class_label in enumerate(classes)
          }
          for classes in self.classes_
      ]
      self.updated_weights = weights
      filter_weights(self.updated_weights)
  
file_path: tabnet/pytorch_tabnet/multitask.py
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_multitask_output, check_output_dim
  from torch.utils.data import DataLoader
  import scipy
label_desc: Use image node_id 5 for calling the TabNetMultiTaskClassifier obj's underlying member method code with example usage: obj.update_fit_params(X_train, y_train, eval_set, weights) without return types