code: def execute():
      env = Environment(
          train_dataset="data/train.csv",
          test_dataset="data/test.csv",
          results_path="HyperparameterHunterAssets",
          target_column="target",
          metrics=dict(gini=gini_normalized_c),
          id_column="id",
          cv_type=StratifiedKFold,
          cv_params=dict(n_splits=5, shuffle=True, random_state=15),
          do_predict_proba=1,
          to_csv_params=dict(
              index=False
          ),  # Drops index from final prediction files
      )
  
      exp = CVExperiment(
          model_initializer=XGBClassifier,
          model_init_params=dict(
              n_estimators=200,
              max_depth=4,
              objective="binary:logistic",
              learning_rate=0.1,
              subsample=0.8,
              colsample_bytree=0.8,
              gamma=1,
              reg_alpha=0,
              reg_lambda=1,
              nthread=2,
          ),
          model_extra_params=dict(
              eval_set=[
                  (env.train_input, env.train_target),
                  (env.validation_input, env.validation_target),
              ],
              eval_metric=gini_xgb,
              early_stopping_rounds=None,
              verbose=False,
          ),
          feature_engineer=FeatureEngineer(
              [
                  feature_combinations,
                  EngineerStep(upsample_train_data, stage="intra_cv"),
              ]
          ),
          feature_selector=[
              "ps_car_13",  # : 1571.65 / shadow  609.23
              "ps_reg_03",  # : 1408.42 / shadow  511.15
              "ps_ind_05_cat",  # : 1387.87 / shadow   84.72
              "ps_ind_03",  # : 1219.47 / shadow  230.55
              "ps_ind_15",  # :  922.18 / shadow  242.00
              "ps_reg_02",  # :  920.65 / shadow  267.50
              "ps_car_14",  # :  798.48 / shadow  549.58
              "ps_car_12",  # :  731.93 / shadow  293.62
              "ps_car_01_cat",  # :  698.07 / shadow  178.72
              "ps_car_07_cat",  # :  694.53 / shadow   36.35
              "ps_ind_17_bin",  # :  620.77 / shadow   23.15
              "ps_car_03_cat",  # :  611.73 / shadow   50.67
              "ps_reg_01",  # :  598.60 / shadow  178.57
              "ps_car_15",  # :  593.35 / shadow  226.43
              "ps_ind_01",  # :  547.32 / shadow  154.58
              "ps_ind_16_bin",  # :  475.37 / shadow   34.17
              "ps_ind_07_bin",  # :  435.28 / shadow   28.92
              "ps_car_06_cat",  # :  398.02 / shadow  212.43
              "ps_car_04_cat",  # :  376.87 / shadow   76.98
              "ps_ind_06_bin",  # :  370.97 / shadow   36.13
              "ps_car_09_cat",  # :  214.12 / shadow   81.38
              "ps_car_02_cat",  # :  203.03 / shadow   26.67
              "ps_ind_02_cat",  # :  189.47 / shadow   65.68
              "ps_car_11",  # :  173.28 / shadow   76.45
              "ps_car_05_cat",  # :  172.75 / shadow   62.92
              "ps_calc_09",  # :  169.13 / shadow  129.72
              "ps_calc_05",  # :  148.83 / shadow  120.68
              "ps_ind_08_bin",  # :  140.73 / shadow   27.63
              "ps_car_08_cat",  # :  120.87 / shadow   28.82
              "ps_ind_09_bin",  # :  113.92 / shadow   27.05
              "ps_ind_04_cat",  # :  107.27 / shadow   37.43
              "ps_ind_18_bin",  # :   77.42 / shadow   25.97
              "ps_ind_12_bin",  # :   39.67 / shadow   15.52
              "ps_ind_14",  # :   37.37 / shadow   16.65
              "ps_car_11_cat",  # Very nice spot from Tilii : https://www.kaggle.com/tilii7
          ],
      )
  
file_path: hyperparameter_hunter/examples/feature_engineering_examples/olivier_porto_seguro_kaggle.py
imports: from hyperparameter_hunter import Environment, CVExperiment, FeatureEngineer, EngineerStep
  import numpy
  import pandas
  from sklearn.model_selection import StratifiedKFold
  from sklearn.preprocessing import LabelEncoder
  from xgboost import XGBClassifier
label_desc: Use image node_id 8 for calling a global function with example usage: execute() without return types