Bird
Raised Fist0
MLOpsdevops~15 mins

Performance metric tracking in MLOps - Mini Project: Build & Apply

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
Performance Metric Tracking
📖 Scenario: You are working on a machine learning project. You want to track the performance of your model by storing some key metrics like accuracy, precision, and recall.This helps you see how well your model is doing and compare different versions easily.
🎯 Goal: Build a simple Python script that stores performance metrics in a dictionary, sets a threshold for acceptable accuracy, filters metrics that meet the threshold, and finally prints the filtered metrics.
📋 What You'll Learn
Create a dictionary called metrics with exact keys and values for accuracy, precision, and recall.
Create a variable called accuracy_threshold with the value 0.8.
Use a dictionary comprehension to create a new dictionary called good_metrics that only includes metrics with values greater than or equal to accuracy_threshold.
Print the good_metrics dictionary.
💡 Why This Matters
🌍 Real World
Tracking performance metrics helps data scientists and engineers monitor how well machine learning models perform over time and after changes.
💼 Career
Knowing how to store, filter, and display performance metrics is essential for roles in MLOps, data engineering, and machine learning development.
Progress0 / 4 steps
1
Create the initial metrics dictionary
Create a dictionary called metrics with these exact entries: 'accuracy': 0.85, 'precision': 0.78, 'recall': 0.82.
MLOps
Hint

Use curly braces {} to create a dictionary with the given keys and values.

2
Set the accuracy threshold
Create a variable called accuracy_threshold and set it to 0.8.
MLOps
Hint

Just assign the number 0.8 to the variable named accuracy_threshold.

3
Filter metrics using dictionary comprehension
Use a dictionary comprehension to create a new dictionary called good_metrics that includes only the entries from metrics where the value is greater than or equal to accuracy_threshold. Use metric and value as the loop variables.
MLOps
Hint

Use {metric: value for metric, value in metrics.items() if value >= accuracy_threshold} to filter the dictionary.

4
Print the filtered metrics
Write a print statement to display the good_metrics dictionary.
MLOps
Hint

Use print(good_metrics) to show the filtered dictionary.

Practice

(1/5)
1.

What is the main purpose of performance metric tracking in MLOps?

easy
A. To manage user access to the model
B. To store raw training data
C. To measure how well a machine learning model performs
D. To create new machine learning models automatically

Solution

  1. Step 1: Understand the role of performance metrics

    Performance metrics are used to evaluate the quality and effectiveness of a machine learning model.
  2. Step 2: Identify the main goal of tracking these metrics

    Tracking helps to see how well the model works over time and in different conditions.
  3. Final Answer:

    To measure how well a machine learning model performs -> Option C
  4. Quick Check:

    Performance metric tracking = measure model quality [OK]
Hint: Metrics track model quality, not data or access [OK]
Common Mistakes:
  • Confusing metrics with data storage
  • Thinking metrics create models
  • Mixing metrics with user management
2.

Which of the following is the correct way to log a metric named accuracy with value 0.95 using a typical MLOps tracking tool?

easy
A. log_metric(name="accuracy", value=0.95)
B. log_metric(accuracy=0.95)
C. log_metric("accuracy", "0.95")
D. log_metric(value=0.95)

Solution

  1. Step 1: Identify required parameters for logging

    Logging a metric usually requires a name and a numeric value.
  2. Step 2: Check syntax correctness

    log_metric(name="accuracy", value=0.95) uses named parameters with correct types: name as string and value as number.
  3. Final Answer:

    log_metric(name="accuracy", value=0.95) -> Option A
  4. Quick Check:

    Correct syntax needs name and numeric value [OK]
Hint: Always provide metric name and numeric value explicitly [OK]
Common Mistakes:
  • Passing metric name as a keyword argument
  • Using string instead of numeric value
  • Omitting the metric name
3.

Given the following code snippet for metric logging, what will be the output or effect?

metrics = {}

# Log accuracy at step 1
metrics[1] = 0.85

# Log accuracy at step 2
metrics[2] = 0.90

print(metrics[2])
medium
A. 0.85
B. 0.90
C. KeyError
D. None

Solution

  1. Step 1: Understand the dictionary assignments

    metrics[1] is set to 0.85, metrics[2] is set to 0.90.
  2. Step 2: Identify the printed value

    print(metrics[2]) outputs the value stored at key 2, which is 0.90.
  3. Final Answer:

    0.90 -> Option B
  4. Quick Check:

    metrics[2] = 0.90 so print outputs 0.90 [OK]
Hint: Print the value at the requested key in the dictionary [OK]
Common Mistakes:
  • Confusing keys 1 and 2
  • Expecting error due to missing key
  • Assuming default None output
4.

Identify the error in this metric logging code snippet:

def log_metric(name, value):
    print(f"Metric {name}: {value}")

log_metric("loss")
medium
A. Metric name should be numeric
B. Incorrect function definition syntax
C. Using print instead of return
D. Missing value argument when calling log_metric

Solution

  1. Step 1: Check function parameters and call

    The function requires two arguments: name and value.
  2. Step 2: Identify the call mistake

    The call provides only one argument ("loss"), missing the value argument.
  3. Final Answer:

    Missing value argument when calling log_metric -> Option D
  4. Quick Check:

    Function call missing required argument [OK]
Hint: Match function call arguments to definition exactly [OK]
Common Mistakes:
  • Ignoring missing arguments
  • Thinking print must be replaced
  • Assuming metric name can be number
5.

You want to track multiple metrics (accuracy, loss) over training steps and compare models. Which approach best supports this in an MLOps system?

  1. Log each metric with its name, value, and step number.
  2. Store metrics in a structured format like a table or database.
  3. Use the stored metrics to generate comparison reports.

Which option describes the best practice?

hard
A. Log metrics with name, value, and step; store structured; generate reports
B. Log metrics without step info and store as plain text files
C. Only log final metric values after training completes
D. Store metrics randomly without names or steps

Solution

  1. Step 1: Understand metric logging needs

    Logging with name, value, and step allows tracking progress over time.
  2. Step 2: Importance of structured storage and reporting

    Structured storage enables easy querying and comparison; reports help analyze results.
  3. Final Answer:

    Log metrics with name, value, and step; store structured; generate reports -> Option A
  4. Quick Check:

    Complete tracking needs structured logging and reporting [OK]
Hint: Include step info and use structured storage for comparisons [OK]
Common Mistakes:
  • Ignoring step numbers in logs
  • Storing metrics unstructured
  • Logging only final values