The useful part, up front

What you’ll take away

  • Objects, source observations, derived inputs and stored files require different counting units.
  • Two train/test splits can have identical row counts and different shared-object membership.
  • A group percentage does not automatically equal the same percentage of rows.
  • Document transformation lineage and keep unreviewed annotation states distinct from negative labels.
  • Match the card to the exact data revision, assignment rule and processing stage it describes.
01

A dataset can have eight objects, twenty-four photographs and eighty-four training-and-test records

Suppose you find an image dataset described as “84 examples”. Before deciding whether it suits your project, ask what an example means. It could be a photograph, a crop from a photograph, or a record that points to an image stored elsewhere. That count does not automatically tell you how many different objects were photographed.

We will build an original bookkeeping example using eight imaginary tiles, labelled A through H. Their photograph counts are six, four, three, three, two, two, two and two: twenty-four source photographs altogether. A later processing rule will turn twenty training photographs into eighty crop records while leaving four test photographs unchanged. The result has eighty-four model-input records, but still only eight underlying tiles. These are invented identifiers and labels; no photographs were collected or model trained.

A dataset card is the explanation that travels with such a collection. Hugging Face renders a repository's README as its card and supports additional metadata for discovery and description. [2] The useful question is not whether the card looks complete at a glance. It is whether a reader can connect its numbers to the actual counting units, source relationships and processing choices needed to interpret the data.

Identical row totals can hide different shared-object membership. Original partitions of the same 24 source-photo identifiers. These are explicit assignments, not random library outputs or measured model results.
Original partitions of the same 24 source-photo identifiers. These are explicit assignments, not random library outputs or measured model results. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
02

The searchable label and the explanation do different jobs

A short metadata field is useful when you want to find a dataset. It can identify a language, task or stated license without making you read every page. The Hub documentation describes these fields and their role in filtering and display. [2] But a label such as “image classification” cannot explain why one tile appears six times and another only twice.

The written card has room for that explanation. The original Datasheets for Datasets proposal describes documenting a collection's motivation, composition, collection process and recommended uses. [1] The current Hugging Face template also asks about fields, relationships between records, split criteria, processing and annotations. [3] These questions encourage a reader to investigate what the data represents, rather than treating a row count as a complete description.

For our imaginary collection, a useful opening would say that the task concerns plain versus striped tiles, that several photographs may show the same tile, and that training crops inherit their source-photo identity. It would also state that the numbers are a teaching example. A task tag can help someone discover that card; the narrative explains how to read it. Neither a polished description nor a license field should be presented as proof of an unperformed quality, rights or suitability assessment.

03

Give the photograph and the photographed object separate identities

Name the six photographs of tile A as A-01 through A-06. Each has its own photograph identifier, but all share tile identifier A. This small distinction makes an important question answerable: do two rows show different objects, or different views of the same object? A filename alone may not express that relationship.

In our example, the pattern label belongs to the tile: A, B, C and G are plain; D, E, F and H are striped. A separate quality flag belongs to each photograph, because different views of one tile can have different recorded quality. The card should explain which level each field describes. It should also define allowed values and the meaning of a missing entry. The template's request for field descriptions and relationships is directly relevant here. [3]

After cropping, a derived record needs another identity and a reference to its parent photograph. For example, A-02/crop-3 points to photograph A-02, which points to tile A. This lineage is a proposed design for our construction, not something every data tool automatically supplies. It allows a reviewer to follow a record through transformations without pretending that a new filename creates a newly observed tile.

04

Two twenty-and-four splits can contain very different relationships

Create split X by putting A-01, B-01, C-01 and D-01 into the test set, and every other photograph into training. There are twenty training photographs and four test photographs. Each test tile also appears in training through another photograph. The photograph identifiers do not overlap, but the tile identifiers do: A, B, C and D are shared.

Now create split Y. Put all photographs of G and H into the test set, and all photographs of A through F into training. The row counts are still twenty and four. This time, the training and test sets share no tile identifiers. A card that lists only those row counts would make the two arrangements look identical.

The right split depends on the question. A study of additional views of already-seen objects and a study of unseen objects ask different things. Our example does not measure the performance difference between them. It shows why the grouping rule belongs in the card. Group-aware splitting is an explicit feature of scikit-learn's GroupShuffleSplit. [4] Our two assignments are hand-defined examples, so no particular software seed or random split is being claimed.

