CandidateFeatureCollector

class rectools.models.ranking.candidate_ranking.CandidateFeatureCollector[source]

Bases: object

Base class for collecting features for candidates user-item pairs. Useful for creating train with features for CandidateRankingModel. Using this in CandidateRankingModel will result in not adding any features at all. Inherit from this class and rewrite private methods to grab features from dataset and external sources

Inherited-members

Methods

collect_features(useritem, dataset, fold_info)

Collect features for users-item pairs from any desired sources.

collect_features(useritem: DataFrame, dataset: Dataset, fold_info: Optional[Dict[str, Any]]) DataFrame[source]

Collect features for users-item pairs from any desired sources.

Parameters
  • useritem (pd.DataFrame) – Candidates with score/rank features from first stage. Ids are either external or 1x internal

  • dataset (Dataset) – Dataset will have either external -> 2x internal id maps to internal -> 2x internal.

  • fold_info (dict(str -> any), optional, default None) – Fold info from splitter can be used for adding time-based features.

Returns

useritem dataframe enriched with features for users, items and useritem pairs.

Return type

pd.DataFrame