code: def prepare():
      RANDOM_SEED = 42
      titanic_data = get_titanic()
      print(titanic_data)
  
      labels = titanic_data["survived"].to_numpy()
      titanic_data = titanic_data.drop(["survived"], axis=1)
      feature_names = list(titanic_data.columns)
      data = titanic_data.to_numpy()
      # Separate training and test sets using
      (
          train_features,
          test_features,
          train_labels,
          test_labels,
      ) = train_test_split(
          data,
          labels,
          test_size=0.3,
          random_state=RANDOM_SEED,
          stratify=labels,
      )
      train_features = np.vstack(train_features[:, :]).astype(
          np.float32
      )
      test_features = np.vstack(test_features[:, :]).astype(np.float32)
      return (
          train_features,
          train_labels,
          test_features,
          test_labels,
          feature_names,
      )
  
imports: import os
  from argparse import ArgumentParser
  import matplotlib.pyplot
  import numpy
  import pandas
  import torch
  from captum.attr import IntegratedGradients, LayerConductance, NeuronConductance
  from prettytable import PrettyTable
  from scipy import stats
  from sklearn.model_selection import train_test_split
  from torch import nn
  import mlflow
label_desc: Use image node_id 2 for calling a global function with example usage: prepare() and returns: train_features,  train_labels,  test_features,  test_labels,  feature_names