code: def preprocess(df, test_size, shuffle):
      N, _ = df.shape
  
      df = df[df != "'--"]  # Replace missing entries with nan
      n_unique = df.nunique()
  
      for col, n in n_unique.items():
          if "id" in col or n <= 1:
              df.drop(col, axis=1, inplace=True)
  
      shortcut_col = [
          "days_to_death",
          "year_of_death",
      ]  # Shortcut columns should be removed
      for col in shortcut_col:
          df.drop(col, axis=1, inplace=True)
  
      df_train, df_test = train_test_split(
          df, test_size=test_size, shuffle=shuffle
      )
      return df_train, df_test
  
file_path: autogluon/examples/automm/TCGA_cancer_survival/example_cancer_survival.py
imports: import pandas
  import numpy
  import argparse
  import os
  import random
  from autogluon.tabular import TabularPredictor, TabularDataset
  from autogluon.tabular.configs.hyperparameter_configs import get_hyperparameter_config
  import torch
  from sklearn.model_selection import train_test_split
  from autogluon.multimodal.utils import download
  import warnings
label_desc: Use image node_id 3 for calling a global function with example usage: preprocess(df, test_size, shuffle) and returns: df_train,  df_test