ClassificationMetric
- class rectools.metrics.classification.ClassificationMetric(k: int)[source]
Bases:
MetricAtK
Classification metric base class.
Warning: This class should not be used directly. Use derived classes instead.
- Parameters
k (int) – Number of items at the top of recommendations list that will be used to calculate metric.
- Inherited-members
Methods
calc
(reco, interactions, catalog)Calculate metric value.
calc_from_confusion_df
(confusion_df, catalog)Calculate metric value from prepared confusion matrix.
calc_per_user
(reco, interactions, catalog)Calculate metric values for all users.
Calculate metric values for all users from prepared confusion matrix.
Attributes
- calc(reco: DataFrame, interactions: DataFrame, catalog: Collection[Union[str, int]]) float [source]
Calculate metric value.
- Parameters
reco (pd.DataFrame) – Recommendations table with columns Columns.User, Columns.Item, Columns.Rank.
interactions (pd.DataFrame) – Interactions table with columns Columns.User, Columns.Item.
catalog (collection) – Collection of unique item ids that could be used for recommendations.
- Returns
Value of metric (average between users).
- Return type
float
- calc_from_confusion_df(confusion_df: DataFrame, catalog: Collection[Union[str, int]]) float [source]
Calculate metric value from prepared confusion matrix.
- Parameters
confusion_df (pd.DataFrame) – Table with some confusion values for every user. Columns are: Columns.User, LIKED, TP, FP, FN. This table can be generated by make_confusions (or calc_confusions) function. See its description for details.
catalog (collection) – Collection of unique item ids that could be used for recommendations.
- Returns
Value of metric (average between users).
- Return type
float
- calc_per_user(reco: DataFrame, interactions: DataFrame, catalog: Collection[Union[str, int]]) Series [source]
Calculate metric values for all users.
- Parameters
reco (pd.DataFrame) – Recommendations table with columns Columns.User, Columns.Item, Columns.Rank.
interactions (pd.DataFrame) – Interactions table with columns Columns.User, Columns.Item.
catalog (collection) – Collection of unique item ids that could be used for recommendations.
- Returns
Values of metric (index - user id, values - metric value for every user).
- Return type
pd.Series
- calc_per_user_from_confusion_df(confusion_df: DataFrame, catalog: Collection[Union[str, int]]) Series [source]
Calculate metric values for all users from prepared confusion matrix.
- Parameters
confusion_df (pd.DataFrame) – Table with some confusion values for every user. Columns are: Columns.User, LIKED, TP, FP, FN. This table can be generated by make_confusions (or calc_confusions) function. See its description for details.
catalog (collection) – Collection of unique item ids that could be used for recommendations.
- Returns
Values of metric (index - user id, values - metric value for every user).
- Return type
pd.Series