"Fit, save, load, and sample SDGX single-table synthesizers through
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill single-table-synthesis --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Single Table Synthesis?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-single-table-synthesis)More formats (shields.io, HTML) on the badges page.
---
name: single-table-synthesis
description: "Fit, save, load, and sample SDGX single-table synthesizers through
the Python API or sdgx CLI, including CTGAN and GaussianCopula workflows."
metadata:
disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---
# SDGX Single-Table Synthesis
Use this sub-skill for `Synthesizer`, CTGAN/GaussianCopula fitting and sampling, model save/load directories, CLI `sdgx fit`/`sdgx sample`, component listing, and small smoke tests.
If the user asks about data connectors, metadata, datetime formats, fixed combinations, PII columns, or custom processors, read [../data-preparation/SKILL.md](../data-preparation/SKILL.md) first. If the model is OpenAI/GPT-backed, read [../llm-synthesis/SKILL.md](../llm-synthesis/SKILL.md).
## Choose an entrypoint
- **Python API:** best for notebooks, programmatic validation, custom metadata, custom processors, and direct model instances.
- **CLI:** best for repeatable shell workflows, external orchestration, JSON output status, and saved synthesizer directories.
- **Bundled smoke helper:** run [scripts/tiny_synthesis_smoke.py](scripts/tiny_synthesis_smoke.py) when you need a tiny assertion-backed test without external data.
## Library workflow sketch
```python
from sdgx.data_connectors.csv_connector import CsvConnector
from sdgx.models.ml.single_table.ctgan import CTGANSynthesizerModel
from sdgx.synthesizer import Synthesizer
connector = CsvConnector(path="input.csv")
synthesizer = Synthesizer(
model=CTGANSynthesizerModel(epochs=1, batch_size=10, device="cpu"),
data_connector=connector,
)
synthesizer.fit()
sampled = synthesizer.sample(100)
```
Read [references/synthesizer-workflows.md](references/synthesizer-workflows.md) for full library patterns, save/load, GaussianCopula, chunksize sampling, and data-processor customization.
## CLI workflow sketch
```bash
sdgx fit \
--save_dir model-dir \
--model CTGAN \
--model_kwargs '{"epochs":1,"batch_size":10,"device":"cpu"}' \
--data_connector csvconnector \
--data_connector_kwargs '{"path":"input.csv"}' \
--json_output true
sdgx sample \
--load_dir model-dir \
--model CTGAN \
--count 100 \
--export_dst synthetic.csv \
--json_output true
```
Read [references/cli-reference.md](references/cli-reference.md) for all important CLI flags and JSON option formats.
## Model decision points
- Use `CTGANSynthesizerModel` for neural/tabular GAN workflows; set `epochs=1` only for smoke tests.
- Use `GaussianCopulaSynthesizerModel` for fast statistic/correlation-style checks and CPU-friendly smoke tests.
- `ModelManager` registers `ctgan` in this source state; direct import is the reliable route for GaussianCopula.
- For CPU-only or deterministic tests, pass `device="cpu"`. CTGAN defaults to CUDA if PyTorch reports CUDA available.
- Always validate output row count, column order, column types, and domain constraints; sampling can produce extra rows internally before filtering.
Read [references/model-reference.md](references/model-reference.md) for inspected signatures and parameter notes.
## Troubleshooting
Read [references/troubleshooting.md](references/troubleshooting.md) for CTGAN `batch_size`, device, fit/sample, save/load, CLI JSON, processor, and output validation failures.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!