SequentialFeatureSelector html repr throws an exception

### Describe the bug

SequentialFeatureSelector html repr throws an exception. (Non-html repr is OK)

### Steps/Code to Reproduce

```python
sklearn.feature_selection.SequentialFeatureSelector(sklearn.linear_model.LinearRegression)
```
into ipython or jupyter.

### Expected Results

No exception

### Actual Results

```python
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File ~/conda/envs/main/lib/python3.10/site-packages/IPython/core/formatters.py:973, in MimeBundleFormatter.__call__(self, obj, include, exclude)
    970     method = get_real_method(obj, self.print_method)
    972     if method is not None:
--> 973         return method(include=include, exclude=exclude)
    974     return None
    975 else:

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/base.py:631, in BaseEstimator._repr_mimebundle_(self, **kwargs)
    629 output = {"text/plain": repr(self)}
    630 if get_config()["display"] == "diagram":
--> 631     output["text/html"] = estimator_html_repr(self)
    632 return output

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:417, in estimator_html_repr(estimator)
    403 fallback_msg = (
    404     "In a Jupyter environment, please rerun this cell to show the HTML"
    405     " representation or trust the notebook. <br />On GitHub, the"
    406     " HTML representation is unable to render, please try loading this page"
    407     " with nbviewer.org."
    408 )
    409 out.write(
    410     f"<style>{style_with_id}</style>"
    411     f'<div id="{container_id}" class="sk-top-container">'
   (...)
    415     '<div class="sk-container" hidden>'
    416 )
--> 417 _write_estimator_html(
    418     out,
    419     estimator,
    420     estimator.__class__.__name__,
    421     estimator_str,
    422     first_call=True,
    423 )
    424 out.write("</div></div>")
    426 html_output = out.getvalue()

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:175, in _write_estimator_html(out, estimator, estimator_label, estimator_label_details, first_call)
    173         # wrap element in a serial visualblock
    174         serial_block = _VisualBlock("serial", [est], dash_wrapped=False)
--> 175         _write_estimator_html(out, serial_block, name, name_details)
    176         out.write("</div>")  # sk-parallel-item
    178 out.write("</div></div>")

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:170, in _write_estimator_html(out, estimator, estimator_label, estimator_label_details, first_call)
    168 for est, name, name_details in est_infos:
    169     if kind == "serial":
--> 170         _write_estimator_html(out, est, name, name_details)
    171     else:  # parallel
    172         out.write('<div class="sk-parallel-item">')

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:154, in _write_estimator_html(out, estimator, estimator_label, estimator_label_details, first_call)
    152 else:
    153     with config_context(print_changed_only=True):
--> 154         est_block = _get_visual_block(estimator)
    156 if est_block.kind in ("serial", "parallel"):
    157     dashed_wrapped = first_call or est_block.dash_wrapped

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:127, in _get_visual_block(estimator)
    123 # check if estimator looks like a meta estimator wraps estimators
    124 if hasattr(estimator, "get_params"):
    125     estimators = [
    126         (key, est)
--> 127         for key, est in estimator.get_params(deep=False).items()
    128         if hasattr(est, "get_params") and hasattr(est, "fit")
    129     ]
    130     if estimators:
    131         return _VisualBlock(
    132             "parallel",
    133             [est for _, est in estimators],
    134             names=[f"{key}: {est.__class__.__name__}" for key, est in estimators],
    135             name_details=[str(est) for _, est in estimators],
    136         )

TypeError: BaseEstimator.get_params() missing 1 required positional argument: 'self'

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File ~/conda/envs/main/lib/python3.10/site-packages/IPython/core/formatters.py:343, in BaseFormatter.__call__(self, obj)
    341     method = get_real_method(obj, self.print_method)
    342     if method is not None:
--> 343         return method()
    344     return None
    345 else:

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/base.py:625, in BaseEstimator._repr_html_inner(self)
    620 def _repr_html_inner(self):
    621     """This function is returned by the @property `_repr_html_` to make
    622     `hasattr(estimator, "_repr_html_") return `True` or `False` depending
    623     on `get_config()["display"]`.
    624     """
--> 625     return estimator_html_repr(self)

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:417, in estimator_html_repr(estimator)
    403 fallback_msg = (
    404     "In a Jupyter environment, please rerun this cell to show the HTML"
    405     " representation or trust the notebook. <br />On GitHub, the"
    406     " HTML representation is unable to render, please try loading this page"
    407     " with nbviewer.org."
    408 )
    409 out.write(
    410     f"<style>{style_with_id}</style>"
    411     f'<div id="{container_id}" class="sk-top-container">'
   (...)
    415     '<div class="sk-container" hidden>'
    416 )
--> 417 _write_estimator_html(
    418     out,
    419     estimator,
    420     estimator.__class__.__name__,
    421     estimator_str,
    422     first_call=True,
    423 )
    424 out.write("</div></div>")
    426 html_output = out.getvalue()

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:175, in _write_estimator_html(out, estimator, estimator_label, estimator_label_details, first_call)
    173         # wrap element in a serial visualblock
    174         serial_block = _VisualBlock("serial", [est], dash_wrapped=False)
--> 175         _write_estimator_html(out, serial_block, name, name_details)
    176         out.write("</div>")  # sk-parallel-item
    178 out.write("</div></div>")

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:170, in _write_estimator_html(out, estimator, estimator_label, estimator_label_details, first_call)
    168 for est, name, name_details in est_infos:
    169     if kind == "serial":
--> 170         _write_estimator_html(out, est, name, name_details)
    171     else:  # parallel
    172         out.write('<div class="sk-parallel-item">')

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:154, in _write_estimator_html(out, estimator, estimator_label, estimator_label_details, first_call)
    152 else:
    153     with config_context(print_changed_only=True):
--> 154         est_block = _get_visual_block(estimator)
    156 if est_block.kind in ("serial", "parallel"):
    157     dashed_wrapped = first_call or est_block.dash_wrapped

File ~/conda/envs/main/lib/python3.10/site-packages/sklearn/utils/_estimator_html_repr.py:127, in _get_visual_block(estimator)
    123 # check if estimator looks like a meta estimator wraps estimators
    124 if hasattr(estimator, "get_params"):
    125     estimators = [
    126         (key, est)
--> 127         for key, est in estimator.get_params(deep=False).items()
    128         if hasattr(est, "get_params") and hasattr(est, "fit")
    129     ]
    130     if estimators:
    131         return _VisualBlock(
    132             "parallel",
    133             [est for _, est in estimators],
    134             names=[f"{key}: {est.__class__.__name__}" for key, est in estimators],
    135             name_details=[str(est) for _, est in estimators],
    136         )

TypeError: BaseEstimator.get_params() missing 1 required positional argument: 'self'
```

### Versions

```shell
System:
    python: 3.10.5 | packaged by conda-forge | (main, Jun 14 2022, 07:07:06) [Clang 13.0.1 ]
executable: ~/conda/envs/main/bin/python
   machine: macOS-12.5.1-arm64-arm-64bit

Python dependencies:
      sklearn: 1.1.2
          pip: 22.2.2
   setuptools: 63.4.2
        numpy: 1.23.1
        scipy: 1.9.0
       Cython: None
       pandas: 1.4.3
   matplotlib: 3.5.2
       joblib: 1.1.0
threadpoolctl: 3.1.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
         prefix: libopenblas
       filepath: ~/conda/envs/main/lib/libopenblas_vortexp-r0.3.20.dylib
        version: 0.3.20
threading_layer: openmp
   architecture: VORTEX
    num_threads: 8

       user_api: openmp
   internal_api: openmp
         prefix: libomp
       filepath: ~/conda/envs/main/lib/libomp.dylib
        version: None
    num_threads: 8
```
```

COMMENT:
Oops, my bad.

Working version:
```python
sklearn.feature_selection.SequentialFeatureSelector(sklearn.linear_model.LinearRegression())
```

Labels: Bug, Needs Triage