code: def do_exps_with_command(model_name, dataset_name, use_gpu=True):
      model = None
      result_path = ""
      if model_name == "xgboost":
          model = XGboostModel()
          result_path = "xgb.txt"
      elif model_name == "catboost":
          model = CatboostModel()
          result_path = "cbt.txt"
      elif model_name == "lightgbm":
          model = LightGBMModel()
          result_path = "lgb.txt"
      elif model_name == "thundergbm":
          model = ThunderGBMModel()
          result_path = "tgb.txt"
      else:
          print("illegal model name...")
  
      model.use_gpu = use_gpu
      dataset = load_dataset(dataset_name)
  
      df = pd.DataFrame()
      result_file = open(result_path, "a")
      used_times = []
      metrics = []
      for i in range(1, 6, 1):
          result_str = (
              "## Model: "
              + model.model_name()
              + " ##\n## Dataset: "
              + dataset.name
              + " ##\n"
          )
          ut, mc = r_model(dataset, model, df)
          fu.write_results(df, "result.csv", "csv")
          used_times.append(ut)
          metrics.append(mc)
          result_str += ", ".join([str(x) for x in used_times]) + "\n"
          result_str += ", ".join([str(x) for x in metrics]) + "\n\n\n"
          print(result_str)
      result_file.write(result_str)
      result_file.close()
  
file_path: thundergbm/python/benchmarks/experiments.py
imports: import utils.data_utils
  from model.catboost_model import CatboostModel
  from model.lightgbm_model import LightGBMModel
  from model.xgboost_model import XGboostModel
  from model.thundergbm_model import ThunderGBMModel
  from model.datasets import Dataset
  import utils.file_utils
  import pandas
  import math
  import sys
label_desc: Use image node_id 8 for calling a global function with example usage: do_exps_with_command(model_name, dataset_name, use_gpu) without return types