An evaluation set is where a result becomes comparable. If two versions of a model are scored on different records, the difference in their scores mixes the change in the model with the change in the test. Scoring both on the same records removes the test as a source of the difference, provided the other settings stay fixed too.
A useful evaluation set has four properties:
- it is kept apart from training and from any step that learns from data
- it reflects the cases the task will meet, including the exceptions the business cares about
- its labels are checked, because errors in the answers distort every score
- it is versioned, so the same set can be used again when the data or model changes
How is an evaluation set different from a validation set?
- A validation set is used during development to tune settings and choose between options. Because it influences those choices, it gradually stops being independent.
- An evaluation set, in the sense used here, is the test set: it is used to report results and compare versions, and it should not be used to tune anything. Some tools use “eval set” for the validation set, so check which one a score came from.
- A holdout set is one way to create either, by setting part of the data aside before any work starts.
Where does an evaluation set break in AI work?
A team reports that a new data preparation improved a model, but the evaluation records were sampled again after preparation. Some of the old hard cases dropped out, so part of the improvement came from an easier test. Nobody changed the set on purpose; it was simply regenerated with the data.
Keeping the evaluation set fixed and recording which version of it was used is what makes a before-and-after comparison meaningful. In Syntitan, Ready for Model runs the task on the data before and after preparation under the same evaluation conditions, which is the comparison described in data quality for AI.