Data Lineage
Data lineage records how a dataset was derived from source records through curation, filtering, preprocessing, labeling, splitting, and evaluation. It connects Metadata and provenance, Data versioning, Preprocessing contract, and Evaluation protocol.
A compact lineage graph is:
where is the source record set, is the preprocessing contract, and is the split rule.
For a run, lineage should identify:
Why It Matters
- A small filtering change can change benchmark difficulty.
- Split leakage often comes from lineage mistakes, not model code.
- Reproducibility requires tracing metrics back to a dataset version and split.
- Public claims should only depend on public or safely summarized sources.
- Dataset lineage separates data changes from architecture or optimizer changes.
Lineage Record
A useful lineage record should include:
- Public source name, citation, license, and retrieval date or version.
- Raw record schema and stable identifiers.
- Inclusion and exclusion filters.
- Deduplication and near-duplicate policy.
- Label generation, harmonization, censoring, and missing-label policy.
- Preprocessing, tokenization, standardization, featurization, and normalization contracts.
- Split rule, split unit, random seed, group IDs, and leakage checks.
- Dataset version identifier and any content hashes that can be shared publicly.
- Link to the training run, evaluation protocol, and dataset card.
Molecular Modeling Lineage
For structure-based and molecular datasets, lineage should preserve entity relationships:
or, for structure data:
Flattening these records too early can hide assay changes, target ambiguity, template leakage, or pocket-definition leakage.
Checks
- Can every processed example be traced to a public or safely summarized source?
- Are filters and deduplication rules recorded before metric interpretation?
- Is the split generated from the intended split unit rather than row order?
- Are labels tied to source, unit, threshold, and censoring context?
- Can a run be associated with one dataset lineage identifier?
- Are private paths, private dataset names, collaborator details, and unpublished results excluded from public notes?