Dataset Split Contract

A dataset split contract records how examples are assigned to train, validation, and test sets. It makes the generalization claim reproducible and auditable.

A split function is:

For a grouping function that maps an example to its leakage-relevant unit, the contract should satisfy:

This prevents examples from the same split unit from crossing train, validation, and test.

Required Fields

  • Example unit: what one row or example means.
  • Split unit: molecule, scaffold, protein family, subject, source, time block, document group, or another grouping key.
  • Split rule: random, grouped, temporal, scaffold, protein-family, source-based, or domain holdout.
  • Split sizes: counts for examples and split units in train, validation, and test.
  • Deduplication rule: exact and near-duplicate handling before splitting.
  • Preprocessing order: which steps happen before and after split assignment.
  • Version: stable identifiers for raw data, processed data, and split files.
  • Leakage audit: checks performed and known residual risks.

Multi-Axis Splits

Some tasks need more than one grouping function:

A split can hold out one axis or several axes. The claim must match the axis:

Held-out axisClaim tested
row onlyinterpolation over the collected table
scaffoldnew ligand chemotypes
protein familynew target families
protein-ligand pairnew interaction pairs
assay/sourcesource or protocol transfer
timefuture-data performance

If the paper says “generalization” without naming the held-out axis, the split contract is incomplete.

Split Assignment Table

A public split contract can be summarized as:

FieldPublic value
Example unitto specify
Split unitto specify
Split ruleto specify
Validation rolemodel selection / early stopping / threshold tuning
Test rolefinal held-out estimate
Leakage checksduplicates, grouped units, preprocessing, metadata

Use to specify rather than inventing missing details.

Audit Table

CheckStatusEvidence
exact duplicates removed before splitto specifyhash/count
near-duplicates checkedto specifysimilarity threshold
group overlap checkedto specifygroup counts per split
preprocessing fit only on trainto specifypreprocessing contract
validation used for selection onlyto specifyselection rule
test untouched until final reportto specifytest-use log

Molecular Modeling Examples

  • Molecule property prediction: hold out molecular scaffolds or clusters.
  • Protein representation: hold out sequence-identity clusters or protein families.
  • Protein-ligand modeling: state whether the split holds out proteins, ligands, pairs, assays, or multiple axes.
  • Structure-based tasks: document whether pockets, templates, poses, or receptor preparation use deployment-available information.

Checks

  • Does the split rule match the claim being made?
  • Is validation the same type of shift as test, or only a tuning split?
  • Are split files versioned and reconstructable?
  • Are preprocessing statistics fit only on training data?
  • Are multiple leakage axes needed for this task?
  • Is the denominator after preprocessing/filtering the same as the intended benchmark denominator?
  • Are public notes free of private dataset names, internal paths, unpublished metrics, and collaborator-specific details?