class_docstr: Class for TabNet model.
class_docstr_tok: ["Class","for","TabNet","model","."]
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, metrics, 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 = metrics or [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: MetricContainer(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: from dataclasses import dataclass, field
  from typing import List, Any, Dict
  import torch
  from torch.nn.utils import clip_grad_norm_
  import numpy
  from scipy.sparse import csc_matrix
  from abc import abstractmethod
  from pytorch_tabnet import tab_network
  from pytorch_tabnet.utils import SparsePredictDataset, PredictDataset, create_explain_matrix, validate_eval_set, create_dataloaders, define_device, ComplexEncoder, check_input, check_warm_start, create_group_matrix, check_embedding_parameters
  from pytorch_tabnet.callbacks import CallbackContainer, History, EarlyStopping, LRSchedulerCallback
  from pytorch_tabnet.metrics import MetricContainer, check_metrics
  from sklearn.base import BaseEstimator
  from torch.utils.data import DataLoader
  import io
  import json
  from pathlib import Path
  import shutil
  import zipfile
  import warnings
  import copy
  import scipy
label_desc: Use image node_id 15 for calling the TabModel obj's underlying member method code with example usage: obj._set_metrics(metrics, eval_names) without return types