docs: def _get_param_names(cls):
          """Get parameter names for the estimator"""
          # fetch the constructor or the original constructor before
          # deprecation wrapping if any
          init = getattr(cls.__init__, 'deprecated_original', cls.__init__)
          if init is object.__init__:
              # No explicit constructor to introspect
              return []
  
          # introspect the constructor arguments to find the model parameters
          # to represent
          init_signature = signature(init)
          # Consider the constructor parameters excluding 'self'
          parameters = [p for p in init_signature.parameters.values()
                        if p.name != 'self' and p.kind != p.VAR_KEYWORD]
          # Extract and sort argument names excluding 'self'
          parameters = set([p.name for p in parameters])
  
          # recurse
          for superclass in cls.__bases__:
              try:
                  parameters.update(superclass._get_param_names())
              except AttributeError:
                  # object and pygsp.graphs.Graph don't have this method
                  pass
  
          return parameters