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