Bird
Raised Fist0
TensorFlowml~5 mins

Confusion matrix analysis in TensorFlow - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a confusion matrix in machine learning?
A confusion matrix is a table that shows how well a classification model performs by comparing actual labels with predicted labels. It helps us see where the model makes correct and wrong predictions.
Click to reveal answer
beginner
What do the terms True Positive (TP), False Positive (FP), True Negative (TN), and False Negative (FN) mean in a confusion matrix?
TP: Model correctly predicts positive.
FP: Model wrongly predicts positive.
TN: Model correctly predicts negative.
FN: Model wrongly predicts negative.
Click to reveal answer
beginner
How do you calculate accuracy from a confusion matrix?
Accuracy = (TP + TN) / (TP + TN + FP + FN). It shows the overall correctness of the model's predictions.
Click to reveal answer
intermediate
What is precision and why is it important?
Precision = TP / (TP + FP). It tells us how many of the predicted positives are actually correct. Important when false positives are costly.
Click to reveal answer
intermediate
How can you compute a confusion matrix using TensorFlow?
Use tf.math.confusion_matrix(labels, predictions) where labels are true classes and predictions are predicted classes. It returns a matrix showing counts of all classes, not specifically TP, FP, TN, FN.
Click to reveal answer
What does a high number of False Negatives (FN) indicate?
AModel misses many positive cases
BModel predicts too many positives
CModel predicts negatives correctly
DModel has high precision
Which metric is calculated as TP / (TP + FP)?
ARecall
BAccuracy
CF1 Score
DPrecision
In TensorFlow, which function computes the confusion matrix?
Atf.math.confusion_matrix()
Btf.metrics.confusion_matrix()
Ctf.confusion_matrix()
Dtf.linalg.confusion_matrix()
What does the diagonal of a confusion matrix represent?
AWrong predictions
BFalse negatives
CCorrect predictions
DFalse positives
Which metric is best to use when false positives are very costly?
ARecall
BPrecision
CAccuracy
DLoss
Explain what a confusion matrix is and how it helps evaluate a classification model.
Think about how you check if your model guesses right or wrong.
You got /3 concepts.
    Describe how to compute precision and recall from a confusion matrix and when each is important.
    Precision is about correct positive predictions; recall is about finding all positives.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does a confusion matrix primarily show in a classification problem?
      easy
      A. The number of correct and incorrect predictions for each class
      B. The training time of the model
      C. The number of features used in the model
      D. The learning rate of the optimizer

      Solution

      1. Step 1: Understand the purpose of a confusion matrix

        A confusion matrix displays how many predictions were correct or wrong for each class in classification.
      2. Step 2: Compare options with the definition

        Only The number of correct and incorrect predictions for each class correctly describes this purpose; others relate to unrelated model aspects.
      3. Final Answer:

        The number of correct and incorrect predictions for each class -> Option A
      4. Quick Check:

        Confusion matrix = correct/wrong counts [OK]
      Hint: Confusion matrix counts correct vs wrong predictions per class [OK]
      Common Mistakes:
      • Confusing confusion matrix with training metrics like loss
      • Thinking it shows model parameters
      • Assuming it shows training time
      2. Which TensorFlow function is used to compute a confusion matrix from true labels and predicted labels?
      easy
      A. tf.data.Dataset.from_tensor_slices()
      B. tf.keras.metrics.Accuracy()
      C. tf.math.confusion_matrix()
      D. tf.nn.softmax()

      Solution

      1. Step 1: Identify TensorFlow functions related to confusion matrix

        The function tf.math.confusion_matrix() directly computes the confusion matrix from labels.
      2. Step 2: Eliminate unrelated functions

        tf.keras.metrics.Accuracy() measures accuracy, tf.data.Dataset.from_tensor_slices() creates datasets, and tf.nn.softmax() applies softmax activation.
      3. Final Answer:

        tf.math.confusion_matrix() -> Option C
      4. Quick Check:

        Confusion matrix function = tf.math.confusion_matrix() [OK]
      Hint: Use tf.math.confusion_matrix() for confusion matrix [OK]
      Common Mistakes:
      • Using accuracy metric instead of confusion matrix function
      • Confusing dataset creation with confusion matrix
      • Mixing activation functions with metrics
      3. Given the following code, what is the output confusion matrix?
      import tensorflow as tf
      true_labels = [0, 1, 2, 2, 0]
      pred_labels = [0, 2, 2, 2, 0]
      cm = tf.math.confusion_matrix(true_labels, pred_labels)
      print(cm.numpy())
      medium
      A. [[2 0 0] [0 0 0] [0 1 2]]
      B. [[2 0 0] [0 1 0] [0 0 2]]
      C. [[1 0 1] [0 0 1] [0 0 2]]
      D. [[2 0 0] [0 0 1] [0 0 2]]

      Solution

      1. Step 1: Count true vs predicted labels for each class

        Class 0 true: predicted 0 twice; class 1 true: predicted 2 once; class 2 true: predicted 2 twice.
      2. Step 2: Build confusion matrix rows

        Row 0: [2 correct (0 predicted as 0), 0 predicted as 1, 0 predicted as 2]; Row 1: [0, 0, 1]; Row 2: [0, 0, 2].
      3. Final Answer:

        [[2 0 0] [0 0 1] [0 0 2]] -> Option D
      4. Quick Check:

        Count matches matrix entries [OK]
      Hint: Count true vs predicted labels per class to fill matrix [OK]
      Common Mistakes:
      • Mixing up rows and columns in the matrix
      • Counting predicted labels instead of true labels
      • Forgetting to count all instances
      4. Identify the error in this TensorFlow code snippet for confusion matrix calculation:
      import tensorflow as tf
      true = [0, 1, 1, 0]
      pred = [0, 1, 0]
      cm = tf.math.confusion_matrix(true, pred)
      print(cm)
      medium
      A. The confusion matrix function is misspelled
      B. The true and predicted label lists have different lengths
      C. TensorFlow is not imported correctly
      D. The print statement is missing parentheses

      Solution

      1. Step 1: Check input list lengths

        True labels list has 4 elements; predicted labels list has 3 elements, causing mismatch.
      2. Step 2: Understand function requirements

        tf.math.confusion_matrix() requires true and predicted labels to be same length to compare element-wise.
      3. Final Answer:

        The true and predicted label lists have different lengths -> Option B
      4. Quick Check:

        Input lengths must match [OK]
      Hint: Ensure true and predicted label lists have same length [OK]
      Common Mistakes:
      • Ignoring length mismatch error
      • Assuming function name typo
      • Thinking print syntax is wrong in Python 3
      5. You have a 3-class classification problem with classes 0, 1, and 2. After training, your confusion matrix is:
      [[50  2  3]
       [ 4 45  1]
       [ 5  2 40]]
      Which class has the highest precision, and how do you calculate it from the matrix?
      hard
      A. Class 1; precision = TP / (TP + FP) = 45 / (45 + 4 + 1)
      B. Class 2; precision = TP / (TP + FP) = 40 / (3 + 1 + 40)
      C. Class 0; precision = TP / (TP + FP) = 50 / (50 + 4 + 5)
      D. Class 1; precision = TP / (TP + FP) = 45 / (2 + 45 + 2)

      Solution

      1. Step 1: Understand precision calculation

        Precision for a class = True Positives (TP) / (TP + False Positives (FP)). TP is diagonal element; FP is sum of column excluding TP.
      2. Step 2: Calculate precision for each class

        Class 0: TP=50; FP=sum column 0 excluding TP=4+5=9; precision=50/(50+9)=50/59≈0.847. Class 1: TP=45; FP=2+2=4; precision=45/(45+4)=45/49≈0.918. Class 2: TP=40; FP=3+1=4; precision=40/(40+4)=40/44≈0.909.
      3. Step 3: Identify highest precision

        Class 1 has the highest precision (≈0.918).
      4. Final Answer:

        Class 1; precision = TP / (TP + FP) = 45 / (45 + 4 + 1) -> Option A
      5. Quick Check:

        Precision = TP / (TP + FP) [OK]
      Hint: Precision = TP / (TP + FP) using confusion matrix columns [OK]
      Common Mistakes:
      • Confusing precision with recall
      • Using row sums instead of column sums for FP
      • Mixing up TP and FP positions
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard