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)