A quarter of the tiles is a sixth of the photographs. Original split Y holds out tiles G and H, with two photos each. Different denominators explain the different percentages.
Original split Y holds out tiles G and H, with two photos each. Different denominators explain the different percentages. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
05

Twenty-five percent of the objects need not be twenty-five percent of the rows

In split Y, the test set contains two of eight tiles, so it contains 25 percent of the objects. It contains four of twenty-four photographs, so it contains about 16.7 percent of the rows. Both percentages are correct. They have different denominators because the tiles were photographed different numbers of times.

This distinction also appears in a real API. GroupShuffleSplit defines its fractional test_size in terms of groups, not individual samples, and rounds the requested group count up. [4] That definition matters when you read a configuration or report. A 25 percent group setting is not a promise that exactly 25 percent of all rows will be in the test set. Which groups are selected also matters when their sizes differ.

Our manually selected G-and-H test set illustrates the counting issue without claiming to reproduce that API's random choice. The card should name the grouping field, show group and row counts, and retain the actual assignment. If several random splits are used, distinguish the separation within one split from separation between repeated test sets. The documentation notes that repeated GroupShuffleSplit test sets can overlap. [4] A single percentage hides all of these details.

06

A balanced set of objects can produce an unbalanced set of photographs

The six training tiles in split Y contain three plain tiles and three striped tiles. At the object level, the pattern counts are evenly divided. But the plain tiles A, B and C have six, four and three photographs: thirteen in total. The striped tiles D, E and F have three, two and two photographs: seven in total.

The plain share is therefore 3/6=50 percent when counting tiles and 13/20=65 percent when counting training photographs. No labels changed. The difference comes entirely from how many views each tile contributes. If a card simply says “balanced”, a reader cannot tell which statement it means.

Across the whole constructed collection, the corresponding counts are four plain and four striped tiles, but fifteen plain and nine striped photographs. Reporting both levels makes the collection design visible. It does not establish what balance a real application needs or whether changing the counts would improve a model. The card's composition and limitations sections provide a place to explain the sampling pattern. [1][3] A useful explanation preserves the counts rather than replacing them with a reassuring adjective.

Pattern balance depends on which records are counted. Original split Y: plain tiles A, B and C contribute 13 training photos; striped tiles D, E and F contribute 7. Each training photo creates four stipulated label-preserving crop records.
Original split Y: plain tiles A, B and C contribute 13 training photos; striped tiles D, E and F contribute 7. Each training photo creates four stipulated label-preserving crop records. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
07

Four crops per photograph change the row count, not the object count

Apply a new rule to split Y: create four crop records for each of its twenty training photographs. Keep the four test photographs as original-view records. The training set now has eighty rows and the test set still has four, giving eighty-four model-input records. Every crop retains its parent photograph and tile identifier. No new tile has entered the construction.

This kind of change in table size is supported by batch processing tools. The Hugging Face batch-mapping guide explains that an input batch of N examples can produce M examples, with M larger or smaller than N. [6] The transformation's meaning still needs documentation. In our hypothetical pattern task, we stipulate that the chosen crops preserve the relevant label; an actual crop that removes the distinguishing pattern would need separate treatment.

Storage can introduce yet another count. If all twenty-four original image files were retained and eighty new crop files were added, there would be 104 stored image files. That assumes the four test originals are referenced in place and no other image copies exist. Our local example constructs only the corresponding records. A card should identify the processing stage behind each count so that files, derived inputs and independently photographed objects are not accidentally added together.

08

A missing quality flag is not a clean photograph

Add a separate, invented annotation record. Nineteen of the twenty-four source photographs have a recorded quality review. Three of those nineteen are flagged as blurred and sixteen are not flagged. The remaining five have no recorded review. These are stipulated labels for our example, not observations made from real images.

The flagged share among reviewed photographs is 3/19, about 15.8 percent. The share of all source records carrying that flag is 3/24, or 12.5 percent. Both calculations can be reported, but they answer different questions. The second does not establish that only 12.5 percent of the entire collection is actually blurred, because five entries are unreviewed and the flag itself has not been independently validated.

Keep the unknown state visible. If a blank is silently converted to “not flagged”, the card would describe twenty-one unflagged photographs rather than sixteen reviewed-and-unflagged photographs plus five unknowns. That changes the meaning without inspecting anything new. The template asks for annotation methods, amounts, guidelines and validation. [3] Those details are what let a reader judge a label count. A missingness convention belongs beside the field definition, not hidden in a later troubleshooting note.

