code: def _check_transform_inputs(self, X):
      if self.handle_missing == "error":
          if X[self.cols].isna().any().any():
              raise ValueError(
                  "Columns to be encoded can not contain null"
              )
  
      if self._dim is None:
          raise NotFittedError(
              "Must train encoder before it can be used to transform data."
          )
  
      # then make sure that it is the right size
      if X.shape[1] != self._dim:
          raise ValueError(
              f"Unexpected input dimension {X.shape[1]}, expected {self._dim}"
          )
  
imports: from abc import abstractmethod
  from enum import Enum, auto
  import warnings
  import pandas
  import numpy
  import sklearn.base
  from pandas.api.types import is_object_dtype, is_string_dtype, is_numeric_dtype
  from pandas.core.dtypes.dtypes import CategoricalDtype
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.exceptions import NotFittedError
  from typing import Dict, List, Optional, Union
  from scipy.sparse import csr_matrix
  from sklearn.preprocessing import LabelEncoder
label_desc: Use image node_id 4 for calling the BaseEncoder obj's underlying member method code with example usage: obj._check_transform_inputs(X) without return types