code: def opt_lgb_0(request):
      optimizer = BayesianOptPro(
          target_metric=request.param, iterations=2, random_state=32
      )
      optimizer.forge_experiment(
          model_initializer=LGBMClassifier,
          model_init_params=dict(
              boosting_type=Categorical(["gbdt", "dart"]),
              num_leaves=Integer(2, 8),
              n_estimators=10,
              max_depth=5,
              min_child_samples=1,
              subsample=Real(0.4, 0.7),
              verbose=-1,
          ),
      )
      optimizer.go()
      yield optimizer
  
      assert optimizer.target_metric == (
          "oof",
          (request.param or "roc_auc"),
      )
  
file_path: hyperparameter_hunter/tests/smoke_tests/test_lightgbm.py
imports: from hyperparameter_hunter import Environment, CVExperiment, Real, Integer, Categorical
  from hyperparameter_hunter import BayesianOptPro
  from hyperparameter_hunter.i_o.result_reader import has_experiment_result_file
  from hyperparameter_hunter.utils.learning_utils import get_breast_cancer_data
  import pytest
  from lightgbm import LGBMClassifier
  from sklearn.metrics import f1_score
label_desc: Use image node_id 3 for calling a global function with example usage: opt_lgb_0(request) without return types