Label Ranking Average Precision¶
Module Interface¶
- class torchmetrics.LabelRankingAveragePrecision(**kwargs)[source]
Computes label ranking average precision score for multilabel data [1].
The score is the average over each ground truth label assigned to each sample of the ratio of true vs. total labels with lower score. Best score is 1.
- Parameters
kwargs¶ (
Any
) – Additional keyword arguments, see Advanced metric settings for more info.
Example
>>> from torchmetrics import LabelRankingAveragePrecision >>> _ = torch.manual_seed(42) >>> preds = torch.rand(10, 5) >>> target = torch.randint(2, (10, 5)) >>> metric = LabelRankingAveragePrecision() >>> metric(preds, target) tensor(0.7744)
References
[1] Tsoumakas, G., Katakis, I., & Vlahavas, I. (2010). Mining multi-label data. In Data mining and knowledge discovery handbook (pp. 667-685). Springer US.
Initializes internal Module state, shared by both nn.Module and ScriptModule.
- update(preds, target, sample_weight=None)[source]
- Parameters
preds¶ (
Tensor
) – tensor of shape[N,L]
whereN
is the number of samples andL
is the number of labels. Should either be probabilities of the positive class or corresponding logitstarget¶ (
Tensor
) – tensor of shape[N,L]
whereN
is the number of samples andL
is the number of labels. Should only contain binary labels.sample_weight¶ (
Optional
[Tensor
]) – tensor of shapeN
whereN
is the number of samples. How much each sample should be weighted in the final score.
- Return type
Functional Interface¶
- torchmetrics.functional.label_ranking_average_precision(preds, target, sample_weight=None)[source]
Computes label ranking average precision score for multilabel data [1]. The score is the average over each ground truth label assigned to each sample of the ratio of true vs. total labels with lower score. Best score is 1.
- Parameters
preds¶ (
Tensor
) – tensor of shape[N,L]
whereN
is the number of samples andL
is the number of labels. Should either be probabilities of the positive class or corresponding logitstarget¶ (
Tensor
) – tensor of shape[N,L]
whereN
is the number of samples andL
is the number of labels. Should only contain binary labels.sample_weight¶ (
Optional
[Tensor
]) – tensor of shapeN
whereN
is the number of samples. How much each sample should be weighted in the final score.
Example
>>> from torchmetrics.functional import label_ranking_average_precision >>> _ = torch.manual_seed(42) >>> preds = torch.rand(10, 5) >>> target = torch.randint(2, (10, 5)) >>> label_ranking_average_precision(preds, target) tensor(0.7744)
References
[1] Tsoumakas, G., Katakis, I., & Vlahavas, I. (2010). Mining multi-label data. In Data mining and knowledge discovery handbook (pp. 667-685). Springer US.
- Return type