autointent.metrics.retrieval_precision#

autointent.metrics.retrieval_precision(query_labels, candidates_labels, k=None)#

Calculate the precision at position k.

Precision at position \(k\) is calculated as:

\[\text{Precision@k} = \frac{1}{N} \sum_{i=1}^N \frac{|y_{\text{query},i} \cap y_{\text{candidates},i}^{(1:k)}|}{k}\]

where: - \(N\) is the total number of queries, - \(y_{\text{query},i}\) is the true label for the \(i\)-th query, - \(y_{\text{candidates},i}^{(1:k)}\) is the set of top-k predicted labels for the \(i\)-th query.

Parameters:
  • query_labels (autointent.metrics.custom_types.LABELS_VALUE_TYPE) – For each query, this list contains its class labels

  • candidates_labels (autointent.metrics.custom_types.CANDIDATE_TYPE) – For each query, these lists contain class labels of items ranked by a retrieval model (from most to least relevant)

  • k (int | None) – Number of top items to consider for each query

Returns:

Score of the retrieval metric

Return type:

float