Five chapters, five different lenses for judging a model: a confusion matrix, a ranking curve, a fold-by-fold breakdown, a grid search, a scaling check. Point every one of them at the same classifier and see which lens actually changes your mind about how good it is.
One scored classifier, ten examples. Slide the decision threshold across three candidates and watch accuracy, precision, recall, and F1 — short for the F1 score — move independently — sometimes together, sometimes in opposite directions.
A real evaluation doesn't pick one metric — it runs the whole scoreboard and asks where the numbers agree and where they don't:
- Each metric was built in isolation
Every one of these — accuracy, F1, AUC, per-fold accuracy, best-threshold F1 — was built in its own chapter, looking at the classifier through only one lens at a time.
- None of them is the right answer
Each answers a different question, and a model that looks good on one can look mediocre on another — the point of a real evaluation is to run all of them and compare, not to pick a favorite.
At the default threshold of , accuracy is a respectable but F1 lags at . The ranking AUC — short for Area Under the Curve — of says the model's raw ordering of examples is decent but not sharp. And the fold breakdown shows exactly why: two folds are trivially easy (accuracy ), while three folds straddling the decision boundary score only each — the same overall accuracy, but now you know precisely where the model is guessing.
Ten scored examples, five positive and five negative, with three overlapping scores right around the boundary:
- One threshold, two disagreeing scores
At threshold , all six examples scoring get predicted positive:
- TP (true positives)
- FP (false positives)
- FN (false negatives)
- TN (true negatives)
Accuracy looks fine. But precision is only and F1 lands at — the two false alarms cost more in F1 than they cost in accuracy.
- A threshold-free verdict
Ranking every pair of one positive against one negative, the positive scores higher in 19 of 25 pairs: AUC . This doesn't move if the deployed threshold changes — it's a property of the scores themselves, not of wherever the cutoff happens to sit.
- Where the fixed threshold actually fails
Splitting the ten examples into five folds of two, in score order, and scoring the same threshold- classifier on each:
- Fold 1 (scores , both label ): both predicted — accuracy
- Fold 2 (scores label , label ): both predicted , so the label- one is wrong — accuracy
- Fold 3 (scores label , label ): both predicted , same pattern — accuracy
- Fold 4 (scores label , label ): both predicted , so the label- one is wrong — accuracy
- Fold 5 (scores , both label ): both predicted — accuracy
— mean , matching the aggregate exactly, but now visibly concentrated in three folds where a positive and a negative sit within of each other.
- A better threshold, found by search
Grid searching every candidate threshold by F1 finds scores — better than the default's , at the cost of accepting three false positives instead of two. Whether that trade is worth it depends on what the model is for, which no metric in this part can answer by itself.
Find the threshold, among the three candidates, that scores the highest F1 — not the highest accuracy.
No single number in this part is the honest one — each is honest about a different question. Accuracy answers "how often is it right, at this cutoff?" F1 answers "how well does it balance catching positives against false alarms?" AUC answers "how good is its ranking, independent of any cutoff?" Cross-validation answers "how much would this number have changed on different data?" And grid search over the threshold answers "given everything above, what's the best cutoff to actually ship?" A real pipeline runs all five and reports the disagreement, not just the number that looked best. This closes Part IX. The next part turns from evaluating models to a new roster of architectures — GRUs, ResNets, transfer learning, and the rest of the machinery modern deep learning is built from.