mindspore.nn.ConfusionMatrix
- class mindspore.nn.ConfusionMatrix(num_classes, normalize=NO_NORM, threshold=0.5)[source]
Computes the confusion matrix. The performance matrix of measurement classification model is the model whose output is binary or multi class. The confusion matrix is calculated. An array of shape [BC4] is returned. The third dimension represents each channel of each sample in the input batch.Where B is the batch size and C is the number of classes to be calculated.
If you only want to find confusion matrix, use this class. If you want to find ‘PPV’, ‘TPR’, ‘TNR’, etc., use class ‘mindspore.metrics.ConfusionMatrixMetric’.
- Parameters
num_classes (int) – Number of classes in the dataset.
normalize (str) –
The parameter of calculating ConfusionMatrix supports four Normalization modes, Choose from:
’no_norm’ (None) - No Normalization is used. Default: None.
’target’ (str) - Normalization based on target value.
’prediction’ (str) - Normalization based on predicted value.
’all’ (str) - Normalization over the whole matrix.
threshold (float) – A threshold, which is used to compare with the input tensor. Default: 0.5.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import numpy as np >>> from mindspore import nn, Tensor >>> >>> x = Tensor(np.array([1, 0, 1, 0])) >>> y = Tensor(np.array([1, 0, 0, 1])) >>> metric = nn.ConfusionMatrix(num_classes=2, normalize='no_norm', threshold=0.5) >>> metric.clear() >>> metric.update(x, y) >>> output = metric.eval() >>> print(output) [[1. 1.] [1. 1.]]
- update(*inputs)[source]
Update state with y_pred and y.
- Parameters
inputs – Input y_pred and y. y_pred and y are a Tensor, a list or an array. y_pred is the predicted value, y is the true value. The shape of y_pred is \((N, C, ...)\) or \((N, ...)\). The shape of y is \((N, ...)\).
- Raises
ValueError – If the number of the inputs is not 2.