code: def _config_model(self, data):
      self.params["task"] = "train"
      self.params["boosting_type"] = "gbdt"
      self.params["max_depth"] = 6
      self.params["num_leaves"] = (
          2 ** self.params["max_depth"]
      )  # for max_depth is 6
      # self.params['min_sum_hessian+in_leaf'] = 1
      self.params["min_split_gain"] = self.min_split_loss
      self.params["min_child_weight"] = self.min_weight
      self.params["lambda_l1"] = self.L1_reg
      self.params["lambda_l2"] = self.L2_reg
      self.params["max_bin"] = self.max_bin
      self.params["num_threads"] = 20
  
      if self.use_gpu:
          self.params["device"] = "gpu"
      else:
          self.params["device"] = "cpu"
      if data.task == "Regression":
          self.params["objective"] = "regression"
      elif data.task == "Multiclass classification":
          self.params["objective"] = "multiclass"
          self.params["num_class"] = int(np.max(data.y_test) + 1)
      elif data.task == "Classification":
          self.params["objective"] = "binary"
      elif data.task == "Ranking":
          self.params["objective"] = "lambdarank"
      else:
          raise ValueError("Unknown task: " + data.task)
  
file_path: thundergbm/python/benchmarks/model/lightgbm_model.py
imports: from model.base_model import BaseModel
  import numpy
  import lightgbm
  import time
  import utils.data_utils
  from model.datasets import Dataset
label_desc: Use image node_id 2 for calling the LightGBMModel obj's underlying member method code with example usage: obj._config_model(data) without return types