Back to models
Transformer

FeatureSelection

Select exogenous features.

Quickstart

python
from sktime.transformations.feature_selection import FeatureSelection

estimator = FeatureSelection(method='feature-importances', n_columns=None, regressor=None, random_state=None, columns=None)

Parameters(5)

methodstr, 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.

  • “random”: Randomly select n_columns features. Requires parameter n_columns.

  • “columns”: Select features by given names.

  • “none”: Remove all columns, transform returns None.

  • “all”: Select all given features.

regressorsklearn-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, then a GradientBoostingRegressor(max_depth=5) is used.

n_columnsint, optional
Number of features (columns) to select. n_columns must be <= number of X columns. Some methods require n_columns to be given.
random_stateint, RandomState instance or None, default=None
Used to set random_state of the default regressor and to set random.seed() if method=”random”.
columnslist of str
A list of columns to select. If columns is given.

Examples

>>> from sktime.transformations.feature_selection import FeatureSelection
>>> from sktime.datasets import load_longley
>>> y, X = load_longley ()
>>> transformer = FeatureSelection (method = "feature-importances", n_columns = 3)
>>> Xt = transformer. fit_transform (X, y)