class_docstr: Tranformer for converting aif360 dataset to LIME dataset and vice versa.
  
  (LIME - Local Interpretable Model-Agnostic Explanations) [2]_
  
  See for details/usage:
  https://github.com/marcotcr/lime
  
  References:
      .. [2] M.T. Ribeiro, S. Singh, and C. Guestrin, '"Why should I trust
         you?" Explaining the predictions of any classifier.'
         https://arxiv.org/pdf/1602.04938v1.pdf
docstr: Take data array that is lime encoded (that is, lime-compatible data
  created by this class from a given aif360 dataset) and return data array
  consistent with the original aif360 dataset.
  
  Args:
      limedata (np.ndarray): Dataset features
  
  Returns:
      np.ndarray: aif360 dataset features
code: def inverse_transform(self, limedata):
      """Take data array that is lime encoded (that is, lime-compatible data
      created by this class from a given aif360 dataset) and return data array
      consistent with the original aif360 dataset.
  
      Args:
          limedata (np.ndarray): Dataset features
  
      Returns:
          np.ndarray: aif360 dataset features
      """
      tgtNumRows = limedata.shape[0]
      tgtNumcolumns = len(self.s_feature_names_with_one_hot_encoding)
      aif360data = np.zeros(shape=(tgtNumRows, tgtNumcolumns))
  
      for rw in range(aif360data.shape[0]):
          for ind, feature in enumerate(self.s_feature_names):
              # s_categorical_features has list of indexes into
              # s_feature_names for categorical features
              if ind in self.s_categorical_features:
                  if feature in self.s_protected_attribute_names:
                      # just copy the value as is
                      aif360data[
                          rw,
                          self.s_feature_names_with_one_hot_encoding.index(
                              feature
                          ),
                      ] = limedata[rw, ind]
                  else:
                      # s_categorical_names[ind] has mapping of categorical to
                      # numerical values i.e. limedata[rw, ind] is index of
                      # this array. value is string val
                      new_feature = (
                          feature
                          + "="
                          + self.s_categorical_names[ind][
                              int(limedata[rw, ind])
                          ]
                      )
                      # categorical feature:
                      aif360data[
                          rw,
                          self.s_feature_names_with_one_hot_encoding.index(
                              new_feature
                          ),
                      ] = 1.0
              else:  # just copy value
                  aif360data[
                      rw,
                      self.s_feature_names_with_one_hot_encoding.index(
                          feature
                      ),
                  ] = limedata[rw, ind]
  
      return aif360data
  
file_path: AIF360/aif360/datasets/lime_encoder.py
imports: import sklearn.preprocessing
  import numpy
  from aif360.algorithms import Transformer
label_desc: Use image node_id 4 for calling the LimeEncoder obj's underlying member method code with example usage: obj.inverse_transform(limedata) and returns: aif360data