Bird
Raised Fist0
ML Pythonml~10 mins

Classification evaluation (accuracy, precision, recall, F1) in ML Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate accuracy score using sklearn.

ML Python
from sklearn.metrics import [1]

accuracy = [1](y_true, y_pred)
print(f"Accuracy: {accuracy:.2f}")
Drag options to blanks, or click blank then click option'
Aaccuracy_score
Bprecision_score
Crecall_score
Df1_score
Attempts:
3 left
💡 Hint
Common Mistakes
Using precision_score or recall_score instead of accuracy_score.
2fill in blank
medium

Complete the code to calculate precision score for binary classification.

ML Python
from sklearn.metrics import precision_score

precision = precision_score(y_true, y_pred, [1]=1)
print(f"Precision: {precision:.2f}")
Drag options to blanks, or click blank then click option'
Azero_division
Baverage
Clabels
Dpos_label
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'average' parameter incorrectly for binary precision.
3fill in blank
hard

Fix the error in the code to calculate recall score correctly.

ML Python
from sklearn.metrics import recall_score

recall = recall_score(y_true, y_pred, average=[1])
print(f"Recall: {recall:.2f}")
Drag options to blanks, or click blank then click option'
A'binary'
B'micro'
C'macro'
D'weighted'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'micro' or 'macro' average for binary recall.
4fill in blank
hard

Fill both blanks to calculate F1 score with macro averaging.

ML Python
from sklearn.metrics import f1_score

f1 = f1_score(y_true, y_pred, [1]=[2])
print(f"F1 Score: {f1:.2f}")
Drag options to blanks, or click blank then click option'
Aaverage
B'macro'
C'binary'
D'weighted'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'binary' average for multi-class F1 score.
5fill in blank
hard

Fill all three blanks to create a dictionary of classification metrics.

ML Python
metrics = {
    'accuracy': [1](y_true, y_pred),
    'precision': [2](y_true, y_pred, average='macro'),
    'recall': [3](y_true, y_pred, average='macro')
}
print(metrics)
Drag options to blanks, or click blank then click option'
Aaccuracy_score
Bprecision_score
Crecall_score
Df1_score
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up function names or using f1_score instead of recall_score.

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