Bird
Raised Fist0
ML Pythonml~20 mins

Evaluation metrics (RMSE, precision@k) in ML Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Evaluation Metrics Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Calculate RMSE for given predictions and true values
Given the true values and predicted values below, what is the RMSE (Root Mean Squared Error)?
ML Python
import numpy as np
true_values = np.array([3, -0.5, 2, 7])
predictions = np.array([2.5, 0.0, 2, 8])
rmse = np.sqrt(np.mean((true_values - predictions) ** 2))
print(round(rmse, 3))
A0.500
B0.750
C1.000
D0.612
Attempts:
2 left
💡 Hint
RMSE is the square root of the average of squared differences between true and predicted values.
🧠 Conceptual
intermediate
1:30remaining
Understanding Precision@k in recommendation systems
In a recommendation system, what does precision@3 measure?
AThe fraction of the top 3 recommended items that are relevant to the user
BThe fraction of all relevant items recommended to the user
CThe fraction of users who received at least 3 relevant recommendations
DThe average rating of the top 3 recommended items
Attempts:
2 left
💡 Hint
Precision@k focuses on the top k items recommended and how many are relevant.
❓ Metrics
advanced
1:30remaining
Choosing the right metric for regression error
Which metric is more sensitive to large errors in predictions?
AMean Absolute Percentage Error (MAPE)
BMean Absolute Error (MAE)
CRoot Mean Squared Error (RMSE)
DR-squared (Coefficient of Determination)
Attempts:
2 left
💡 Hint
Think about how squaring errors affects large mistakes.
🔧 Debug
advanced
2:00remaining
Identify the error in precision@k calculation code
What error does the following code produce when calculating precision@k? ```python relevant_items = {1, 3, 5, 7} recommended_items = [2, 3, 4, 5] k = 3 precision_at_k = len(set(recommended_items[:k]) & relevant_items) / len(recommended_items) print(round(precision_at_k, 2)) ```
AIncorrect precision value because denominator should be k, not total recommended items
BZeroDivisionError because len(recommended_items) is zero
CTypeError because set intersection is invalid between list and set
DSyntaxError due to missing colon
Attempts:
2 left
💡 Hint
Precision@k divides by k, not total recommended items length.
❓ Model Choice
expert
2:30remaining
Selecting evaluation metric for imbalanced classification with ranking
You have a highly imbalanced dataset and want to evaluate a model that ranks positive samples higher than negatives. Which metric is best suited?
AAccuracy
BPrecision@k
CRoot Mean Squared Error (RMSE)
DMean Squared Error (MSE)
Attempts:
2 left
💡 Hint
Think about metrics that focus on top-ranked relevant items in imbalanced data.

Practice

(1/5)
1. What does RMSE (Root Mean Squared Error) measure in a machine learning model?
easy
A. The average size of prediction errors for continuous values
B. The percentage of correct classifications
C. The number of true positives in classification
D. The speed of the model training process

Solution

  1. Step 1: Understand RMSE definition

    RMSE calculates the square root of the average squared differences between predicted and actual values, showing error size.
  2. Step 2: Identify what RMSE measures

    It measures how far predictions are from actual continuous values on average, not classification accuracy or speed.
  3. Final Answer:

    The average size of prediction errors for continuous values -> Option A
  4. Quick Check:

    RMSE = average error size [OK]
Hint: RMSE = error size for numbers, not classification [OK]
Common Mistakes:
  • Confusing RMSE with accuracy
  • Thinking RMSE measures classification counts
  • Assuming RMSE measures speed
2. Which of the following is the correct formula to calculate RMSE given predictions \(\hat{y}_i\) and true values \(y_i\) for \(n\) samples?
easy
A. \(\frac{\sum_{i=1}^n (y_i - \hat{y}_i)}{n}\)
B. \(\frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}_i|\)
C. \(\frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}}\)
D. \(\sqrt{\frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2}\)

