code: def fit(
      self,
      X: PIPELINE_DATA_DTYPE,
      y: Optional[PIPELINE_DATA_DTYPE] = None,
  ) -> "OrdinalEncoding":
      if not scipy.sparse.issparse(X):
          self.preprocessor = OrdinalEncoder(
              categories="auto",
              handle_unknown="use_encoded_value",
              unknown_value=-1,
          )
          self.preprocessor.fit(X, y)
          return self
      else:
          # TODO sparse_encoding of negative labels
          #
          #   The next step in the pipeline relies on positive labels
          #   Given a categorical column [[0], [-1]], the next step will fail
          #   unless we can fix this encoding
          return self
  
file_path: auto-sklearn/autosklearn/pipeline/components/data_preprocessing/categorical_encoding/encoding.py
imports: from typing import Dict, Optional, Tuple, Union
  import numpy
  import scipy.sparse
  from ConfigSpace.configuration_space import ConfigurationSpace
  from sklearn.preprocessing import OrdinalEncoder
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  from autosklearn.pipeline.base import DATASET_PROPERTIES_TYPE, PIPELINE_DATA_DTYPE
  from autosklearn.pipeline.components.base import AutoSklearnPreprocessingAlgorithm
  from autosklearn.pipeline.constants import DENSE, INPUT, SPARSE, UNSIGNED_DATA
label_desc: Use image node_id 2 for calling the OrdinalEncoding obj's underlying member method code with example usage: obj.fit(X, y) and returns: self, self