sdv-dev/SDV
Synthetic data generation for tabular data
SDV – Synthetic Data Vault
What it is – A Python library that lets you train machine‑learning models on real tabular data and then generate synthetic versions of that data. It supports single tables, related multi‑table schemas, and sequential (time‑series) data.
Key capabilities
- Model zoo – From classic statistical copulas (e.g.,
GaussianCopulaSynthesizer) to deep‑learning generators such as CTGAN. - Full workflow – Built‑in preprocessing, anonymisation, and constraint handling so generated rows respect primary/foreign keys and user‑defined business rules.
- Evaluation tools – Functions to compute quality scores and visualise column‑wise comparisons between real and synthetic data.
- Modular ecosystem – Part of a larger SDV suite that also offers data discovery, transformation, and privacy‑measurement utilities.
Typical workflow
- Load data (the package ships demo datasets).
from sdv.datasets.demo import download_demo real, meta = download_demo(modality='single_table', dataset_name='fake_hotel_guests') - Create and train a synthesizer.
from sdv.single_table import GaussianCopulaSynthesizer synth = GaussianCopulaSynthesizer(meta) synth.fit(real) - Generate synthetic rows.
synthetic = synth.sample(500) - Assess quality.
from sdv.evaluation import evaluate_quality, get_column_plot report = evaluate_quality(real, synthetic, meta) fig = get_column_plot(real, synthetic, column_name='amenities_fee', metadata=meta) fig.show()
Installation – Available on PyPI under a Business Source License.
pip install sdv # or
conda install -c pytorch -c conda-forge sdv
Who might use it – Data scientists, privacy engineers, and product teams that need realistic test data without exposing sensitive information, or who want to augment scarce datasets for model training.
Links – Documentation & tutorials (Colab notebooks) are linked from the README, and a community forum is hosted at forum.datacebo.com.
Related
- Project
- Project
- Project
- Project
- Project