Bird
Raised Fist0
Computer Visionml~5 mins

Evaluation and confusion matrix in Computer Vision - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a confusion matrix in machine learning?
A confusion matrix is a table that shows the number of correct and incorrect predictions made by a classification model, broken down by each class. It helps us understand how well the model is performing.
Click to reveal answer
beginner
What do the terms True Positive (TP), False Positive (FP), True Negative (TN), and False Negative (FN) mean?
TP: Model correctly predicts positive class.
FP: Model incorrectly predicts positive class.
TN: Model correctly predicts negative class.
FN: Model incorrectly predicts negative class.
Click to reveal answer
beginner
How is accuracy calculated from a confusion matrix?
Accuracy = (TP + TN) / (TP + TN + FP + FN). It measures the overall correctness of the model's predictions.
Click to reveal answer
intermediate
Why might accuracy be misleading in imbalanced datasets?
If one class is much more common, a model can predict that class all the time and get high accuracy but perform poorly on the rare class. Other metrics like precision and recall help in such cases.
Click to reveal answer
intermediate
What are precision and recall, and why are they important?
Precision measures how many predicted positives are actually positive (TP / (TP + FP)).
Recall measures how many actual positives were correctly predicted (TP / (TP + FN)).
They help evaluate model performance especially when classes are imbalanced.
Click to reveal answer
What does the diagonal of a confusion matrix represent?
ACorrect predictions
BIncorrect predictions
CFalse positives
DFalse negatives
Which metric tells you the proportion of actual positives correctly identified?
AAccuracy
BPrecision
CRecall
DSpecificity
If a model predicts all samples as negative in a dataset with 90% negatives, what will be the approximate accuracy?
A90%
B10%
C50%
D100%
Which of these is NOT part of a confusion matrix?
AFalse Positive
BFalse Negative
CTrue Positive
DTrue Neutral
Why is a confusion matrix useful in computer vision classification tasks?
AIt shows how many pixels are in an image
BIt helps understand model errors per class
CIt speeds up training
DIt reduces image size
Explain how to interpret a confusion matrix and what insights it provides about a classification model.
Think about how the matrix shows where the model gets things right or wrong.
You got /4 concepts.
    Describe why accuracy alone might not be enough to evaluate a model and which other metrics can help.
    Consider cases where one class dominates the data.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does a confusion matrix help you understand in a classification model?
      easy
      A. The speed of the model during training
      B. How well the model predicts each class by showing true and false predictions
      C. The number of layers in the model
      D. The size of the input images

      Solution

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

        A confusion matrix shows counts of correct and incorrect predictions for each class, helping evaluate classification performance.
      2. Step 2: Match the description to the options

        Only How well the model predicts each class by showing true and false predictions describes this purpose correctly, while others relate to unrelated model aspects.
      3. Final Answer:

        How well the model predicts each class by showing true and false predictions -> Option B
      4. Quick Check:

        Confusion matrix = True/False predictions summary [OK]
      Hint: Confusion matrix shows correct vs wrong class predictions [OK]
      Common Mistakes:
      • Confusing confusion matrix with model speed
      • Thinking it shows model architecture details
      • Assuming it shows input data size
      2. Which of the following is the correct way to create a confusion matrix using scikit-learn in Python?
      easy
      A. confusion_matrix(y_pred)
      B. confusionMatrix(y_true, y_pred)
      C. conf_matrix(y_pred, y_true)
      D. confusion_matrix(y_true, y_pred)

      Solution

      1. Step 1: Recall the scikit-learn function signature

        The function to create a confusion matrix is confusion_matrix(y_true, y_pred) with true labels first, then predicted labels.
      2. Step 2: Check each option for correctness

        confusion_matrix(y_true, y_pred) matches the correct function and argument order. Options B, C, and D have wrong names or argument orders.
      3. Final Answer:

        confusion_matrix(y_true, y_pred) -> Option D
      4. Quick Check:

        Correct function name and argument order [OK]
      Hint: Use exact function name and order: confusion_matrix(true, pred) [OK]
      Common Mistakes:
      • Using wrong function name capitalization
      • Swapping true and predicted labels
      • Passing only one argument
      3. Given the following code, what will be the output confusion matrix?
      from sklearn.metrics import confusion_matrix
      
      y_true = [0, 1, 0, 1, 0, 1, 1]
      y_pred = [0, 0, 0, 1, 0, 1, 1]
      
      cm = confusion_matrix(y_true, y_pred)
      print(cm)
      medium
      A. [[3 0] [1 3]]
      B. [[2 1] [0 4]]
      C. [[3 1] [0 3]]
      D. [[4 0] [1 2]]

      Solution

      1. Step 1: Count true positives and negatives

        Class 0 true positives: y_true=0 and y_pred=0 occur 3 times; false negatives: y_true=1 but y_pred=0 occur once.
      2. Step 2: Build confusion matrix

        Matrix rows = true labels, columns = predicted labels. So cm = [[3,0],[1,3]] matches counts.
      3. Final Answer:

        [[3 0] [1 3]] -> Option A
      4. Quick Check:

        Count matches matrix entries [OK]
      Hint: Count true/pred pairs carefully to fill matrix [OK]
      Common Mistakes:
      • Mixing rows and columns order
      • Counting predicted labels as true labels
      • Ignoring zero counts
      4. You wrote this code but got an error:
      from sklearn.metrics import confusion_matrix
      
      cm = confusion_matrix(y_pred, y_true)
      print(cm)
      What is the likely cause of the error?
      medium
      A. Using print instead of return
      B. Missing import statement for confusion_matrix
      C. Swapped y_pred and y_true arguments causing shape mismatch
      D. y_pred and y_true are not defined variables

      Solution

      1. Step 1: Check argument order for confusion_matrix

        The function expects y_true first, then y_pred. Swapping them can cause errors or wrong results.
      2. Step 2: Analyze the error cause

        Since import is present and print is valid, the likely cause is swapped arguments causing shape or value errors.
      3. Final Answer:

        Swapped y_pred and y_true arguments causing shape mismatch -> Option C
      4. Quick Check:

        Correct argument order is true labels first [OK]
      Hint: Always pass true labels first, predicted second [OK]
      Common Mistakes:
      • Swapping true and predicted labels
      • Forgetting to import confusion_matrix
      • Using undefined variables
      5. You have a 3-class image classifier with classes A, B, and C. The confusion matrix is:
      [[5 2 0]
       [1 7 1]
       [0 2 6]]
      What is the precision for class B?
      hard
      A. 7 / (2 + 7 + 2) = 0.58
      B. 7 / (1 + 7 + 1) = 0.7
      C. 7 / (5 + 1 + 0) = 0.7
      D. 7 / (7 + 1 + 2) = 0.58

      Solution

      1. Step 1: Identify precision formula for class B

        Precision = True Positives for B / (All predicted as B). True Positives = cm[1][1] = 7.
      2. Step 2: Calculate total predicted as B

        Sum column 1: cm[0][1]=2 + cm[1][1]=7 + cm[2][1]=2 = 11. So precision = 7/11 ≈ 0.636, closest to 0.58 in 7 / (2 + 7 + 2) = 0.58.
      3. Final Answer:

        7 / (2 + 7 + 2) = 0.58 -> Option A
      4. Quick Check:

        Precision = TP / predicted positives [OK]
      Hint: Precision = TP / sum of predicted class column [OK]
      Common Mistakes:
      • Using row sums instead of column sums
      • Confusing precision with recall
      • Ignoring off-diagonal values in predicted class column