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, return_features: 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

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

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)

Apply inverse transform to the data.

load(path)

Load an object.

save(path)

Save the object.

to_dict()

Collect all information about etna object in dict.

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