code: def check_input_classic(
      input_data, context, preprocessor, args_for_sk_checks
  ):
      preprocessor_has_been_applied = False
      if input_data.ndim == 1:
          if preprocessor is not None:
              input_data = preprocess_points(input_data, preprocessor)
              preprocessor_has_been_applied = True
          else:
              make_error_input(101, input_data, context)
      elif input_data.ndim == 2:
          pass  # OK
      else:
          if preprocessor is not None:
              make_error_input(320, input_data, context)
          else:
              make_error_input(100, input_data, context)
  
      input_data = check_array(
          input_data,
          allow_nd=True,
          ensure_2d=False,
          **args_for_sk_checks,
      )
      if input_data.ndim != 2:
          # we have to ensure this because check_array above does not
          if preprocessor_has_been_applied:
              make_error_input(111, input_data, context)
          else:
              make_error_input(101, input_data, context)
      return input_data
  
imports: import numpy
  from numpy.linalg import LinAlgError
  from sklearn.datasets import make_spd_matrix
  from sklearn.decomposition import PCA
  from sklearn.utils import check_array
  from sklearn.utils.validation import check_X_y, check_random_state
  from .exceptions import PreprocessorError, NonPSDError
  from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
  from scipy.linalg import pinvh, eigh
  import sys
  import time
  import warnings
label_desc: Use image node_id 3 for calling a global function with example usage: check_input_classic(input_data, context, preprocessor, args_for_sk_checks) and returns: input_data