MRMRFeatureSelectionTransform

class MRMRFeatureSelectionTransform(relevance_table: etna.analysis.feature_relevance.relevance.RelevanceTable, top_k: int, features_to_use: Union[List[str], Literal['all']] = 'all', fast_redundancy: bool = False, relevance_aggregation_mode: str = AggregationMode.mean, redundancy_aggregation_mode: str = AggregationMode.mean, atol: float = 1e-10, return_features: bool = False, **relevance_params)[source]

Bases: etna.transforms.feature_selection.base.BaseFeatureSelectionTransform

Transform that selects features according to MRMR variable selection method adapted to the timeseries case.

Notes

Transform works with any type of features, however most of the models works only with regressors. Therefore, it is recommended to pass the regressors into the feature selection transforms.

Init MRMRFeatureSelectionTransform.

Parameters
  • relevance_table (etna.analysis.feature_relevance.relevance.RelevanceTable) – method to calculate relevance table

  • top_k (int) – num of features to select; if there are not enough features, then all will be selected

  • features_to_use (Union[List[str], Literal['all']]) – columns of the dataset to select from if “all” value is given, all columns are used

  • fast_redundancy (bool) –

    • True: compute redundancy only inside the the segments, time complexity :math:`O(top_k * n_segments * n_features * history_len)

    • False: compute redundancy for all the pairs of segments, time complexity \(O(top\_k * n\_segments^2 * n\_features * history\_len)\)

  • relevance_aggregation_mode (str) – the method for relevance values per-segment aggregation

  • redundancy_aggregation_mode (str) – the method for redundancy values per-segment aggregation

  • atol (float) – the absolute tolerance to compare the float values

  • return_features (bool) – indicates whether to return features or not.

Inherited-members

Methods

fit(ts)

Fit the transform.

fit_transform(ts)

Fit and transform TSDataset.

get_regressors_info()

Return the list with regressors created by the transform.

inverse_transform(ts)

Inverse transform TSDataset.

load(path)

Load an object.

params_to_tune()

Get default grid for tuning hyperparameters.

save(path)

Save the object.

set_params(**params)

Return new object instance with modified parameters.

to_dict()

Collect all information about etna object in dict.

transform(ts)

Transform TSDataset inplace.

params_to_tune() Dict[str, etna.distributions.distributions.BaseDistribution][source]

Get default grid for tuning hyperparameters.

This grid tunes top_k parameter. Other parameters are expected to be set by the user.

For top_k parameter the maximum suggested value is not greater than self.top_k.

Returns

Grid to tune.

Return type

Dict[str, etna.distributions.distributions.BaseDistribution]