Skip to main content

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:

  1. CopulaGAN
  2. CTGAN
  3. Gaussian Copula
  4. TVAE
  5. Gaussian Multivariate
  6. WGAN
  7. 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:

  1. Generator

    • 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.
  2. AutoGloun

    • Evaluates the utility.
    • Update the paths as needed to analyze your data.
  3. Evaluation

    • 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.

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:

  1. Install dependencies using Homebrew:

    brew install libomp llvm
    
  2. 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)

Source distribution for synthius 0.2.0
File Size Uploaded
synthius-0.2.0.tar.gz 58.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synthius 0.2.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page