code: def feature_combinations(train_inputs, test_inputs, train_targets):
      combos = [
          ("ps_reg_01", "ps_car_02_cat"),
          ("ps_reg_01", "ps_car_04_cat"),
      ]
  
      #################### Build Combination Features ####################
      for n_c, (f1, f2) in enumerate(combos):
          name1 = f1 + "_plus_" + f2
  
          train_inputs[name1] = (
              train_inputs[f1].apply(lambda x: str(x))
              + "_"
              + train_inputs[f2].apply(lambda x: str(x))
          )
          test_inputs[name1] = (
              test_inputs[f1].apply(lambda x: str(x))
              + "_"
              + test_inputs[f2].apply(lambda x: str(x))
          )
  
          #################### Label Encode ####################
          lbl = LabelEncoder()
          lbl.fit(
              list(train_inputs[name1].values)
              + list(test_inputs[name1].values)
          )
          train_inputs[name1] = lbl.transform(
              list(train_inputs[name1].values)
          )
          test_inputs[name1] = lbl.transform(
              list(test_inputs[name1].values)
          )
  
      #################### Target Encode ####################
      categorical_features = [
          f for f in train_inputs.columns if "_cat" in f
      ]
  
      for f in categorical_features:
          (
              train_inputs[f + "_avg"],
              test_inputs[f + "_avg"],
          ) = target_encode(
              trn_series=train_inputs[f],
              tst_series=test_inputs[f],
              target=train_targets["target"],
              min_samples_leaf=200,
              smoothing=10,
              noise_level=0,
          )
  
      return train_inputs, test_inputs, train_targets
  
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 6 for calling a global function with example usage: feature_combinations(train_inputs, test_inputs, train_targets) and returns: train_inputs,  test_inputs,  train_targets