Bird
Raised Fist0
ML Pythonml~10 mins

Evaluation metrics (RMSE, precision@k) 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 the RMSE between true and predicted values.

ML Python
import numpy as np

def rmse(y_true, y_pred):
    return np.sqrt(np.mean((y_true - y_pred)[1]2))
Drag options to blanks, or click blank then click option'
A**
B*
C+
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using multiplication (*) instead of power (**) to square the difference.
Adding (+) or subtracting (-) instead of squaring.
2fill in blank
medium

Complete the code to calculate precision@k for a list of predicted scores and true labels.

ML Python
def precision_at_k(y_true, y_scores, k):
    top_k_indices = sorted(range(len(y_scores)), key=lambda i: y_scores[i], reverse=True)[:[1]]
    relevant = sum(y_true[i] for i in top_k_indices)
    return relevant / k
Drag options to blanks, or click blank then click option'
Alen(y_scores)
Bsum(y_true)
Ck
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using the length of all scores instead of k.
Using zero or sum of true labels incorrectly.
3fill in blank
hard

Fix the error in the RMSE calculation by completing the code.

ML Python
def rmse(y_true, y_pred):
    differences = y_true - y_pred
    squared_diff = differences[1]2
    mean_squared_diff = squared_diff.mean()
    return mean_squared_diff ** 0.5
Drag options to blanks, or click blank then click option'
A-
B*
C+
D**
Attempts:
3 left
💡 Hint
Common Mistakes
Using multiplication (*) instead of power (**).
Using addition or subtraction operators.
4fill in blank
hard

Fill both blanks to complete the precision@k calculation correctly.

ML Python
def precision_at_k(y_true, y_scores, k):
    top_k_indices = sorted(range(len(y_scores)), key=lambda i: y_scores[i], reverse=True)[:[1]]
    relevant = sum(y_true[i] for i in top_k_indices)
    return relevant [2] k
Drag options to blanks, or click blank then click option'
Ak
Blen(y_scores)
C/
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong number for slicing top items.
Multiplying instead of dividing for precision.
5fill in blank
hard

Fill all three blanks to complete the RMSE function with numpy correctly.

ML Python
import numpy as np

def rmse(y_true, y_pred):
    error = y_true [1] y_pred
    squared_error = error [2] 2
    mean_squared_error = np.[3](squared_error)
    return np.sqrt(mean_squared_error)
Drag options to blanks, or click blank then click option'
A-
B**
Cmean
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Adding instead of subtracting errors.
Using multiplication instead of power for squaring.
Using sum instead of mean for averaging.

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