core
Metric ¶
Bases: BaseModel, ParamMixin
Base class for all metrics.
A Metric object is stateful, i.e. after calculate the results can be retrieved in one of two ways: - Detailed results are stored in :attr:results, - Aggregated result value can be retrieved using :attr:value
Source code in src/recnexteval/metrics/core/base.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | |
name property ¶
Name of the object's class.
:return: Name of the object's class :rtype: str
params property ¶
Parameters of the object.
:return: Parameters of the object :rtype: dict
identifier property ¶
Identifier of the object.
Identifier is made by combining the class name with the parameters passed at construction time.
Constructed by recreating the initialisation call. Example: Algorithm(param_1=value)
:return: Identifier of the object
IS_BASE = True class-attribute instance-attribute ¶
micro_result property ¶
Micro results for the metric.
:return: Detailed results for the metric. :rtype: dict[str, np.ndarray]
macro_result property ¶
The global metric value.
is_time_aware property ¶
Whether the metric is time-aware.
timestamp_limit property ¶
The timestamp limit for the metric.
num_items property ¶
Dimension of the item-space in both y_true and y_pred
num_users property ¶
Dimension of the user-space in both y_true and y_pred after elimination of users without interactions in y_true.
get_params() ¶
Get the parameters of the metric.
Source code in src/recnexteval/metrics/core/base.py
53 54 55 56 57 | |
calculate(y_true, y_pred) ¶
Calculates this metric for all nonzero users in y_true, given true labels and predicted scores.
Source code in src/recnexteval/metrics/core/base.py
116 117 118 119 120 121 | |
ListwiseMetricK ¶
Bases: MetricTopK
Base class for all listwise metrics that can be calculated for every Top-K recommendation list, i.e. one value for each user. Examples are: PrecisionK, RecallK, DCGK, NDCGK.
:param K: Size of the recommendation list consisting of the Top-K item predictions. :type K: int
Source code in src/recnexteval/metrics/core/listwise_top_k.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | |
name property ¶
Name of the metric.
params property ¶
Parameters of the metric.
identifier property ¶
Identifier of the object.
Identifier is made by combining the class name with the parameters passed at construction time.
Constructed by recreating the initialisation call. Example: Algorithm(param_1=value)
:return: Identifier of the object
IS_BASE = True class-attribute instance-attribute ¶
is_time_aware property ¶
Whether the metric is time-aware.
timestamp_limit property ¶
The timestamp limit for the metric.
num_items property ¶
Dimension of the item-space in both y_true and y_pred
num_users property ¶
Dimension of the user-space in both y_true and y_pred after elimination of users without interactions in y_true.
K = K instance-attribute ¶
col_names property ¶
The names of the columns in the results DataFrame.
micro_result property ¶
User level results for the metric.
Contains an entry for every user.
:return: The results DataFrame with columns: user_id, score :rtype: pd.DataFrame
macro_result property ¶
Global metric value obtained by taking the average over all users.
:raises ValueError: If the metric has not been calculated yet. :return: The global metric value. :rtype: float, optional
get_params() ¶
Get the parameters of the metric.
Source code in src/recnexteval/metrics/core/base.py
53 54 55 56 57 | |
calculate(y_true, y_pred) ¶
Calculates this metric for all nonzero users in y_true, given true labels and predicted scores.
Source code in src/recnexteval/metrics/core/base.py
116 117 118 119 120 121 | |
prepare_matrix(y_true, y_pred) ¶
Source code in src/recnexteval/metrics/core/top_k.py
57 58 59 60 | |
MetricTopK ¶
Bases: Metric
Base class for all metrics computed based on the Top-K recommendations for every user.
A MetricTopK object is stateful, i.e. after calculate the results can be retrieved in one of two ways: - Detailed results are stored in :attr:results, - Aggregated result value can be retrieved using :attr:value
:param K: Size of the recommendation list consisting of the Top-K item predictions. :type K: int
Source code in src/recnexteval/metrics/core/top_k.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
identifier property ¶
Identifier of the object.
Identifier is made by combining the class name with the parameters passed at construction time.
Constructed by recreating the initialisation call. Example: Algorithm(param_1=value)
:return: Identifier of the object
IS_BASE = True class-attribute instance-attribute ¶
micro_result property ¶
Micro results for the metric.
:return: Detailed results for the metric. :rtype: dict[str, np.ndarray]
macro_result property ¶
The global metric value.
is_time_aware property ¶
Whether the metric is time-aware.
timestamp_limit property ¶
The timestamp limit for the metric.
num_items property ¶
Dimension of the item-space in both y_true and y_pred
num_users property ¶
Dimension of the user-space in both y_true and y_pred after elimination of users without interactions in y_true.
K = K instance-attribute ¶
name property ¶
Name of the metric.
params property ¶
Parameters of the metric.
col_names property ¶
The names of the columns in the results DataFrame.
get_params() ¶
Get the parameters of the metric.
Source code in src/recnexteval/metrics/core/base.py
53 54 55 56 57 | |
calculate(y_true, y_pred) ¶
Calculates this metric for all nonzero users in y_true, given true labels and predicted scores.
Source code in src/recnexteval/metrics/core/base.py
116 117 118 119 120 121 | |
prepare_matrix(y_true, y_pred) ¶
Source code in src/recnexteval/metrics/core/top_k.py
57 58 59 60 | |