Open In App

Python – tensorflow.math.confusion_matrix()

Last Updated : 08 Dec, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

TensorFlow is open-source Python library designed by Google to develop Machine Learning models and deep learning  neural networks.  confusion_matrix() is used to find the confusion matrix from predictions and labels.

Syntax: tensorflow.math.confusion_matrix( labels, predictions, num_classes, weights, dtype,name)
 

Parameters:

  • labels: It’s a 1-D Tensor which contains real labels for the classification task.
  • predictions: It’s also a 1-D Tensor of same shape as labels. It’s value represents the predicted class.
  • num_classes(optional): It is the possible number of labels/class classification task might have. If it’s not provided then num_classes will be one more than the maximum value in either predictions or labels.
  • weight(optional): It’s a Tensor of same shape as predictions whose values define the corresponding weight for each prediction.
  • dtype(optional): It defines the dtype of returned confusion matrix. Default if tensorflow.dtypes.int32.
  • name(optional): Defines the name for the operation.
     

Returns:
It returns a confusion matrix of shape [n,n] where n is the possible number of labels.
 

Example 1:

Python3




# importing the library
import tensorflow as tf
 
# Initializing the input tensor
labels = tf.constant([1,3,4],dtype = tf.int32)
predictions = tf.constant([1,2,3],dtype = tf.int32)
 
# Printing the input tensor
print('labels: ',labels)
print('Predictions: ',predictions)
 
# Evaluating confusion matrix
res = tf.math.confusion_matrix(labels,predictions)
 
# Printing the result
print('Confusion_matrix: ',res)


Output:

labels:  tf.Tensor([1 3 4], shape=(3,), dtype=int32)
Predictions:  tf.Tensor([1 2 3], shape=(3,), dtype=int32)
Confusion_matrix:  tf.Tensor(
[[0 0 0 0 0]
 [0 1 0 0 0]
 [0 0 0 0 0]
 [0 0 1 0 0]
 [0 0 0 1 0]], shape=(5, 5), dtype=int32)

Example2: This example provide the weights to all predictions.

Python3




# importing the library
import tensorflow as tf
 
# Initializing the input tensor
labels = tf.constant([1,3,4],dtype = tf.int32)
predictions = tf.constant([1,2,4],dtype = tf.int32)
weights = tf.constant([1,2,2], dtype = tf.int32)
 
# Printing the input tensor
print('labels: ',labels)
print('Predictions: ',predictions)
print('Weights: ',weights)
 
# Evaluating confusion matrix
res = tf.math.confusion_matrix(labels, predictions, weights=weights)
 
# Printing the result
print('Confusion_matrix: ',res)


Output:

labels:  tf.Tensor([1 3 4], shape=(3,), dtype=int32)
Predictions:  tf.Tensor([1 2 4], shape=(3,), dtype=int32)
Weights:  tf.Tensor([1 2 2], shape=(3,), dtype=int32)
Confusion_matrix:  tf.Tensor(
[[0 0 0 0 0]
 [0 1 0 0 0]
 [0 0 0 0 0]
 [0 0 2 0 0]
 [0 0 0 0 2]], shape=(5, 5), dtype=int32)


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads