code: def assert_estimator_equal(left, right, exclude=None, **kwargs):
      
      left_attrs = [x for x in dir(left) if x.endswith("_") and not x.startswith("_")]
      right_attrs = [x for x in dir(right) if x.endswith("_") and not x.startswith("_")]
      if exclude is None:
          exclude = set()
      elif isinstance(exclude, str):
          exclude = {exclude}
      else:
          exclude = set(exclude)
  
      assert (set(left_attrs) - exclude) == set(right_attrs) - exclude
  
      for attr in set(left_attrs) - exclude:
          l = getattr(left, attr)
          r = getattr(right, attr)
          _assert_eq(l, r, **kwargs)
docs: Check that two Estimators are equal
  
      Parameters
      ----------
      left, right : Estimators
      exclude : str or sequence of str
          attributes to skip in the check
      kwargs : dict
          Passed through to the dask `assert_eq` method.