CTGAN is a collection of Deep Learning based synthetic data generators for single table data, which are able to learn from real data and generate synthetic data with high fidelity.
| Important Links | |
|---|---|
| 💻 Website | Check out the SDV Website for more information about our overall synthetic data ecosystem. |
| 📙 Blog | A deeper look at open source, synthetic data creation and evaluation. |
| 📖 Documentation | Quickstarts, User and Development Guides, and API Reference. |
| The link to the Github Repository of this library. | |
| ⌨️ Development Status | This software is in its Pre-Alpha stage. |
| 👥 DataCebo Forum | Discuss CTGAN features, ask questions, and receive help. |
Currently, this library implements the CTGAN and TVAE models described in the Modeling Tabular data using Conditional GAN paper, presented at the 2019 NeurIPS conference.
⚠️ If you're just getting started with synthetic data, we recommend installing the SDV library which provides user-friendly APIs for accessing CTGAN. ⚠️
The SDV library provides wrappers for preprocessing your data as well as additional usability features like constraints. See the SDV documentation to get started.
Alternatively, you can also install and use CTGAN directly, as a standalone library:
Using pip:
pip install ctganUsing conda:
conda install -c pytorch -c conda-forge ctganWhen using the CTGAN library directly, you may need to manually preprocess your data into the correct format, for example:
- Continuous data must be represented as floats
- Discrete data must be represented as ints or strings
- The data should not contain any missing values
In this example we load the Adult Census Dataset* which is a built-in demo dataset. We use CTGAN to learn from the real data and then generate some synthetic data.
from ctgan import CTGAN