recsys_metrics_polars.avg_precision#

Classes

AvgPrecisionAtK(data_info)

Average precision and MAP (see AvgPrecisionAtK.avergae_over_queries())

class recsys_metrics_polars.avg_precision.AvgPrecisionAtK(data_info)[source]#

Bases: BaseMetricAtK

Average precision and MAP (see AvgPrecisionAtK.avergae_over_queries())

AP@k

& AP@k = \dfrac{\sum\limits_{i=1}^{k} Precision@i \cdot Rel(i)}{\min(k, \text{Total relevant items})}, \\
& Rel(i) = \begin{cases}
    1, \text{item with rank } i \text{ is relevant,} \\
    0, \text{otherwise}
\end{cases}

Parameters:

data_info (DataInfo) –

compute_per_query(k, **kwargs)[source]#

Compute metric per query

Return type:

DataFrame

Parameters:

k (int) –

avergae_over_queries(k, **kwargs)[source]#

Compute MAP@k :rtype: float

MAP@k = \dfrac{\sum\limits_{i=1}^N AP_i@k}{N},

AP_i@k- average precision for query i, i \in {1,2,\ldots,N}, N- total number of queries.

Parameters:

k (int) –

Return type:

float