code: def initial_preprocessor(data, json_file):
      """
      initial preprocessing function that's called in the case that the user doesn't provide a preprocessing option
      :param data: dataframe
      :param json_file: is the json file with the specifications for preprocessing
      :return initially preprocessed dataframe
      """
      object_columns = [
          col
          for col, col_type in data.dtypes.iteritems()
          if col_type == "object"
      ]
  
      # Handles dates without timestamps
      for col in object_columns:
          try:
              data[col] = pd.to_datetime(
                  data[col], infer_datetime_format=True
              )
          except ValueError:
              pass
  
      # get target column
      target = json_file["data"]["target"]
      y = data[target]
  
      # remove rows where target is NaN
      data = data[y.notna()]
      y = y[y.notna()]
  
      del data[target]
  
      df_pre_transform = data.copy()
  
      X_train, X_test, y_train, y_test = train_test_split(
          data, y, test_size=0.2, shuffle=json_file["shuffle"]
      )
  
      data = {
          "train": pd.concat([X_train], axis=1),
          "test": pd.concat([X_test], axis=1),
      }
  
      # preprocess the dataset
      data, full_pipeline = structured_preprocessor(data)
  
      y_split = {"train": y_train, "test": y_test}
  
      target_transformers = preprocess_y_data(y, y_split, target)
  
      return data, y_split, df_pre_transform, target_transformers
  
imports: import numpy
  import pandas
  from sklearn.compose import ColumnTransformer
  from sklearn.feature_extraction.text import TfidfVectorizer
  from sklearn.pipeline import Pipeline
  from prince.ca import CA
  from nltk.stem import WordNetLemmatizer
  from nltk.tokenize import word_tokenize
  from nltk.corpus import stopwords
  from autocorrect import Speller
  from sklearn.model_selection import train_test_split
  from sklearn.impute import SimpleImputer
  from sklearn.preprocessing import OneHotEncoder, StandardScaler, FunctionTransformer, LabelEncoder
  from pandas.api.types import is_numeric_dtype
  import warnings
label_desc: Use image node_id 1 for calling a global function with example usage: initial_preprocessor(data, json_file) and returns: data,  y_split,  df_pre_transform,  target_transformers