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","``",")","."]
code: def __setstate__(self, state):
      if type(self).__module__.startswith("sklearn.") or type(
          self
      ).__module__.startswith("__tests__.sklearn."):
          pickle_version = state.pop("_sklearn_version", "pre-0.18")
          if pickle_version != __version__:
              warnings.warn(
                  "Trying to unpickle estimator {0} from version {1} when "
                  "using version {2}. This might lead to breaking code or "
                  "invalid results. Use at your own risk.".format(
                      self.__class__.__name__,
                      pickle_version,
                      __version__,
                  ),
                  UserWarning,
              )
      self.__dict__.update(state)
  
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 6 for calling the BaseEstimator obj's underlying member method code with example usage: obj.__setstate__(state) without return types