GaleShapleyFeatureSelectionTransform¶
- class GaleShapleyFeatureSelectionTransform(relevance_table: etna.analysis.feature_relevance.relevance.RelevanceTable, top_k: int, features_to_use: Union[List[str], Literal['all']] = 'all', use_rank: bool = False, **relevance_params)[source]¶
Bases:
etna.transforms.feature_selection.base.BaseFeatureSelectionTransform
GaleShapleyFeatureSelectionTransform provides feature filtering with Gale-Shapley matching algo according to relevance table.
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 GaleShapleyFeatureSelectionTransform.
- Parameters
relevance_table (etna.analysis.feature_relevance.relevance.RelevanceTable) – class to build relevance table
top_k (int) – number of features that should be selected from all the given ones
features_to_use (Union[List[str], Literal['all']]) – columns of the dataset to select from if “all” value is given, all columns are used
use_rank (bool) – if True, use rank in relevance table computation
- Inherited-members
Methods
fit
(df)Fit Gale-Shapley algo and find a pool of
top_k
features.fit_transform
(df)May be reimplemented.
inverse_transform
(df)Inverse transforms dataframe.
transform
(df)Select top_k features.
- fit(df: pandas.core.frame.DataFrame) etna.transforms.feature_selection.gale_shapley.GaleShapleyFeatureSelectionTransform [source]¶
Fit Gale-Shapley algo and find a pool of
top_k
features.- Parameters
df (pandas.core.frame.DataFrame) – dataframe to fit algo
- Return type
etna.transforms.feature_selection.gale_shapley.GaleShapleyFeatureSelectionTransform