Evaluating and Improving Models

Keep an adapter bug out of the next release

Fahrenheit reaches a Celsius feature

A unit conversion changes the representation of a temperature. Botie needs to test the full input contract before trusting the prediction.

BOTIE

The expected value is 20 but the observed transformed run returns 68. What should be inspected first?
The inputs we are comparing

Expected outputs for declared checks

Small numerical differences

  1. 010
  2. 120

A unit conversion was skipped

  1. 020
  2. 110

Observed outputs from transformed runs

Small numerical differences

  1. 010
  2. 120.25

A unit conversion was skipped

  1. 068
  2. 110

Allowed absolute difference

Same in both cases

0.25
Result for small numerical differences
{
  "passed": 2,
  "failed": 0
}
Choose an explanation to test
The negative discrepancy is the failing check

This check uses the pieces from “Check the relation the task requires”.

BOTIE

Expected outputs [4, 8, 12] become [3.75, 7, 12.25]. At tolerance 0.25, predict pass and fail counts.
Expected outputs for declared checks
  1. 04
  2. 18
  3. 212
Observed outputs from transformed runs
  1. 03.75
  2. 17
  3. 212.25
Allowed absolute difference
0.25

Use a number, text, or an array matching the requested result. For a matrix, put each row in brackets. Saving your prediction runs your current construction on these inputs and checks the earlier examples too.

Build a construction in the workspace above first. This case will test those pieces.

Which realistic input change should alter this task’s prediction instead of preserving it?

State the expected relationship before constructing a robustness test.

This report cannot decide which transformations should preserve meaning. The task definition must supply that relationship.

Work through the Python challenges →
Continue the courseRepair the Night-Shift Model Without Breaking the Day Shift →
← When Should the Model Ask for Help?