class_docstr: Encode categorical integer features using a one-hot aka one-of-K scheme.
  
  The input to this transformer should be a sparse matrix of integers, denoting
  the values taken on by categorical (discrete) features. The output will be
  a sparse matrix were each column corresponds to one possible value of one
  feature. It is assumed that input features take on values in the range
  [0, n_values).
  
  Attributes
  ----------
  `feature_indices_` : array of shape (n_features,)
      Indices to feature ranges.
      Feature ``i`` in the original data is mapped to features
      from ``feature_indices_[i]`` to ``feature_indices_[i+1]``
      (and then potentially masked by `active_features_` afterwards)
  
  `n_values_` : array of shape (n_features,)
      Maximum number of values per feature.
code: def _check_X(self, X):
      if not sparse.issparse(X):
          raise TypeError("SparseOneHotEncoder requires X to be sparse")
      X = check_array(
          X, accept_sparse="csc", force_all_finite=False, dtype=np.int32
      )
      if X.min() < 0:
          raise ValueError(
              "X needs to contain only non-negative integers."
          )
  
      return X
  
file_path: auto-sklearn/autosklearn/pipeline/implementations/SparseOneHotEncoder.py
imports: import numpy
  from scipy import sparse
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.utils import check_array
label_desc: Use image node_id 2 for calling the SparseOneHotEncoder obj's underlying member method code with example usage: obj._check_X(X) and returns: X