Solution

  1. Step 1: Recall RMSE formula

    RMSE is the square root of the average squared differences between true and predicted values.
  2. Step 2: Match formula options

    \(\sqrt{\frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2}\) matches the RMSE formula exactly; others represent MAE, mean error, or precision.
  3. Final Answer:

    \(\sqrt{\frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2}\) -> Option D
  4. Quick Check:

    RMSE = sqrt(mean squared error) [OK]
Hint: RMSE = sqrt of average squared errors [OK]
Common Mistakes:
  • Confusing RMSE with MAE (mean absolute error)
  • Forgetting to square errors before averaging
  • Mixing precision formula with RMSE
3. Given the true labels \([1, 0, 1, 1, 0]\) and model predicted scores \([0.9, 0.2, 0.8, 0.4, 0.3]\), what is the precision@3?
medium
A. 1.0
B. 0.67
C. 0.33
D. 0.5

Solution

  1. Step 1: Identify top 3 predictions by score

    Top 3 scores are 0.9 (index 0), 0.8 (index 2), and 0.4 (index 3).
  2. Step 2: Count true positives in top 3

    True labels at these indices are 1 (index 0), 1 (index 2), 1 (index 3). Total true positives = 3.
  3. Step 3: Calculate precision@3

    Precision@3 = true positives / 3 = 3/3 = 1.0.
  4. Final Answer:

    1.0 -> Option A
  5. Quick Check:

    Precision@3 = 3/3 = 1.0 [OK]
Hint: Count true positives in top k predictions, divide by k [OK]
Common Mistakes:
  • Counting all positives, not just top k
  • Mixing precision@k with recall
  • Using predicted labels instead of scores for ranking
4. You have a ranking model and calculated precision@5 as 0.4, but you expected 0.6. Which of the following could fix this issue?
medium
A. Increase the number of items in the dataset
B. Improve the model to rank more relevant items in the top 5
C. Decrease the number of true positives in the top 5
D. Use RMSE instead of precision@5

Solution

  1. Step 1: Understand precision@5 meaning

    Precision@5 measures how many relevant items appear in the top 5 predictions.
  2. Step 2: Identify how to increase precision@5

    To increase precision@5, the model must rank more relevant items higher within the top 5.
  3. Step 3: Evaluate options

    Improve the model to rank more relevant items in the top 5 improves ranking of relevant items; A changes dataset size but not ranking; C reduces true positives, lowering precision; D changes metric but not model quality.
  4. Final Answer:

    Improve the model to rank more relevant items in the top 5 -> Option B
  5. Quick Check:

    Better ranking = higher precision@5 [OK]
Hint: Boost relevant items in top k to raise precision@k [OK]
Common Mistakes:
  • Changing dataset size instead of model quality
  • Reducing true positives mistakenly
  • Confusing RMSE with precision@k
5. A regression model has predictions \([2.5, 0.0, 2.1, 7.8]\) and true values \([3.0, -0.5, 2.0, 7.5]\). Calculate the RMSE and decide if the model's average error is less than 0.5.
hard
A. RMSE = 0.65, no the error is not less than 0.5
B. RMSE = 0.55, no the error is not less than 0.5
C. RMSE = 0.39, yes the error is less than 0.5
D. RMSE = 0.35, yes the error is less than 0.5

Solution

  1. Step 1: Calculate squared errors for each prediction

    (3.0-2.5)^2=0.25, (-0.5-0.0)^2=0.25, (2.0-2.1)^2=0.01, (7.5-7.8)^2=0.09. Sum=0.60.
  2. Step 2: Compute mean squared error and RMSE

    Mean squared error = 0.60/4 = 0.15; RMSE = \(\sqrt{0.15}\) \(\approx\) 0.39.
  3. Step 3: Compare RMSE with 0.5

    RMSE \(\approx\) 0.39 < 0.5, so average error is less than 0.5.
  4. Final Answer:

    RMSE = 0.39, yes the error is less than 0.5 -> Option C
  5. Quick Check:

    RMSE \(\approx\) 0.39 < 0.5 [OK]
Hint: Square errors, average, then sqrt for RMSE [OK]
Common Mistakes:
  • Forgetting to square errors
  • Incorrect averaging of squared errors
  • Mixing RMSE with MAE
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