Synthetic Data Generation Toolkit
This repository provides a comprehensive toolkit for generating synthetic data using seven different models. The toolkit evaluates the generated data for utility, similarity/fidelity, and privacy, specifically tailored for tabular datasets with binary classification problems (e.g., True/False, Yes/No).
Models Included
The project implements the following models for synthetic data generation:
- CopulaGAN
- CTGAN
- Gaussian Copula
- TVAE
- Gaussian Multivariate
- WGAN
- ARF
Quick Start
Step 1: Install the Package
Install the package using pip:
pip install synthius
Step 2: Usage Example
To understand how to use this package, explore the three example Jupyter notebooks included in the repository:
-
- Demonstrates how to generate synthetic data using seven different models.
- Update paths and configurations (e.g., file paths, target column) to fit your dataset.
- Run the cells to generate synthetic datasets.
-
- Evaluates the utility.
- Update the paths as needed to analyze your data.
-
- Provides examples of computing metrics for evaluating synthetic data, including:
- Utility
- Fidelity/Similarity
- Privacy
- Update paths and dataset-specific configurations and run the cells to compute the results.
- Provides examples of computing metrics for evaluating synthetic data, including:
These notebooks serve as practical examples to demonstrate how to effectively utilize the toolkit.
Additional Setup for Mac Users
Mac users may encounter errors during installation. To resolve these issues, install the required dependencies and set up the environment:
-
Install dependencies using Homebrew:
brew install libomp llvm
-
Set up the environment:
export PATH="/opt/homebrew/opt/llvm/bin:$PATH" export CC=$(brew --prefix llvm)/bin/clang export CXX=$(brew --prefix llvm)/bin/clang++ export CXXFLAGS="-I$(brew --prefix llvm)/include -I$(brew --prefix libomp)/include" export LDFLAGS="-L$(brew --prefix llvm)/lib -L$(brew --prefix libomp)/lib -lomp"
Acknowledgments
Special thanks to all contributors and the libraries used in this project.
Metadata
Release files for synthius 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synthius-0.2.0.tar.gz | 58.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synthius-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.4 kB
Release files / synthius-0.2.0.tar.gz
| Download URL | synthius-0.2.0.tar.gz |
|---|---|
| Size | 58.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
adeee5f1cfde9e716265a547eb464bb34a8ea077e1286cfeb69051e41b605c08
|
|
BLAKE2b-256 checksum How to use checksums |
802463f0587054883de10f0142c5a1050942c3f615a1f2e96919704655da790e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 21, 2025.
Transparency logRelease files / synthius-0.2.0-py3-none-any.whl
| Download URL | synthius-0.2.0-py3-none-any.whl |
|---|---|
| Size | 77.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2909587b4ad12a91ae17acb12f9d8d4ae0c733e27ad3399f01c421f423b4cd40
|
|
BLAKE2b-256 checksum How to use checksums |
1ce16f332f2dc50d4eccede86d82f86d8515dcb83b5173e5496a53912f62844e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 21, 2025.
Transparency log