code: def _train_model(self, data):
      if data.task is "Regression":
          self.model = tgb.TGBMRegressor(
              tree_method=self.tree_method,
              depth=self.max_depth,
              n_trees=40,
              n_gpus=1,
              min_child_weight=1.0,
              lambda_tgbm=1.0,
              gamma=1.0,
              max_num_bin=255,
              verbose=0,
              column_sampling_rate=1.0,
              bagging=0,
              n_parallel_trees=1,
              learning_rate=1.0,
              objective="reg:linear",
              num_class=1,
          )
      else:
          self.model = tgb.TGBMClassifier(
              bagging=1,
              lambda_tgbm=1,
              learning_rate=0.07,
              min_child_weight=1.2,
              n_gpus=1,
              verbose=0,
              n_parallel_trees=40,
              gamma=0.2,
              depth=self.max_depth,
              n_trees=40,
              tree_method=self.tree_method,
              objective="multi:softprob",
          )
      start = time.time()
      self.model.fit(data.X_train, data.y_train)
      elapsed = time.time() - start
      print(
          "##################!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! %.5f"
          % elapsed
      )
  
      return elapsed
  
file_path: thundergbm/python/benchmarks/model/thundergbm_model.py
imports: from model.base_model import BaseModel
  import thundergbm
  import time
  import numpy
  import utils.data_utils
  from model.datasets import Dataset
label_desc: Use image node_id 3 for calling the ThunderGBMModel obj's underlying member method code with example usage: obj._train_model(data) and returns: elapsed