We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[DOC] Bullet point not rendered properly on feature_selection.py
#### Describe the issue linked to the documentation

<!--
Tell us about the confusion introduced in the documentation.
-->Under Time series transformations (https://www.sktime.net/en/latest/api_reference/transformations.html) in 
FeatureSelection , bullet point is not rendered properly for “feature-importances” under the  FeatureSelection class.

#### Suggest a potential alternative/fix

<!--
Tell us how we could improve the documentation in this regard.
-->


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `sktime/transformations/series/feature_selection.py`
Content:
```
1 #!/usr/bin/env python3 -u
2 # copyright: sktime developers, BSD-3-Clause License (see LICENSE file)
3 """Implements feature selection algorithms."""
4 
5 __author__ = ["aiwalter"]
6 __all__ = ["FeatureSelection"]
7 
8 import math
9 
10 import pandas as pd
11 
12 from sktime.transformations.base import BaseTransformer
13 from sktime.utils.validation.forecasting import check_regressor
14 
15 
16 class FeatureSelection(BaseTransformer):
17     """Select exogenous features.
18 
19     Transformer to enable tuneable feature selection of exogenous data. The
20     FeatureSelection implements multiple methods to select features (columns).
21     In case X is a pd.Series, then it is just passed through, unless method="none",
22     then None is returned in transform().
23 
24     Parameters
25     ----------
26     method : str, required
27         The method of how to select the features. Implemented methods are:
28         * "feature-importances": Use feature_importances_ of the regressor (meta-model)
29           to select n_columns with highest importance values.
30           Requires parameter n_columns.
31         * "random": Randomly select n_columns features. Requires parameter n_columns.
32         * "columns": Select features by given names.
33         * "none": Remove all columns, transform returns None.
34         * "all": Select all given features.
35     regressor : sklearn-like regressor, optional, default=None.
36         Used as meta-model for the method "feature-importances". The given
37         regressor must have an attribute "feature_importances_". If None,
38         then a GradientBoostingRegressor(max_depth=5) is used.
39     n_columns : int, optional
40         Number of features (columns) to select. n_columns must be <=
41         number of X columns. Some methods require n_columns to be given.
42     random_state : int, RandomState instance or None, default=None
43         Used to set random_state of the default regressor and to
44         set random.seed() if method="random".
45     columns : list of str
46         A list of columns to select. If columns is given.
47 
48     Attributes
49     ----------
50     columns_ : list of str
51         List of columns that have been selected as features.
52     regressor_ : sklearn-like regressor
53         Fitted regressor (meta-model).
54     n_columns_: int
55         Derived from number of features if n_columns is None, then
56         n_columns_ is calculated as int(math.ceil(Z.shape[1] / 2)). So taking
57         half of given features only as default.
58     feature_importances_ : dict or None
59         A dictionary with column name as key and feature imporatnce value as value.
60         The dict is sorted descending on value. This attribute is a dict if
61         method="feature-importances", else None.
62 
63     Examples
64     --------
65     >>> from sktime.transformations.series.feature_selection import FeatureSelection
66     >>> from sktime.datasets import load_longley
67     >>> y, X = load_longley()
68     >>> transformer = FeatureSelection(method="feature-importances", n_columns=3)
69     >>> Xt = transformer.fit_transform(X, y)
70     """
71 
72     _tags = {
73         "authors": ["aiwalter"],
74         "scitype:transform-input": "Series",
75         # what is the scitype of X: Series, or Panel
76         "scitype:transform-output": "Series",
77         # what scitype is returned: Primitives, Series, Panel
78         "scitype:instancewise": True,  # is this an instance-wise transform?
79         "X_inner_mtype": ["pd.DataFrame", "pd.Series"],
80         # which mtypes do _fit/_predict support for X?
81         "y_inner_mtype": "pd.Series",  # which mtypes do _fit/_predict support for y?
82         "fit_is_empty": False,
83         "transform-returns-same-time-index": True,
84         "skip-inverse-transform": True,
85         "univariate-only": False,
86     }
87 
88     def __init__(
89         self,
90         method="feature-importances",
91         n_columns=None,
92         regressor=None,
93         random_state=None,
94         columns=None,
95     ):
96         self.n_columns = n_columns
97         self.method = method
98         self.regressor = regressor
99         self.random_state = random_state
100         self.columns = columns
101 
102         super().__init__()
103 
104     def _fit(self, X, y=None):
105         """Fit transformer to X and y.
106 
107         private _fit containing the core logic, called from fit
108 
109         Parameters
110         ----------
111         X : pd.Series or pd.DataFrame
112             Data to fit transform to
113         y : pd.DataFrame, default=None
114             Additional data, e.g., labels for transformation
115 
116         Returns
117         -------
118         self: a fitted instance of the estimator
119         """
120         self.n_columns_ = self.n_columns
121         self.feature_importances_ = None
122 
123         # multivariate X
124         if not isinstance(X, pd.Series):
125             if self.method == "feature-importances":
126                 self.regressor_ = check_regressor(
127                     regressor=self.regressor, random_state=self.random_state
128                 )
129                 self._check_n_columns(X)
130                 # fit regressor with X as exog data and y as endog data (target)
131                 self.regressor_.fit(X=X, y=y)
132                 if not hasattr(self.regressor_, "feature_importances_"):
133                     raise ValueError(
134                         """The given regressor must have an
135                         attribute feature_importances_ after fitting."""
136                     )
137                 # create dict with columns name (key) and feauter importance (value)
138                 d = dict(zip(X.columns, self.regressor_.feature_importances_))
139                 # sort d descending
140                 d = {k: d[k] for k in sorted(d, key=d.get, reverse=True)}
141                 self.feature_importances_ = d
142                 self.columns_ = list(d.keys())[: self.n_columns_]
143             elif self.method == "random":
144                 self._check_n_columns(X)
145                 self.columns_ = list(
146                     X.sample(
147                         n=self.n_columns_, random_state=self.random_state, axis=1
148                     ).columns
149                 )
150             elif self.method == "columns":
151                 if self.columns is None:
152                     raise AttributeError("Parameter columns must be given.")
153                 self.columns_ = self.columns
154             elif self.method == "none":
155                 self.columns_ = None
156             elif self.method == "all":
157                 self.columns_ = list(X.columns)
158             else:
159                 raise ValueError("Incorrect method given. Try another method.")
160         return self
161 
162     def _transform(self, X, y=None):
163         """Transform X and return a transformed version.
164 
165         private _transform containing the core logic, called from transform
166 
167         Parameters
168         ----------
169         X : pd.Series or pd.DataFrame
170             Data to be transformed
171         y : ignored argument for interface compatibility
172             Additional data, e.g., labels for transformation
173 
174         Returns
175         -------
176         Xt : pd.Series or pd.DataFrame, same type as X
177             transformed version of X
178         """
179         # multivariate case
180         if not isinstance(X, pd.Series):
181             if self.method == "none":
182                 Xt = None
183             else:
184                 Xt = X[self.columns_]
185         # univariate case
186         else:
187             if self.method == "none":
188                 Xt = None
189             else:
190                 Xt = X
191         return Xt
192 
193     def _check_n_columns(self, Z):
194         if not isinstance(self.n_columns_, int):
195             self.n_columns_ = int(math.ceil(Z.shape[1] / 2))
196 
197     @classmethod
198     def get_test_params(cls, parameter_set="default"):
199         """Return testing parameter settings for the estimator.
200 
201         Parameters
202         ----------
203         parameter_set : str, default="default"
204             Name of the set of test parameters to return, for use in tests. If no
205             special parameters are defined for a value, will return `"default"` set.
206 
207 
208         Returns
209         -------
210         params : dict or list of dict, default = {}
211             Parameters to create testing instances of the class
212             Each dict are parameters to construct an "interesting" test instance, i.e.,
213             `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance.
214             `create_test_instance` uses the first (or only) dictionary in `params`
215         """
216         return {"method": "all"}
217
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/sktime/transformations/series/feature_selection.py b/sktime/transformations/series/feature_selection.py
--- a/sktime/transformations/series/feature_selection.py
+++ b/sktime/transformations/series/feature_selection.py
@@ -25,6 +25,7 @@
     ----------
     method : str, required
         The method of how to select the features. Implemented methods are:
+
         * "feature-importances": Use feature_importances_ of the regressor (meta-model)
           to select n_columns with highest importance values.
           Requires parameter n_columns.
@@ -32,6 +33,7 @@
         * "columns": Select features by given names.
         * "none": Remove all columns, transform returns None.
         * "all": Select all given features.
+
     regressor : sklearn-like regressor, optional, default=None.
         Used as meta-model for the method "feature-importances". The given
         regressor must have an attribute "feature_importances_". If None,

{"golden_diff": "diff --git a/sktime/transformations/series/feature_selection.py b/sktime/transformations/series/feature_selection.py\n--- a/sktime/transformations/series/feature_selection.py\n+++ b/sktime/transformations/series/feature_selection.py\n@@ -25,6 +25,7 @@\n     ----------\n     method : str, required\n         The method of how to select the features. Implemented methods are:\n+\n         * \"feature-importances\": Use feature_importances_ of the regressor (meta-model)\n           to select n_columns with highest importance values.\n           Requires parameter n_columns.\n@@ -32,6 +33,7 @@\n         * \"columns\": Select features by given names.\n         * \"none\": Remove all columns, transform returns None.\n         * \"all\": Select all given features.\n+\n     regressor : sklearn-like regressor, optional, default=None.\n         Used as meta-model for the method \"feature-importances\". The given\n         regressor must have an attribute \"feature_importances_\". If None,\n", "issue": "[DOC] Bullet point not rendered properly on feature_selection.py\n#### Describe the issue linked to the documentation\r\n\r\n<!--\r\nTell us about the confusion introduced in the documentation.\r\n-->Under Time series transformations (https://www.sktime.net/en/latest/api_reference/transformations.html) in \r\nFeatureSelection , bullet point is not rendered properly for \u201cfeature-importances\u201d under the  FeatureSelection class.\r\n\r\n#### Suggest a potential alternative/fix\r\n\r\n<!--\r\nTell us how we could improve the documentation in this regard.\r\n-->\r\n\n", "before_files": [{"content": "#!/usr/bin/env python3 -u\n# copyright: sktime developers, BSD-3-Clause License (see LICENSE file)\n\"\"\"Implements feature selection algorithms.\"\"\"\n\n__author__ = [\"aiwalter\"]\n__all__ = [\"FeatureSelection\"]\n\nimport math\n\nimport pandas as pd\n\nfrom sktime.transformations.base import BaseTransformer\nfrom sktime.utils.validation.forecasting import check_regressor\n\n\nclass FeatureSelection(BaseTransformer):\n    \"\"\"Select exogenous features.\n\n    Transformer to enable tuneable feature selection of exogenous data. The\n    FeatureSelection implements multiple methods to select features (columns).\n    In case X is a pd.Series, then it is just passed through, unless method=\"none\",\n    then None is returned in transform().\n\n    Parameters\n    ----------\n    method : str, required\n        The method of how to select the features. Implemented methods are:\n        * \"feature-importances\": Use feature_importances_ of the regressor (meta-model)\n          to select n_columns with highest importance values.\n          Requires parameter n_columns.\n        * \"random\": Randomly select n_columns features. Requires parameter n_columns.\n        * \"columns\": Select features by given names.\n        * \"none\": Remove all columns, transform returns None.\n        * \"all\": Select all given features.\n    regressor : sklearn-like regressor, optional, default=None.\n        Used as meta-model for the method \"feature-importances\". The given\n        regressor must have an attribute \"feature_importances_\". If None,\n        then a GradientBoostingRegressor(max_depth=5) is used.\n    n_columns : int, optional\n        Number of features (columns) to select. n_columns must be <=\n        number of X columns. Some methods require n_columns to be given.\n    random_state : int, RandomState instance or None, default=None\n        Used to set random_state of the default regressor and to\n        set random.seed() if method=\"random\".\n    columns : list of str\n        A list of columns to select. If columns is given.\n\n    Attributes\n    ----------\n    columns_ : list of str\n        List of columns that have been selected as features.\n    regressor_ : sklearn-like regressor\n        Fitted regressor (meta-model).\n    n_columns_: int\n        Derived from number of features if n_columns is None, then\n        n_columns_ is calculated as int(math.ceil(Z.shape[1] / 2)). So taking\n        half of given features only as default.\n    feature_importances_ : dict or None\n        A dictionary with column name as key and feature imporatnce value as value.\n        The dict is sorted descending on value. This attribute is a dict if\n        method=\"feature-importances\", else None.\n\n    Examples\n    --------\n    >>> from sktime.transformations.series.feature_selection import FeatureSelection\n    >>> from sktime.datasets import load_longley\n    >>> y, X = load_longley()\n    >>> transformer = FeatureSelection(method=\"feature-importances\", n_columns=3)\n    >>> Xt = transformer.fit_transform(X, y)\n    \"\"\"\n\n    _tags = {\n        \"authors\": [\"aiwalter\"],\n        \"scitype:transform-input\": \"Series\",\n        # what is the scitype of X: Series, or Panel\n        \"scitype:transform-output\": \"Series\",\n        # what scitype is returned: Primitives, Series, Panel\n        \"scitype:instancewise\": True,  # is this an instance-wise transform?\n        \"X_inner_mtype\": [\"pd.DataFrame\", \"pd.Series\"],\n        # which mtypes do _fit/_predict support for X?\n        \"y_inner_mtype\": \"pd.Series\",  # which mtypes do _fit/_predict support for y?\n        \"fit_is_empty\": False,\n        \"transform-returns-same-time-index\": True,\n        \"skip-inverse-transform\": True,\n        \"univariate-only\": False,\n    }\n\n    def __init__(\n        self,\n        method=\"feature-importances\",\n        n_columns=None,\n        regressor=None,\n        random_state=None,\n        columns=None,\n    ):\n        self.n_columns = n_columns\n        self.method = method\n        self.regressor = regressor\n        self.random_state = random_state\n        self.columns = columns\n\n        super().__init__()\n\n    def _fit(self, X, y=None):\n        \"\"\"Fit transformer to X and y.\n\n        private _fit containing the core logic, called from fit\n\n        Parameters\n        ----------\n        X : pd.Series or pd.DataFrame\n            Data to fit transform to\n        y : pd.DataFrame, default=None\n            Additional data, e.g., labels for transformation\n\n        Returns\n        -------\n        self: a fitted instance of the estimator\n        \"\"\"\n        self.n_columns_ = self.n_columns\n        self.feature_importances_ = None\n\n        # multivariate X\n        if not isinstance(X, pd.Series):\n            if self.method == \"feature-importances\":\n                self.regressor_ = check_regressor(\n                    regressor=self.regressor, random_state=self.random_state\n                )\n                self._check_n_columns(X)\n                # fit regressor with X as exog data and y as endog data (target)\n                self.regressor_.fit(X=X, y=y)\n                if not hasattr(self.regressor_, \"feature_importances_\"):\n                    raise ValueError(\n                        \"\"\"The given regressor must have an\n                        attribute feature_importances_ after fitting.\"\"\"\n                    )\n                # create dict with columns name (key) and feauter importance (value)\n                d = dict(zip(X.columns, self.regressor_.feature_importances_))\n                # sort d descending\n                d = {k: d[k] for k in sorted(d, key=d.get, reverse=True)}\n                self.feature_importances_ = d\n                self.columns_ = list(d.keys())[: self.n_columns_]\n            elif self.method == \"random\":\n                self._check_n_columns(X)\n                self.columns_ = list(\n                    X.sample(\n                        n=self.n_columns_, random_state=self.random_state, axis=1\n                    ).columns\n                )\n            elif self.method == \"columns\":\n                if self.columns is None:\n                    raise AttributeError(\"Parameter columns must be given.\")\n                self.columns_ = self.columns\n            elif self.method == \"none\":\n                self.columns_ = None\n            elif self.method == \"all\":\n                self.columns_ = list(X.columns)\n            else:\n                raise ValueError(\"Incorrect method given. Try another method.\")\n        return self\n\n    def _transform(self, X, y=None):\n        \"\"\"Transform X and return a transformed version.\n\n        private _transform containing the core logic, called from transform\n\n        Parameters\n        ----------\n        X : pd.Series or pd.DataFrame\n            Data to be transformed\n        y : ignored argument for interface compatibility\n            Additional data, e.g., labels for transformation\n\n        Returns\n        -------\n        Xt : pd.Series or pd.DataFrame, same type as X\n            transformed version of X\n        \"\"\"\n        # multivariate case\n        if not isinstance(X, pd.Series):\n            if self.method == \"none\":\n                Xt = None\n            else:\n                Xt = X[self.columns_]\n        # univariate case\n        else:\n            if self.method == \"none\":\n                Xt = None\n            else:\n                Xt = X\n        return Xt\n\n    def _check_n_columns(self, Z):\n        if not isinstance(self.n_columns_, int):\n            self.n_columns_ = int(math.ceil(Z.shape[1] / 2))\n\n    @classmethod\n    def get_test_params(cls, parameter_set=\"default\"):\n        \"\"\"Return testing parameter settings for the estimator.\n\n        Parameters\n        ----------\n        parameter_set : str, default=\"default\"\n            Name of the set of test parameters to return, for use in tests. If no\n            special parameters are defined for a value, will return `\"default\"` set.\n\n\n        Returns\n        -------\n        params : dict or list of dict, default = {}\n            Parameters to create testing instances of the class\n            Each dict are parameters to construct an \"interesting\" test instance, i.e.,\n            `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance.\n            `create_test_instance` uses the first (or only) dictionary in `params`\n        \"\"\"\n        return {\"method\": \"all\"}\n", "path": "sktime/transformations/series/feature_selection.py"}], "after_files": [{"content": "#!/usr/bin/env python3 -u\n# copyright: sktime developers, BSD-3-Clause License (see LICENSE file)\n\"\"\"Implements feature selection algorithms.\"\"\"\n\n__author__ = [\"aiwalter\"]\n__all__ = [\"FeatureSelection\"]\n\nimport math\n\nimport pandas as pd\n\nfrom sktime.transformations.base import BaseTransformer\nfrom sktime.utils.validation.forecasting import check_regressor\n\n\nclass FeatureSelection(BaseTransformer):\n    \"\"\"Select exogenous features.\n\n    Transformer to enable tuneable feature selection of exogenous data. The\n    FeatureSelection implements multiple methods to select features (columns).\n    In case X is a pd.Series, then it is just passed through, unless method=\"none\",\n    then None is returned in transform().\n\n    Parameters\n    ----------\n    method : str, required\n        The method of how to select the features. Implemented methods are:\n\n        * \"feature-importances\": Use feature_importances_ of the regressor (meta-model)\n          to select n_columns with highest importance values.\n          Requires parameter n_columns.\n        * \"random\": Randomly select n_columns features. Requires parameter n_columns.\n        * \"columns\": Select features by given names.\n        * \"none\": Remove all columns, transform returns None.\n        * \"all\": Select all given features.\n\n    regressor : sklearn-like regressor, optional, default=None.\n        Used as meta-model for the method \"feature-importances\". The given\n        regressor must have an attribute \"feature_importances_\". If None,\n        then a GradientBoostingRegressor(max_depth=5) is used.\n    n_columns : int, optional\n        Number of features (columns) to select. n_columns must be <=\n        number of X columns. Some methods require n_columns to be given.\n    random_state : int, RandomState instance or None, default=None\n        Used to set random_state of the default regressor and to\n        set random.seed() if method=\"random\".\n    columns : list of str\n        A list of columns to select. If columns is given.\n\n    Attributes\n    ----------\n    columns_ : list of str\n        List of columns that have been selected as features.\n    regressor_ : sklearn-like regressor\n        Fitted regressor (meta-model).\n    n_columns_: int\n        Derived from number of features if n_columns is None, then\n        n_columns_ is calculated as int(math.ceil(Z.shape[1] / 2)). So taking\n        half of given features only as default.\n    feature_importances_ : dict or None\n        A dictionary with column name as key and feature imporatnce value as value.\n        The dict is sorted descending on value. This attribute is a dict if\n        method=\"feature-importances\", else None.\n\n    Examples\n    --------\n    >>> from sktime.transformations.series.feature_selection import FeatureSelection\n    >>> from sktime.datasets import load_longley\n    >>> y, X = load_longley()\n    >>> transformer = FeatureSelection(method=\"feature-importances\", n_columns=3)\n    >>> Xt = transformer.fit_transform(X, y)\n    \"\"\"\n\n    _tags = {\n        \"authors\": [\"aiwalter\"],\n        \"scitype:transform-input\": \"Series\",\n        # what is the scitype of X: Series, or Panel\n        \"scitype:transform-output\": \"Series\",\n        # what scitype is returned: Primitives, Series, Panel\n        \"scitype:instancewise\": True,  # is this an instance-wise transform?\n        \"X_inner_mtype\": [\"pd.DataFrame\", \"pd.Series\"],\n        # which mtypes do _fit/_predict support for X?\n        \"y_inner_mtype\": \"pd.Series\",  # which mtypes do _fit/_predict support for y?\n        \"fit_is_empty\": False,\n        \"transform-returns-same-time-index\": True,\n        \"skip-inverse-transform\": True,\n        \"univariate-only\": False,\n    }\n\n    def __init__(\n        self,\n        method=\"feature-importances\",\n        n_columns=None,\n        regressor=None,\n        random_state=None,\n        columns=None,\n    ):\n        self.n_columns = n_columns\n        self.method = method\n        self.regressor = regressor\n        self.random_state = random_state\n        self.columns = columns\n\n        super().__init__()\n\n    def _fit(self, X, y=None):\n        \"\"\"Fit transformer to X and y.\n\n        private _fit containing the core logic, called from fit\n\n        Parameters\n        ----------\n        X : pd.Series or pd.DataFrame\n            Data to fit transform to\n        y : pd.DataFrame, default=None\n            Additional data, e.g., labels for transformation\n\n        Returns\n        -------\n        self: a fitted instance of the estimator\n        \"\"\"\n        self.n_columns_ = self.n_columns\n        self.feature_importances_ = None\n\n        # multivariate X\n        if not isinstance(X, pd.Series):\n            if self.method == \"feature-importances\":\n                self.regressor_ = check_regressor(\n                    regressor=self.regressor, random_state=self.random_state\n                )\n                self._check_n_columns(X)\n                # fit regressor with X as exog data and y as endog data (target)\n                self.regressor_.fit(X=X, y=y)\n                if not hasattr(self.regressor_, \"feature_importances_\"):\n                    raise ValueError(\n                        \"\"\"The given regressor must have an\n                        attribute feature_importances_ after fitting.\"\"\"\n                    )\n                # create dict with columns name (key) and feauter importance (value)\n                d = dict(zip(X.columns, self.regressor_.feature_importances_))\n                # sort d descending\n                d = {k: d[k] for k in sorted(d, key=d.get, reverse=True)}\n                self.feature_importances_ = d\n                self.columns_ = list(d.keys())[: self.n_columns_]\n            elif self.method == \"random\":\n                self._check_n_columns(X)\n                self.columns_ = list(\n                    X.sample(\n                        n=self.n_columns_, random_state=self.random_state, axis=1\n                    ).columns\n                )\n            elif self.method == \"columns\":\n                if self.columns is None:\n                    raise AttributeError(\"Parameter columns must be given.\")\n                self.columns_ = self.columns\n            elif self.method == \"none\":\n                self.columns_ = None\n            elif self.method == \"all\":\n                self.columns_ = list(X.columns)\n            else:\n                raise ValueError(\"Incorrect method given. Try another method.\")\n        return self\n\n    def _transform(self, X, y=None):\n        \"\"\"Transform X and return a transformed version.\n\n        private _transform containing the core logic, called from transform\n\n        Parameters\n        ----------\n        X : pd.Series or pd.DataFrame\n            Data to be transformed\n        y : ignored argument for interface compatibility\n            Additional data, e.g., labels for transformation\n\n        Returns\n        -------\n        Xt : pd.Series or pd.DataFrame, same type as X\n            transformed version of X\n        \"\"\"\n        # multivariate case\n        if not isinstance(X, pd.Series):\n            if self.method == \"none\":\n                Xt = None\n            else:\n                Xt = X[self.columns_]\n        # univariate case\n        else:\n            if self.method == \"none\":\n                Xt = None\n            else:\n                Xt = X\n        return Xt\n\n    def _check_n_columns(self, Z):\n        if not isinstance(self.n_columns_, int):\n            self.n_columns_ = int(math.ceil(Z.shape[1] / 2))\n\n    @classmethod\n    def get_test_params(cls, parameter_set=\"default\"):\n        \"\"\"Return testing parameter settings for the estimator.\n\n        Parameters\n        ----------\n        parameter_set : str, default=\"default\"\n            Name of the set of test parameters to return, for use in tests. If no\n            special parameters are defined for a value, will return `\"default\"` set.\n\n\n        Returns\n        -------\n        params : dict or list of dict, default = {}\n            Parameters to create testing instances of the class\n            Each dict are parameters to construct an \"interesting\" test instance, i.e.,\n            `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance.\n            `create_test_instance` uses the first (or only) dictionary in `params`\n        \"\"\"\n        return {\"method\": \"all\"}\n", "path": "sktime/transformations/series/feature_selection.py"}]}