code: def execute():
      #################### Environment ####################
      env = Environment(
          train_dataset=get_iris_data(),
          results_path="HyperparameterHunterAssets",
          target_column="species",
          metrics=["hamming_loss"],
          cv_params=dict(n_splits=5, random_state=32),
      )
  
      #################### Experiment ####################
      # Just a reference for normal `class_weight` usage outside of optimization
      CVExperiment(
          RandomForestClassifier,
          dict(n_estimators=10, class_weight={0: 1, 1: 1, 2: 1}),
      )
  
      #################### Optimization ####################
      opt = BayesianOptPro(iterations=10, random_state=32)
      opt.forge_experiment(
          model_initializer=RandomForestClassifier,
          model_init_params=dict(
              # Weight values for each class can be optimized with `Categorical`/`Integer`
              class_weight={
                  0: Categorical([1, 3]),
                  1: Categorical([1, 4]),
                  2: Integer(
                      1, 9
                  ),  # You can also use `Integer` for low/high ranges
              },
              criterion=Categorical(["gini", "entropy"]),
              n_estimators=Integer(5, 100),
          ),
      )
      opt.go()
  
label_desc: Use image node_id 1 for calling a global function with example usage: execute() without return types