retrievalprecisionrecallcurve
Metric
RetrievalPrecisionRecallCurvefromtorchmetrics(torchmetrics.RetrievalPrecisionRecallCurve)
When to invoke this skill
The user has predictions + ground truth and asks to evaluate with RetrievalPrecisionRecallCurve, or
mentions torchmetrics.RetrievalPrecisionRecallCurve directly, or wants the standard torchmetrics implementation.
Reference signature
from torchmetrics import RetrievalPrecisionRecallCurve
# _RetrievalPrecisionRecallCurve(max_k: Optional[int] = None, adaptive_k: bool = False, empty_target_action: str = 'neg', ignore_index: Optional[int] = None, **kwargs: Any) -> None
Library docstring
Wrapper for deprecated import.
>>> from torch import tensor
>>> indexes = tensor([0, 0, 0, 0, 1, 1, 1])
>>> preds = tensor([0.4, 0.01, 0.5, 0.6, 0.2, 0.3, 0.5])
>>> target = tensor([True, False, False, True, True, False, True])
>>> r = _RetrievalPrecisionRecallCurve(max_k=4)
>>> precisions, recalls, top_k = r(preds, target, indexes=indexes)
>>> precisions
tensor([1.0000, 0.5000, 0.6667, 0.5000])
>>> recalls
tensor([0.5000, 0.5000, 1.0000, 1.0000])
>>> top_k
tensor([1, 2, 3, 4])
Quick recipe
import torchmetrics as _m
score = _m.RetrievalPrecisionRecallCurve(y_true, y_pred)
Don'ts
- Don't reimplement when the library version handles edge cases (NaN, ties, empty inputs) better than a hand-rolled formula.
- Always check the library version's argument order — sklearn is
(y_true, y_pred)while torchmetrics is(preds, target).