Concepts / Interpreting Model Performance Estimates

Interpreting Model Performance Estimates

If every fold gives nearly the same score, performance appears stable across these training choices.

  • Programming

Why One Score Can Mislead

Suppose you have a labeled dataset and want to know how well a model will handle new data. The most common first step is to divide the dataset once, fit the model on one portion, and score it on the portion that was held back. That single score feels like a clean answer. This article asks a sharper question: how much should you trust that one number, and what does a different evaluation strategy buy you?

What do you think happens?

Suppose all of the hardest-to-classify examples land in the held-out portion of a single split. Does the measured score look better or worse than the model really deserves?

Reveal answer
Answer:

Worse than the model deserves.

When the hard cases are concentrated in the held-out portion, the test set is harder than average, so the score understates the model. The reverse case, where the hard cases all land in the training portion, leaves an easier held-out set and makes the score look better than the model deserves.

How the Luck of the Draw Distorts a Score

A single train-test split is produced by random selection. That randomness is harmless on average, but any one particular draw can be favorable or unfavorable. If the examples that are hardest to classify all end up in the training portion, the held-out portion contains only the comparatively easy cases, and the score looks better than the model deserves. If all the hard cases land in the held-out portion instead, the score looks worse than the model deserves. In both cases, the number reflects the luck of the draw as much as the quality of the model.

Tracing the Folds Through Each Round

Cross-validation tackles the problem of luck by changing the structure of the evaluation rather than hoping one split is representative. The dataset is partitioned into a number of folds of roughly equal size. In each round, one fold is set aside as the test set and the model is fitted on the remaining folds. The procedure repeats until every fold has served as the test set exactly once.

Round 1Test: Fold 1; Train: Folds2-5Round 2Test: Fold 2; Train: Folds1, 3-5Round 3Test: Fold 3; Train: Folds1-2, 4-5Round 4Test: Fold 4; Train: Folds1-3, 5Round 5Test: Fold 5; Train: Folds1-4next fold becomes testnext fold becomes testnext fold becomes testnext fold becomes test
Which fold is held out in each round, and how does every fold get exactly one turn as the test set while the others are used for training?

Because each example belongs to exactly one fold, each example is evaluated exactly once. No record can escape evaluation through an unlucky or convenient draw. Every example is tested once, and every example also contributes to training in the rounds where its fold is not the test set.

Reading the Spread of Fold Scores

Each cross-validation score comes from a different held-out fold, so the model has to perform well on every portion of the data, not just one favored portion. When the individual scores are consistently high and their mean is high, you have evidence that the model generalizes across the dataset rather than merely fitting one particular split.

The collection of scores also reveals how sensitive the model is to which examples it is trained on. If every fold gives nearly the same score, performance appears stable across these training choices. If the scores vary widely, performance depends noticeably on the particular training data the model receives. The source gives a concrete case: for the iris dataset, cross-validation accuracies ranged between 90% and 100%. Read as a single number, the result could look excellent or merely acceptable depending on which fold you examined. Read as a range, the band shows how the model might perform in a worst-case and a best-case scenario when it meets new data. A single split would have hidden this entire picture behind one value.

Fold A: 95%Fold A: 90%Fold B: 96%Fold B: 100%Fold C: 95%Fold C: 93%
A hypothetical illustration: when the fold scores cluster tightly, the model looks stable across training choices; when they scatter widely, its performance depends on which data it received.

Computing the Training Share

A common single split reserves about a quarter of the data for evaluation, so roughly 75% of the examples are used to fit the model. Cross-validation changes that proportion. In k-fold cross-validation, each round fits the model on all folds except one, so the training portion is the remaining k minus 1 folds out of k total folds. The fraction of data used for training in each round is:

Rule

Fold 1testFold 2trainFold 3trainFold 4trainFold 5train
Out of five equal folds, which one is held out as the test set in a given round, and how many folds are used for training?
Worked example

Training share for five folds and ten folds

Find the fraction of the data used for training in each round when you use five-fold cross-validation, and again when you use ten-fold cross-validation.

  1. 1
    Five folds

    Here k = 5, so the training share is $\frac{5-1}{5} = \frac{4}{5}$. In each round, four of the five folds are used for fitting.

  2. 2
    Convert to a percentage

    $\frac{4}{5} = 0.80$, which is 80% of the data used for training in each round.

  3. 3
    Ten folds

    Here k = 10, so the training share is $\frac{10-1}{10} = \frac{9}{10}$, which is 90%.

  4. 4
    Compare

    Going from five to ten folds moves the training share closer to the full dataset, and more folds means more of the data shapes each fitted model.

Result

Five-fold cross-validation trains on 80% of the data per round, and ten-fold trains on 90%. Both exceed the roughly 75% used by a common single split.

The source notes the practical reason this matters: more data will usually result in more accurate models, so a larger training share is often worth having. The trade-off is that the training share depends on how many folds you choose, and a larger k means more rounds of fitting.

Mistakes Beginners Make When Reading Estimates

  • Common mistake

    Treating one random split's score as the model's true performance

    What it looks like

    A single split scores very high, and the score is reported as the expected accuracy on new data.

    Why it fails

    One random draw can be favorable or unfavorable, so the number may reflect the luck of the draw rather than the model.

    Do this instead

    Use cross-validation so that every example is evaluated exactly once, and report the mean together with the spread of the fold scores.

  • Common mistake

    Reading the mean of fold scores without looking at the spread

    What it looks like

    Two models both average 95%, but one has fold scores clustered tightly and the other ranges widely.

    Why it fails

    The average hides how much performance depends on which training data the model received.

    Do this instead

    Read the range of fold scores alongside the average to judge sensitivity to the training data.

  • Common mistake

    Confusing the number of folds with the number of examples in the test set

    What it looks like

    With five folds, assuming each round tests on 80% of the data.

    Why it fails

    In each round the test set is one fold, which is about one fifth of the data, and the training set is the other four folds, about 80%.

    Do this instead

    Use the fraction (k-1)/k for the training share and 1/k for the test share.

  • Common mistake

    Assuming cross-validation trains on all of the data in every round

Checking Your Reading of an Estimate

MEDIUM

A dataset is evaluated with ten-fold cross-validation. What fraction of the data is used for training in each round, and what fraction is used as the test set? Then explain whether a score of 99% from one fold, with no information about the other folds, is enough to judge how the model will handle new data.

Hints
  • Use the formula (k-1)/k with k = 10 to find the training share.
  • The test share in each round is one fold out of k folds.
  • Think about whether one fold can show how the scores vary across training choices.

Summary of Reading Performance Estimates

  1. 1
    A single train-test split depends on one random draw, so a lucky or unlucky split can make the score look unrealistically high or low.
  2. 2
    In cross-validation, each fold serves as the test set exactly once, so every example is evaluated exactly once and the model must generalize across the dataset.
  3. 3
    The spread of fold scores, such as the 90% to 100% range for the iris dataset, shows how sensitive the model is to the choice of training data.
  4. 4
    The training share in k-fold cross-validation is (k-1)/k, which is 80% for five folds and 90% for ten folds, compared with about 75% for a typical single split.

At a glance

  • A single random train-test split can produce an unrealistically high or low score because the result depends on which examples were drawn.
  • Cross-validation partitions the data into folds so that each fold is the test set exactly once, and each example is evaluated exactly once.
  • The spread of fold scores reveals how sensitive the model is to the training data, and the range is more informative than one average.
  • The training share in k-fold cross-validation is (k-1)/k, giving 80% for five folds and 90% for ten folds.

Related concepts

More concepts starting with I