code: def _config_model(self, data):
      self.params["eta"] = self.learning_rate
      self.params["depth"] = self.max_depth
      self.params["l2_leaf_reg"] = self.L2_reg
      self.params["devices"] = "0"
      self.params["max_bin"] = self.max_bin
      self.params["thread_count"] = 20
      self.params["iterations"] = self.num_rounds
  
      if self.use_gpu:
          self.params["task_type"] = "GPU"
      else:
          self.params["task_type"] = "CPU"
      if data.task == "Multiclass classification":
          self.params["loss_function"] = "MultiClass"
          self.params["classes_count"] = int(np.max(data.y_test) + 1)
          self.params["eval_metric"] = "MultiClass"
      if data.task == "Classification":
          self.params["loss_function"] = "Logloss"
      if data.task == "Ranking":
          self.params["loss_function"] = "YetiRank"
          self.params["eval_metric"] = "NDCG"
  
file_path: thundergbm/python/benchmarks/model/catboost_model.py
imports: from model.base_model import BaseModel
  import numpy
  import catboost
  import time
  import utils.data_utils
  from model.datasets import Dataset
label_desc: Use image node_id 2 for calling the CatboostModel obj's underlying member method code with example usage: obj._config_model(data) without return types