Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Output format control in Prompt Engineering / GenAI - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print the model's predictions as a list.

Prompt Engineering / GenAI
predictions = model.predict(data)
print(list([1]))
Drag options to blanks, or click blank then click option'
Adata
Bpredictions
Cmodel
Dlist
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'data' instead of 'predictions' inside print.
Trying to print 'model' object directly.
2fill in blank
medium

Complete the code to calculate accuracy score from true and predicted labels.

Prompt Engineering / GenAI
from sklearn.metrics import accuracy_score
accuracy = accuracy_score([1], predicted_labels)
Drag options to blanks, or click blank then click option'
Atrue_labels
Bpredicted_labels
Cmodel
Ddata
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping true and predicted labels in accuracy_score.
Passing the model object instead of labels.
3fill in blank
hard

Fix the error in printing the training loss after each epoch.

Prompt Engineering / GenAI
for epoch in range(5):
    loss = model.train_on_batch(x_train, y_train)
    print(f"Epoch {epoch+1}, Loss: [1]")
Drag options to blanks, or click blank then click option'
Aepoch
Bmodel
Closs
Dx_train
Attempts:
3 left
💡 Hint
Common Mistakes
Printing 'model' or 'epoch' instead of 'loss'.
Forgetting to add 1 to epoch for display.
4fill in blank
hard

Fill both blanks to create a dictionary of predictions with keys as sample IDs and values as predicted labels.

Prompt Engineering / GenAI
pred_dict = [1](sample_id: [2] for sample_id, [3] in zip(ids, predictions))
Drag options to blanks, or click blank then click option'
Adict
Blabel
Dlist
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'list' instead of 'dict' for dictionary creation.
Using wrong variable names for predicted labels.
5fill in blank
hard

Fill all three blanks to filter predictions greater than threshold and create a result dictionary.

Prompt Engineering / GenAI
result = [1]: [2] for [3], [4] in enumerate(predictions) if [2] > threshold}
Drag options to blanks, or click blank then click option'
Ai
Bpred
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing variable names or forgetting to use enumerate.
Using wrong variable names for keys or values.

Practice

(1/5)
1. What is the main reason to control the output format of a machine learning model?
easy
A. To change the model's architecture
B. To increase the model's accuracy
C. To reduce the training time
D. To make the results easier to read and understand

Solution

  1. Step 1: Understand output format control

    Output format control is about how results are shown, not about model internals.
  2. Step 2: Identify the purpose of formatting

    Formatting helps make results clear and easy to read for users or other systems.
  3. Final Answer:

    To make the results easier to read and understand -> Option D
  4. Quick Check:

    Output format = readability [OK]
Hint: Output format helps people read results clearly [OK]
Common Mistakes:
  • Confusing output format with model accuracy
  • Thinking output format changes training speed
  • Believing output format alters model design
2. Which of the following is the correct way to format model output as a JSON string in Python?
easy
A. json.load(output)
B. json.dumps(output)
C. json.parse(output)
D. json.write(output)

Solution

  1. Step 1: Recall JSON functions in Python

    json.dumps() converts Python objects to JSON strings.
  2. Step 2: Check other options

    json.load() reads JSON from a file, json.parse() and json.write() are invalid in Python's json module.
  3. Final Answer:

    json.dumps(output) -> Option B
  4. Quick Check:

    Convert to JSON string = json.dumps() [OK]
Hint: Use json.dumps() to get JSON string from Python data [OK]
Common Mistakes:
  • Using json.load() instead of dumps()
  • Trying json.parse() which doesn't exist in Python
  • Confusing reading JSON with writing JSON
3. Given the Python code:
predictions = [0.1, 0.9, 0.8]
formatted = ', '.join(str(p) for p in predictions)
print(formatted)

What will be the output?
medium
A. 0.1, 0.9, 0.8
B. [0.1, 0.9, 0.8]
C. 0.1 0.9 0.8
D. Error: join expects a string

Solution

  1. Step 1: Understand join with generator

    Each number is converted to string, then joined with ', ' separator.
  2. Step 2: Predict printed string

    Result is '0.1, 0.9, 0.8' as a single string.
  3. Final Answer:

    0.1, 0.9, 0.8 -> Option A
  4. Quick Check:

    Join list with ', ' = '0.1, 0.9, 0.8' [OK]
Hint: join() combines strings with separator [OK]
Common Mistakes:
  • Expecting list brackets in output
  • Thinking join adds spaces only
  • Confusing join with print of list
4. The code below tries to format model predictions as a table but throws an error:
predictions = [0.2, 0.5, 0.7]
print('Index | Prediction')
for i, p in predictions:
    print(f'{i} | {p}')

What is the error and how to fix it?
medium
A. Error: 'predictions' is not iterable as (index, value); fix by using enumerate(predictions)
B. Error: f-string syntax wrong; fix by removing curly braces
C. Error: print missing parentheses; fix by adding them
D. No error; code runs fine

Solution

  1. Step 1: Identify iteration error

    Loop expects pairs (i, p), but predictions is a list of floats, not tuples.
  2. Step 2: Fix by using enumerate

    Use for i, p in enumerate(predictions) to get index and value pairs.
  3. Final Answer:

    Error: 'predictions' is not iterable as (index, value); fix by using enumerate(predictions) -> Option A
  4. Quick Check:

    Use enumerate() to get index-value pairs [OK]
Hint: Use enumerate() to loop with index and value [OK]
Common Mistakes:
  • Trying to unpack single list items as tuples
  • Ignoring need for enumerate in loops
  • Misreading f-string syntax errors
5. You want to output model predictions as a JSON object with keys as sample IDs and values as predictions. Given:
sample_ids = ['s1', 's2', 's3']
predictions = [0.3, 0.6, 0.9]

Which code correctly creates this JSON string?
hard
A. json.dumps({predictions[i]: sample_ids[i] for i in range(len(predictions))})
B. json.dumps(dict(zip(predictions, sample_ids)))
C. json.dumps({sample_ids[i]: predictions[i] for i in range(len(sample_ids))})
D. json.dumps([sample_ids, predictions])

Solution

  1. Step 1: Match keys and values correctly

    Keys should be sample_ids, values should be predictions, so use dictionary comprehension with sample_ids as keys.
  2. Step 2: Check other options

    json.dumps({predictions[i]: sample_ids[i] for i in range(len(predictions))}) and json.dumps(dict(zip(predictions, sample_ids))) reverse keys/values, json.dumps([sample_ids, predictions]) creates a list not dict.
  3. Final Answer:

    json.dumps({sample_ids[i]: predictions[i] for i in range(len(sample_ids))}) -> Option C
  4. Quick Check:

    Keys = sample_ids, values = predictions [OK]
Hint: Use dict comprehension with keys and values zipped [OK]
Common Mistakes:
  • Swapping keys and values in dict
  • Using list instead of dict for JSON object
  • Forgetting to convert dict to JSON string