Skip to main content

Synthetic data generation methods with different synthetization methods.

Project description

ydata-synthetic is now fg-data-synthetic. This package has been renamed to fg-data-synthetic. Please follow the Migration Guide as soon as possible — the old package will no longer receive updates or bug fixes.

YData Synthetic Logo

Join us on Discord

YData Synthetic

A package to generate synthetic tabular and time-series data leveraging the state of the art generative models.

🎊 The exciting features:

These are must try features when it comes to synthetic data generation:

  • A new streamlit app that delivers the synthetic data generation experience with a UI interface. A low code experience for the quick generation of synthetic data
  • A new fast synthetic data generation model based on Gaussian Mixture. So you can quickstart in the world of synthetic data generation without the need for a GPU.
  • A conditional architecture for tabular data: CTGAN, which will make the process of synthetic data generation easier and with higher quality!

Migration Guide

1. Uninstall the old package

pip uninstall ydata-synthetic

2. Install the new package

pip install fg-data-synthetic

3. Update your imports

Find and replace all occurrences of the old import in your codebase:

# Before
import ydata_synthetic
from ydata_synthetic.synthesizers.regular import RegularSynthesizer

# After
import data_synthetic
from data_synthetic.synthesizers.regular import RegularSynthesizer

You can use this one-liner to find all affected files:

grep -r "ydata_synthetic" . --include="*.py"
  
## Synthetic data
### What is synthetic data?
Synthetic data is artificially generated data that is not collected from real world events. It replicates the statistical components of real data without containing any identifiable information, ensuring individuals' privacy.

### Why Synthetic Data?
Synthetic data can be used for many applications:
  - Privacy compliance for data-sharing and Machine Learning development
  - Remove bias
  - Balance datasets
  - Augment datasets

> **Looking for an end-to-end solution to Synthetic Data Generation?**<br>
> [YData Fabric](https://ydata.ai/products/synthetic_data) enables the generation of high-quality datasets within a full UI experience, from data preparation to synthetic data generation and evaluation.<br>
> Check out the [Community Version](https://ydata.ai/ydata-fabric-free-trial).


# ydata-synthetic
This repository contains material related with architectures and models for synthetic data, from Generative Adversarial Networks (GANs) to Gaussian Mixtures.
The repo includes a full ecosystem for synthetic data generation, that includes different models for the generation of synthetic structure data and time-series.
All the Deep Learning models are implemented leveraging Tensorflow 2.0.
Several example Jupyter Notebooks and Python scripts are included, to show how to use the different architectures.

Are you ready to learn more about synthetic data and the bext-practices for synthetic data generation?

## Quickstart
The source code is currently hosted on GitHub at: https://github.com/ydataai/ydata-synthetic

Binary installers for the latest released version are available at the [Python Package Index (PyPI).](https://pypi.org/project/ydata-synthetic/)
```commandline
pip install ydata-synthetic

The UI guide for synthetic data generation

YData synthetic has now a UI interface to guide you through the steps and inputs to generate structure tabular data. The streamlit app is available form v1.0.0 onwards, and supports the following flows:

  • Train a synthesizer model
  • Generate & profile synthetic data samples

Installation

pip install ydata-synthetic[streamlit]

Quickstart

Use the code snippet below in a python file (Jupyter Notebooks are not supported):

from ydata_synthetic import streamlit_app

streamlit_app.run()

Or use the file streamlit_app.py that can be found in the examples folder.

python -m streamlit_app

The below models are supported:

  • CGAN
  • WGAN
  • WGANGP
  • DRAGAN
  • CRAMER
  • CTGAN

Watch the video

Examples

Here you can find usage examples of the package and models to synthesize tabular data.

  • Fast tabular data synthesis on adult census income dataset Open in Colab
  • Tabular synthetic data generation with CTGAN on adult census income dataset Open in Colab
  • Time Series synthetic data generation with TimeGAN on stock dataset Open in Colab
  • Time Series synthetic data generation with DoppelGANger on FCC MBA dataset Open in Colab
  • More examples are continuously added and can be found in /examples directory.

Datasets for you to experiment

Here are some example datasets for you to try with the synthesizers:

Tabular datasets

Sequential datasets

Project Resources

In this repository you can find the several GAN architectures that are used to create synthesizers:

Tabular data

Sequential data

Contributing

We are open to collaboration! If you want to start contributing you only need to:

  1. Search for an issue in which you would like to work. Issues for newcomers are labeled with good first issue.
  2. Create a PR solving the issue.
  3. We would review every PRs and either accept or ask for revisions.

Support

For support in using this library, please join our Discord server. Our Discord community is very friendly and great about quickly answering questions about the use and development of the library. Click here to join our Discord community!

FAQs

Have a question? Check out the Frequently Asked Questions about ydata-synthetic. If you feel something is missing, feel free to book a beary informal chat with us.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ydata_synthetic-2.0.1.tar.gz (65.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ydata_synthetic-2.0.1-py2.py3-none-any.whl (88.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ydata_synthetic-2.0.1.tar.gz.

File metadata

  • Download URL: ydata_synthetic-2.0.1.tar.gz
  • Upload date:
  • Size: 65.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ydata_synthetic-2.0.1.tar.gz
Algorithm Hash digest
SHA256 bbb37d8d1cd079a74b50587885274f30a9f603d147d64761408dfa420634244c
MD5 a2a9993bfa3fac6db6271a5cd06696fe
BLAKE2b-256 39e35e8e2b1ad646c4ce34d8bc3b7c544d3d3a167174a6a0ac6497304483bdc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ydata_synthetic-2.0.1.tar.gz:

Publisher: prerelease.yml on Data-Centric-AI-Community/ydata-synthetic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ydata_synthetic-2.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ydata_synthetic-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e66b3cb17879e0e3ae0687e8dc1a4962e372c350366537d830e62e79f962ee87
MD5 13c9527cf95f2983ad4739f3e1f73da3
BLAKE2b-256 60bb701c1cc908e10a1566c77779eb7a964b53b7ef609e5af3b4183a8574a212

See more details on using hashes here.

Provenance

The following attestation bundles were made for ydata_synthetic-2.0.1-py2.py3-none-any.whl:

Publisher: prerelease.yml on Data-Centric-AI-Community/ydata-synthetic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page