09

Keep the card attached to the exact data revision it describes

A card can be accurate when written and become misleading after the dataset changes. Suppose a maintainer corrects a label, removes a photograph or changes the crop rule. The counts and explanation may then need an update, even if the dataset keeps the same public name. Record which data revision each card describes and what changed from the previous one.

Hugging Face's loading guide supports choosing a dataset revision using a branch, tag or commit reference. [5] For a precise record of what was inspected, retain the resolved commit and the actual input artifacts, rather than relying only on a moving branch label. Also retain the transformation settings and output manifest when derived records are created outside the source repository.

Loading configuration answers another limited question. The documented data_files mapping can associate particular files with names such as train and test. [5] That makes the files load into named splits; it does not explain why their records were assigned there. Our split X and split Y could both use files with those names while preserving very different tile relationships. Put the assignment rule and membership record in the card as well as the loading instructions, so that a successful load does not become an unsupported claim about the split design.

Keep unreviewed records outside the reviewed denominator. Original annotation flags for 24 source-photo records. These are stipulated entries, not image inspections or validated blur prevalence.
Original annotation flags for 24 source-photo records. These are stipulated entries, not image inspections or validated blur prevalence. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
10

State which questions the collection can actually help answer

Our imaginary tile records support exact questions about counts, grouping and transformations. They do not contain photographs, camera settings or lighting measurements. We therefore cannot claim that they cover outdoor conditions, unusual surfaces or a particular camera. A useful card says what is missing rather than filling those gaps with a broad statement such as “works in real-world conditions”.

For an actual collection, the intended use determines which collection details matter. If a project needs to recognize previously unseen objects, the object-level split becomes relevant. If it needs to handle a new capture setting, a split that separates objects but shares the same setting may leave another question unanswered. The card should describe the observed conditions and limitations clearly enough for the reader to see that gap. The template includes intended-use, out-of-scope-use and limitations prompts. [3]

Documentation also distinguishes a collection's design from a model's measured results. A model can only be assessed through an appropriately defined evaluation. A detailed card helps someone design or interpret that evaluation; it does not replace it. In our construction, the appropriate claim is that the membership and denominator calculations are reproducible. We have no image-recognition accuracy, robustness or representativeness result to attach to them.

11

Read the card by following one row back to its source

Try a concrete reading exercise. Start with training record A-02/crop-3. The proposed manifest tells you that it came from photograph A-02, which depicts tile A. Split Y assigns tile A to training, and the four-crop rule explains why that photograph contributes several input rows. The pattern label follows the stipulated tile label, while a source-photo quality flag remains a separate piece of information.

Next, compare test record G-01/original. It points to tile G, which has no training photograph in split Y. The record is an unchanged test view, so it does not pass through the training crop expansion. A reader can now explain why the table has eighty training records and four test records without imagining that eighty-four different tiles were observed.

This is the practical value of a dataset card with connected definitions: it lets a reader trace a claim. The card should make the counting unit, identity relationships, split rule, transformation, annotation state and revision easy to find. [3][5][6] When one of those links is missing, name the unanswered question precisely. Asking “Does this 25 percent refer to tiles or photographs?” is more useful than accepting or rejecting a dataset because its headline count looks large.

Trace a derived input through its recorded relationships. Proposed reading method for the invented manifest. The record links support an accounting check; they do not verify photographic quality or model performance.
Proposed reading method for the invented manifest. The record links support an accounting check; they do not verify photographic quality or model performance. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
Follow the evidence

Sources & further reading

Explore the references behind this guide. External pages may change after our review.

  1. Datasheets for Datasets - Microsoft Research
    Timnit Gebru and coauthors / Microsoft Research · Accessed 7 Nov 2026
  2. Dataset Cards · Hugging Face
    Hugging Face · Accessed 7 Nov 2026
  3. Default dataset card template
    Hugging Face Hub developers · Accessed 7 Nov 2026
  4. GroupShuffleSplit — scikit-learn 1.9.1 documentation
    scikit-learn developers · Accessed 7 Nov 2026
  5. Load · Hugging Face
    Hugging Face Datasets developers · Accessed 7 Nov 2026
  6. Batch mapping · Hugging Face
    Hugging Face Datasets developers · Accessed 7 Nov 2026

Article updated 7 Nov 2026.

Found something we should revisit?

Good explanations get better with thoughtful feedback.

Suggest a correction