docstr: Set attributes relative to the metrics.
  
  Parameters
  ----------
  metrics : list of str
      List of eval metric names.
  eval_names : list of str
      List of eval set names.
docstr_tok: ["Set","attributes","relative","to","the","metrics",".","Parameters","--","--","--","--","--","metrics",":","list","of","str","List","of","eval","metric","names",".","eval_names",":","list","of","str","List","of","eval","set","names","."]
code: def _set_metrics(self, eval_names):
      """Set attributes relative to the metrics.
  
      Parameters
      ----------
      metrics : list of str
          List of eval metric names.
      eval_names : list of str
          List of eval set names.
  
      """
      metrics = [self._default_metric]
  
      metrics = check_metrics(metrics)
      # Set metric container for each sets
      self._metric_container_dict = {}
      for name in eval_names:
          self._metric_container_dict.update(
              {name: UnsupMetricContainer(metrics, prefix=f"{name}_")}
          )
  
      self._metrics = []
      self._metrics_names = []
      for _, metric_container in self._metric_container_dict.items():
          self._metrics.extend(metric_container.metrics)
          self._metrics_names.extend(metric_container.names)
  
      # Early stopping metric is the last eval metric
      self.early_stopping_metric = (
          self._metrics_names[-1]
          if len(self._metrics_names) > 0
          else None
      )
  
imports: import torch
  import numpy
  from torch.utils.data import DataLoader
  from pytorch_tabnet import tab_network
  from pytorch_tabnet.utils import create_explain_matrix, filter_weights, SparsePredictDataset, PredictDataset, check_input, create_group_matrix
  from torch.nn.utils import clip_grad_norm_
  from pytorch_tabnet.pretraining_utils import create_dataloaders, validate_eval_set
  from pytorch_tabnet.metrics import UnsupMetricContainer, check_metrics, UnsupervisedLoss
  from pytorch_tabnet.abstract_model import TabModel
  import scipy
label_desc: Use image node_id 8 for calling the TabNetPretrainer obj's underlying member method code with example usage: obj._set_metrics(eval_names) without return types