SimpleClassificationMetric
- class rectools.metrics.classification.SimpleClassificationMetric(k: int, debias_config: Optional[DebiasConfig] = None)[source]
Bases:
DebiasableMetrikAtKSimple 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.
debias_config (DebiasConfig, optional, default None) – Config with debias method parameters (iqr_coef, random_state).
- Inherited-members
Methods
calc(reco, interactions)Calculate metric value.
calc_from_confusion_df(confusion_df[, ...])Calculate metric value from prepared confusion matrix.
calc_per_user(reco, interactions)Calculate metric values for all users.
calc_per_user_from_confusion_df(confusion_df)Calculate metric values for all users from prepared confusion matrix.
Attributes
- calc(reco: DataFrame, interactions: DataFrame) 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.
- Returns
Value of metric (average between users).
- Return type
float
- calc_from_confusion_df(confusion_df: DataFrame, is_debiased: bool = False) 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.
is_debiased (bool, default False) – An indicator of whether the debias transformation has been applied before or not.
- Returns
Value of metric (average between users).
- Return type
float
- calc_per_user(reco: DataFrame, interactions: DataFrame) 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.
- 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, is_debiased: bool = False) 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.
is_debiased (bool, default False) – An indicator of whether the debias transformation has been applied before or not.
- Returns
Values of metric (index - user id, values - metric value for every user).
- Return type
pd.Series