docs: def inverse_transform(self, y):
          """Transform labels back to original encoding.
  
          Parameters
          ----------
          y : numpy array of shape [n_samples]
              Target values.
  
          Returns
          -------
          y : numpy array of shape [n_samples]
          """
          check_is_fitted(self, 'classes_')
  
          diff = np.setdiff1d(y, np.arange(len(self.classes_)))
          if diff:
              raise ValueError("y contains new labels: %s" % str(diff))
          y = np.asarray(y)
          return self.classes_[y]