code: def configure(self, data, args):
      params = shared_params.copy()
      params.update(
          {
              "max_leaves": 256,
              "njobs": args.cpus,
              "max_depth": args.max_depth,
              "ntrees": args.ntrees,
          }
      )
      if data.learning_task == LearningTask.REGRESSION:
          params["objective"] = "regression"
          params["args"] = {}
      elif data.learning_task == LearningTask.CLASSIFICATION:
          params["objective"] = "binary"
          params["scale_pos_weight"] = len(
              data.y_train
          ) / np.count_nonzero(data.y_train)
          params["args"] = {
              "scale_pos_weight": params["scale_pos_weight"]
          }
      elif data.learning_task == LearningTask.MULTICLASS_CLASSIFICATION:
          params["objective"] = "multiclass"
          params["num_class"] = np.max(data.y_test) + 1
          params["args"] = {}
      params.update(args.extra)
  
      return params
  
imports: from abc import ABC, abstractmethod
  import lightgbm
  import numpy
  from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor
  import xgboost
  from benchmarks.timer import Timer
  from benchmarks.datasets import LearningTask
label_desc: Use image node_id 1 for calling the LgbmAlgorithm obj's underlying member method code with example usage: obj.configure(data, args) and returns: params