Interpreting Model Performance Estimates
If every fold gives nearly the same score, performance appears stable across these training choices.
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
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.
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.
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:
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.
- 1Five 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.
- 2Convert to a percentage
$\frac{4}{5} = 0.80$, which is 80% of the data used for training in each round.
- 3Ten folds
Here k = 10, so the training share is $\frac{10-1}{10} = \frac{9}{10}$, which is 90%.
- 4Compare
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.
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 likeA single split scores very high, and the score is reported as the expected accuracy on new data.
Why it failsOne random draw can be favorable or unfavorable, so the number may reflect the luck of the draw rather than the model.
Do this insteadUse 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 likeTwo models both average 95%, but one has fold scores clustered tightly and the other ranges widely.
Why it failsThe average hides how much performance depends on which training data the model received.
Do this insteadRead 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 likeWith five folds, assuming each round tests on 80% of the data.
Why it failsIn 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 insteadUse 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
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
- 1A single train-test split depends on one random draw, so a lucky or unlucky split can make the score look unrealistically high or low.
- 2In 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.
- 3The 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.
- 4The 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.