For class 0: true labels are at positions 0 and 4, predicted also 0 both times -> 2 correct. For class 1: true label at position 1, predicted is 2 -> 0 correct, 1 predicted as 2. For class 2: true labels at positions 2 and 3, predicted both 2 -> 2 correct.
A. tf.math.confusion_matrix does not accept num_classes argument
B. num_classes should be 2, not 1
C. true_labels and pred_labels must be tensors, not lists
D. print(cm.numpy()) should be print(cm)
Solution
Step 1: Check the number of classes in labels
True and predicted labels only contain 0 and 1, so there are 2 classes total.
Step 2: Verify num_classes argument
Setting num_classes=1 is incorrect because labels include 1, which is not in [0, 1), causing a ValueError (labels out of range).
Final Answer:
num_classes should be 2, not 1 -> Option B
Quick Check:
num_classes must match actual classes = 2 [OK]
Hint: Set num_classes to actual number of classes in labels [OK]
Common Mistakes:
Using wrong num_classes value
Thinking lists are invalid inputs
Misunderstanding print method for tensors
5. You want to visualize a confusion matrix as a heatmap using TensorFlow and Matplotlib. Which code snippet correctly creates and displays the heatmap?
hard
A. import tensorflow as tf
import matplotlib.pyplot as plt
true = [0,1,0,1]
pred = [0,0,0,1]
cm = tf.math.confusion_matrix(true, pred)
plt.imshow(cm, cmap='Blues')
plt.colorbar()
plt.show()
B. import tensorflow as tf
import matplotlib.pyplot as plt
true = [0,1,0,1]
pred = [0,0,0,1]
cm = tf.keras.metrics.ConfusionMatrix(true, pred)
plt.imshow(cm)
plt.show()
C. import tensorflow as tf
import matplotlib.pyplot as plt
true = [0,1,0,1]
pred = [0,0,0,1]
cm = tf.math.confusion_matrix(true, pred)
plt.plot(cm)
plt.show()
D. import tensorflow as tf
import matplotlib.pyplot as plt
true = [0,1,0,1]
pred = [0,0,0,1]
cm = tf.math.confusion_matrix(true, pred)
plt.bar(cm)
plt.show()
Solution
Step 1: Generate confusion matrix using TensorFlow
tf.math.confusion_matrix(true, pred) correctly creates the confusion matrix tensor.
Step 2: Visualize matrix using Matplotlib heatmap
plt.imshow with cmap='Blues' displays the matrix as a heatmap, plt.colorbar adds a color scale, and plt.show() renders the plot.
Final Answer:
Code snippet B correctly creates and displays the heatmap -> Option A
Quick Check:
Use tf.math.confusion_matrix + plt.imshow + plt.colorbar [OK]
Hint: Use plt.imshow with cmap and colorbar for heatmap [OK]
Common Mistakes:
Using tf.keras.metrics.ConfusionMatrix (does not exist)
Plotting confusion matrix with plt.plot or plt.bar
Forgetting to add colorbar for scale
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.