class_docstr: Encode the categorical features to numerical features.
  
  # Arguments
      column_names: A list of strings specifying the names of the columns. The
          length of the list should be equal to the number of columns of the
          data.  Defaults to None. If None, it will be obtained from the
          header of the csv file or the pandas.DataFrame.
      column_types: Dict. The keys are the column names. The values should
          either be 'numerical' or 'categorical', indicating the type of that
          column. Defaults to None. If not None, the column_names need to be
          specified.  If None, it will be inferred from the data.
code: def get_config(self):
      vocab = []
      for encoding_layer in self.layer.encoding_layers:
          if encoding_layer is None:
              vocab.append([])
          else:
              vocab.append(encoding_layer.get_vocabulary())
      return {
          "column_types": self.column_types,
          "column_names": self.column_names,
          "encoding_layer": preprocessors.serialize(self.layer),
          "encoding_vocab": vocab,
      }
  
imports: import tensorflow
  from autokeras import analysers
  from autokeras import keras_layers
  from autokeras import preprocessors
  from autokeras.engine import preprocessor
  from autokeras.utils import data_utils
label_desc: Use image node_id 4 for calling the CategoricalToNumericalPreprocessor obj's underlying member method code with example usage: obj.get_config() and returns: dict