Synthetic Tabular GAN API
Generate useful tables with explicit schemas, meaningful constraints, and measurable utility.
Treat a table as more than a numeric matrix
Classify fields by meaning: quantities, categories, timestamps, identifiers, and relationships need different treatment. A database type alone does not describe how a column should be modeled. Establish the task and allowed representation before choosing a synthesizer.
The linked guide uses CTGAN as a research starting point for mixed tabular data. Compare a learned generator with simpler options such as procedural fixtures or suitable statistical methods. For predictable software edge cases, a hand-designed fixture may already meet the requirement.
Make conditional requests explicit
A proposed request can identify the schema, model revision, desired row count, and supported conditions. Validate those conditions before running a job. Do not silently reinterpret an unknown category or keep generating indefinitely when requested constraints cannot be satisfied.
Track requested, generated, rejected, and accepted rows separately. Rejection can change the delivered distribution, so report which rules removed samples. Construct identifiers and relational keys deliberately rather than assuming a single-table model guarantees database integrity.
Use several acceptance dimensions
Check validity before statistical similarity. Then inspect useful relationships, task performance on a protected holdout, and disclosure risk appropriate to the release. A single realism score cannot answer all of these questions.
Version preprocessing with the model and include the schema in the output manifest. Measure time and cost per accepted row at representative batch sizes. Keep training expenses distinct from sampling, validation, storage, and export costs.
Schema
Types, units, categories, and relationships.
Sampling
Supported conditions and bounded retries.
Evaluation
Validity, fidelity, utility, and privacy.
Questions for this workflow
Does a tabular GAN handle relational databases automatically?
Do not assume it does. Define key construction and relationships explicitly, then test referential integrity across the exported tables.
Should a generator be fitted before the train-test split?
For an independent evaluation, establish the split before fitting the generator and learned preprocessing. Keep the evaluation boundary documented.
Evaluating CTGAN: More Than a Realistic-Looking Table
Check validity, relationships, downstream utility, and disclosure risk before accepting a synthetic dataset.
Read the complete guide