code: def load_data(
      self,
      data_frame: DataFrame,
      categorical_fields: Optional[Union[str, List[str]]] = None,
      numerical_fields: Optional[Union[str, List[str]]] = None,
      target_fields: Optional[Union[str, List[str]]] = None,
      parameters: Dict[str, Any] = None,
      target_formatter: Optional[TargetFormatter] = None,
  ):
      cat_vars, num_vars = self.preprocess(
          data_frame, categorical_fields, numerical_fields, parameters
      )
  
      if not self.predicting:
          targets = resolve_targets(data_frame, target_fields)
          self.load_target_metadata(
              targets, target_formatter=target_formatter
          )
          return [
              {DataKeys.INPUT: (c, n), DataKeys.TARGET: t}
              for c, n, t in zip(cat_vars, num_vars, targets)
          ]
  
      return [
          {DataKeys.INPUT: (c, n)} for c, n in zip(cat_vars, num_vars)
      ]
  
imports: from typing import Any, Dict, List, Optional, Union
  from flash.core.data.io.classification_input import ClassificationInputMixin
  from flash.core.data.io.input import DataKeys
  from flash.core.data.utilities.classification import TargetFormatter
  from flash.core.data.utilities.data_frame import resolve_targets
  from flash.core.data.utilities.loading import load_data_frame
  from flash.core.utilities.imports import _PANDAS_AVAILABLE
  from flash.tabular.input import TabularDataFrameInput
label_desc: Use image node_id 1 for calling the TabularClassificationDataFrameInput obj's underlying member method code with example usage: obj.load_data(data_frame, categorical_fields, numerical_fields, target_fields, parameters, target_formatter) and returns: unknown, unknown