class_docstr: Base class for all estimators in scikit-learn
  
  Notes
  -----
  All estimators should specify all the parameters that can be set
  at the class level in their ``__init__`` as explicit keyword
  arguments (no ``*args`` or ``**kwargs``).
class_docstr_tok: ["Base","class","for","all","estimators","in","scikit-learn","Notes","--","--","-","All","estimators","should","specify","all","the","parameters","that","can","be","set","at","the","class","level","in","their","``","__init__","``","as","explicit","keyword","arguments","(","no","``","*","args","``","or","``","*","*","kwargs","``",")","."]
docstr: Get parameter names for the estimator
docstr_tok: ["Get","parameter","names","for","the","estimator"]
code: 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
      ]
      for p in parameters:
          if p.kind == p.VAR_POSITIONAL:
              raise RuntimeError(
                  "scikit-learn estimators should always "
                  "specify their parameters in the signature"
                  " of their __init__ (no varargs)."
                  " %s with constructor %s doesn't "
                  " follow this convention." % (cls, init_signature)
              )
      # Extract and sort argument names excluding 'self'
      return sorted([p.name for p in parameters])
  
imports: import copy
  import warnings
  import numpy
  from scipy import sparse
  from .externals import six
  from .utils.fixes import signature
  from .utils.deprecation import deprecated
  from .exceptions import ChangedBehaviorWarning
  from .None import __version__
label_desc: Use image node_id 1 for calling the BaseEstimator obj's underlying member method code with example usage: obj._get_param_names(cls) and returns: sorted, list