code: def __init__(
      self,
      depth,
      n_trees,
      n_gpus,
      min_child_weight,
      lambda_tgbm,
      gamma,
      max_num_bin,
      verbose,
      column_sampling_rate,
      bagging,
      n_parallel_trees,
      learning_rate,
      objective,
      num_class,
      tree_method,
  ):
      self.depth = depth
      self.n_trees = n_trees
      self.n_gpus = n_gpus
      self.min_child_weight = min_child_weight
      self.lambda_tgbm = lambda_tgbm
      self.gamma = gamma
      self.max_num_bin = max_num_bin
      self.verbose = verbose
      self.column_sampling_rate = column_sampling_rate
      self.bagging = bagging
      self.n_parallel_trees = n_parallel_trees
      self.learning_rate = learning_rate
      self.objective = objective
      self.num_class = num_class
      self.path = path
      self.tree_method = tree_method
      self.model = None
      self.tree_per_iter = -1
      self.group_label = None
  
imports: from sklearn.base import BaseEstimator
  from sklearn.base import RegressorMixin, ClassifierMixin
  from sklearn.metrics import mean_squared_error, accuracy_score
  import numpy
  import scipy.sparse
  import statistics
  from sklearn.utils import check_X_y
  from ctypes import *
  from os import path
  from sys import platform
label_desc: Use image node_id 1 to create a new TGBMModel object from inherited base classes: ThundergbmBase with example: obj = TGBMModel(depth, n_trees, n_gpus, min_child_weight, lambda_tgbm, gamma, max_num_bin, verbose, column_sampling_rate, bagging, n_parallel_trees, learning_rate, objective, num_class, tree_method)