code: def _build_fil_classifier(m, data, args, tmpdir):
      """Setup function for FIL classification benchmarking"""
      from cuml.internals.import_utils import has_xgboost
  
      train_data, train_label = _training_data_to_numpy(
          data[0], data[1]
      )
  
      dtrain = xgb.DMatrix(train_data, label=train_label)
  
      params = {
          "silent": 1,
          "eval_metric": "error",
          "objective": "binary:logistic",
          "tree_method": "gpu_hist",
      }
      params.update(args)
      max_depth = args["max_depth"]
      num_rounds = args["num_rounds"]
      n_feature = data[0].shape[1]
      train_size = data[0].shape[0]
      model_name = (
          f"xgb_{max_depth}_{num_rounds}_{n_feature}_{train_size}.model"
      )
      model_path = os.path.join(tmpdir, model_name)
      bst = xgb.train(params, dtrain, num_rounds)
      bst.save_model(model_path)
  
      fil_kwargs = {
          param: args[input_name]
          for param, input_name in (
              ("algo", "fil_algo"),
              ("output_class", "output_class"),
              ("threshold", "threshold"),
              ("storage_type", "storage_type"),
              ("precision", "precision"),
          )
          if input_name in args
      }
  
      return m.load(model_path, **fil_kwargs)
  
imports: from cuml.manifold import UMAP
  from cuml.benchmark import datagen
  from cuml.common.device_selection import using_device_type
  from cuml.internals.device_type import DeviceType
  from cuml.internals.global_settings import GlobalSettings
  from cuml.internals.safe_imports import cpu_only_import, gpu_only_import, gpu_only_import_from, safe_import
  import sklearn.ensemble
  import pickle
  import os
  import cuml
  from cuml.internals import input_utils
  from time import perf_counter
label_desc: Use image node_id 11 for calling a global function with example usage: _build_fil_classifier(m, data, args, tmpdir) and returns: m