Bird
Raised Fist0
ML Pythonml~3 mins

Why Classification evaluation (accuracy, precision, recall, F1) in ML Python? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if your model looks good but secretly makes costly mistakes you never noticed?

The Scenario

Imagine you are sorting emails by hand into 'spam' and 'not spam' piles every day.

You want to know how well you are doing, but just counting correct guesses feels too simple.

The Problem

Manually checking how good your sorting is can be slow and confusing.

Just knowing how many emails you got right (accuracy) doesn't tell the full story.

You might miss that you are missing many spam emails or wrongly marking good emails as spam.

The Solution

Classification evaluation metrics like accuracy, precision, recall, and F1 score give clear, detailed ways to measure how well your sorting works.

They help you understand different mistakes and successes, so you can improve your model smartly.

Before vs After
✗ Before
correct = sum(pred == true for pred, true in zip(predictions, labels))
accuracy = correct / len(labels)
✓ After
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
accuracy = accuracy_score(labels, predictions)
precision = precision_score(labels, predictions)
recall = recall_score(labels, predictions)
f1 = f1_score(labels, predictions)
What It Enables

With these metrics, you can trust your model's decisions and make it better at catching the right cases without too many mistakes.

Real Life Example

In medical tests, precision and recall help doctors know if a test misses sick patients or wrongly alarms healthy ones, guiding better care.

Key Takeaways

Manual counting of correct guesses misses important details.

Accuracy, precision, recall, and F1 give a full picture of model performance.

These metrics help improve models for real-world tasks like spam detection or medical diagnosis.

Practice

(1/5)
1. Which metric tells you the overall percentage of correct predictions in a classification model?
easy
A. Recall
B. Precision
C. F1 Score
D. Accuracy

Solution

  1. Step 1: Understand what accuracy measures

    Accuracy is the ratio of correct predictions (both true positives and true negatives) to total predictions.
  2. Step 2: Compare with other metrics

    Precision and recall focus only on positive class predictions, while F1 score balances precision and recall. Only accuracy measures overall correctness.
  3. Final Answer:

    Accuracy -> Option D
  4. Quick Check:

    Overall correct predictions = Accuracy [OK]
Hint: Accuracy = correct predictions / total predictions [OK]
Common Mistakes:
  • Confusing precision with accuracy
  • Thinking recall measures overall correctness
  • Mixing F1 score with accuracy
2. Which of the following formulas correctly calculates precision?
easy
A. True Positives / (True Positives + False Positives)
B. 2 * (Precision * Recall) / (Precision + Recall)
C. (True Positives + True Negatives) / Total Predictions
D. True Positives / (True Positives + False Negatives)

Solution

  1. Step 1: Recall the definition of precision

    Precision measures how many predicted positives are actually correct, so it is True Positives divided by all predicted positives.
  2. Step 2: Match formula to definition

    True Positives + False Positives equals all predicted positives, so precision = TP / (TP + FP).
  3. Final Answer:

    True Positives / (True Positives + False Positives) -> Option A
  4. Quick Check:

    Precision = TP / (TP + FP) [OK]
Hint: Precision = correct positive predictions / all positive predictions [OK]
Common Mistakes:
  • Using false negatives instead of false positives
  • Confusing precision with recall formula
  • Choosing accuracy formula by mistake
3. Given the confusion matrix:
TP=40, FP=10, FN=5, TN=45
What is the F1 score?
medium
A. 0.80
B. 0.88
C. 0.84
D. 0.90

Solution

  1. Step 1: Calculate precision and recall

    Precision = TP / (TP + FP) = 40 / (40 + 10) = 40 / 50 = 0.8
    Recall = TP / (TP + FN) = 40 / (40 + 5) = 40 / 45 ≈ 0.8889
  2. Step 2: Calculate F1 score using formula

    F1 = 2 * (Precision * Recall) / (Precision + Recall) = 2 * (0.8 * 0.8889) / (0.8 + 0.8889) ≈ 2 * 0.7111 / 1.6889 ≈ 1.4222 / 1.6889 ≈ 0.841
  3. Final Answer:

    0.84 -> Option C
  4. Quick Check:

    F1 balances precision and recall = 0.84 [OK]
Hint: F1 = 2 * (P * R) / (P + R), calculate P and R first [OK]
Common Mistakes:
  • Mixing up false positives and false negatives
  • Using accuracy instead of F1
  • Rounding too early causing wrong final answer
4. You have this Python code to calculate recall:
def recall(tp, fn):
    return tp / (tp + fn + 1)

What is the error in this code?
medium
A. Adding 1 to denominator incorrectly lowers recall
B. Missing parentheses around tp + fn
C. Recall should use false positives, not false negatives
D. Function should return precision, not recall

Solution

  1. Step 1: Understand recall formula

    Recall = TP / (TP + FN). The code adds +1 to denominator, which is not part of the formula.
  2. Step 2: Identify effect of +1 in denominator

    Adding 1 artificially increases denominator, lowering recall value incorrectly.
  3. Final Answer:

    Adding 1 to denominator incorrectly lowers recall -> Option A
  4. Quick Check:

    Recall denominator = TP + FN only [OK]
Hint: Recall denominator must be TP + FN exactly, no extras [OK]
Common Mistakes:
  • Thinking +1 is needed to avoid division by zero
  • Confusing recall with precision formula
  • Ignoring parentheses impact
5. A model has precision 0.75 and recall 0.60. You want to improve the F1 score. Which action is best?
hard
A. Increase precision by reducing false negatives
B. Increase recall by reducing false negatives
C. Increase accuracy by increasing true negatives
D. Increase recall by increasing false positives

Solution

  1. Step 1: Understand F1 score depends on precision and recall

    F1 score balances precision and recall. Improving either precision or recall can increase F1.
  2. Step 2: Identify how to improve recall

    Recall = TP / (TP + FN). Reducing false negatives (FN) increases recall.
  3. Step 3: Evaluate options

    Increase recall by reducing false negatives increases recall by reducing FN, improving F1.
    Increase precision by reducing false negatives incorrectly links precision with false negatives.
    Increase accuracy by increasing true negatives affects accuracy, not F1 directly.
    Increase recall by increasing false positives, but increasing false positives lowers precision, hurting F1.
  4. Final Answer:

    Increase recall by reducing false negatives -> Option B
  5. Quick Check:

    Reduce FN to boost recall and F1 [OK]
Hint: Lower false negatives to raise recall and F1 score [OK]
Common Mistakes:
  • Confusing false positives with false negatives
  • Thinking accuracy always improves F1
  • Increasing false positives to boost recall
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