torcheval.metrics.functional.binary_confusion_matrix¶
-
torcheval.metrics.functional.
binary_confusion_matrix
(input: Tensor, target: Tensor, *, threshold: float = 0.5, normalize: Optional[str] = None) Tensor [source]¶ Compute binary confusion matrix, a 2 by 2 tensor with counts ( (true positive, false negative) , (false positive, true negative) ) See also
multiclass_confusion_matrix
Parameters: - input (Tensor) – Tensor of label predictions with shape of (n_sample,).
torch.where(input < threshold, 0, 1)
will be applied to the input. - target (Tensor) – Tensor of ground truth labels with shape of (n_sample,).
- threshold (float, default 0.5) – Threshold for converting input into predicted labels for each sample.
torch.where(input < threshold, 0, 1)
will be applied to theinput
. - normalize –
None
[default]:- Give raw counts (‘none’ also defaults to this)
'pred'
:- Normalize across the prediction, i.e. such that the rows add to one.
'true'
:- Normalize across the condition positive, i.e. such that the columns add to one.
'all'
”- Normalize across all examples, i.e. such that all matrix entries add to one.
Examples:
>>> import torch >>> from torcheval.metrics.functional import binary_confusion_matrix >>> input = torch.tensor([0, 1, 0.7, 0.6]) >>> target = torch.tensor([0, 1, 1, 0]) >>> binary_confusion_matrix(input, target) tensor([[1, 1], [0, 2]]) >>> input = torch.tensor([1, 1, 0, 0]) >>> target = torch.tensor([0, 1, 1, 1]) >>> binary_confusion_matrix(input, target, threshold=1) tensor([[0, 1], [2, 1]]) >>> input = torch.tensor([1, 1, 0, 0]) >>> target = torch.tensor([0, 1, 1, 1]) >>> binary_confusion_matrix(input, target, normalize="true") tensor([[0.0000, 1.0000], [0.6667, 0.3333]])
- input (Tensor) – Tensor of label predictions with shape of (n_sample,).