code: def manifold(self, transformer):
          
          if not is_estimator(transformer):
              if transformer not in self.ALGORITHMS:
                  raise YellowbrickValueError(
                      "could not create manifold for '%s'".format(str(transformer))
                  )
  
              # Create a new transformer with the specified params
              self._name = MANIFOLD_NAMES[transformer]
              transformer = clone(self.ALGORITHMS[transformer])
              params = {
                  "n_components": 2,
                  "n_neighbors": self.n_neighbors,
                  "random_state": self.random_state,
              }
  
              for param in list(params.keys()):
                  if param not in transformer.get_params():
                      del params[param]
  
              transformer.set_params(**params)
  
          self._manifold = transformer
          if self._name is None:
              self._name = self._manifold.__class__.__name__
docs: Creates the manifold estimator if a string value is passed in,
          validates other objects passed in.