code: def prep_data():
      (train_input, train_target), (
          holdout_input,
          holdout_target,
      ) = mnist.load_data()
  
      #################### Flatten Input Data ####################
      num_flat_cols = (
          train_input.shape[1] * train_input.shape[2]
      )  # 784 == (28 * 28)
      train_input = train_input.reshape(
          train_input.shape[0], num_flat_cols
      )
      holdout_input = holdout_input.reshape(
          holdout_input.shape[0], num_flat_cols
      )
  
      #################### Train DataFrame ####################
      train_df = pd.DataFrame(data=train_input)
      train_df["target"] = train_target
      train_df = pd.get_dummies(
          train_df, columns=["target"], prefix="target"
      )
  
      #################### Holdout DataFrame ####################
      holdout_df = pd.DataFrame(data=holdout_input)
      holdout_df["target"] = holdout_target
      holdout_df = pd.get_dummies(
          holdout_df, columns=["target"], prefix="target"
      )
  
      return train_df, holdout_df
  
file_path: hyperparameter_hunter/examples/keras_examples/mnist_example.py
imports: from hyperparameter_hunter import Environment, CVExperiment, FeatureEngineer
  from hyperparameter_hunter import BayesianOptPro, Real, Integer, Categorical
  import os
  import pandas
  from keras.datasets import mnist
  from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
  from keras.models import Sequential
  from keras.wrappers.scikit_learn import KerasClassifier
label_desc: Use image node_id 1 for calling a global function with example usage: prep_data() and returns: train_df,  holdout_df