Skip to main content

Synthetic data generation methods with different synthetization methods.

Project description

Synthetic Data 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.

🎊 We have big news: v1.0.0 is here

We have exciting news for you. The new version of ydata-synthetic include new and exciting features:

  • A conditional architecture for tabular data: CTGAN, which will make the process of synthetic data generation easier and with higher quality!
  • A new streamlit app that delivers the synthetic data generation experience with a UI interface

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
  • Remove bias
  • Balance datasets
  • Augment datasets

ydata-synthetic

This repository contains material related with Generative Adversarial Networks for synthetic data generation, in particular regular tabular data and time-series. It consists a set of different GANs architectures developed using Tensorflow 2.0. Several example Jupyter Notebooks and Python scripts are included, to show how to use the different architectures.

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

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-syntehtic[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.

  • Synthesizing the minority class with VanillaGAN on credit fraud dataset Open in Colab
  • Time Series synthetic data generation with TimeGAN on stock 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!

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-1.0.0.tar.gz (46.5 kB view details)

Uploaded Source

Built Distribution

ydata_synthetic-1.0.0-py2.py3-none-any.whl (64.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ydata-synthetic-1.0.0.tar.gz.

File metadata

  • Download URL: ydata-synthetic-1.0.0.tar.gz
  • Upload date:
  • Size: 46.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for ydata-synthetic-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c11853c7e562f6fac943155fb31d7cdbd1e8a045fca899d0e0ce3ee51b209b29
MD5 bad0d8b4f4791bd381e5f8b65b20199d
BLAKE2b-256 2bc6107d0113d3e160e220a32007b5b960a178829bcb48ea880707029db501a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ydata_synthetic-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 488dc01270282c4fc3fca2fc4a55c3572c7a96464fa92494b2006d6a69e7b701
MD5 93b564e08d3d9dbabe2727145d431981
BLAKE2b-256 d676ae26ee2da210c6e9258505e7a2102b15ce03018382c9496b08073420e1c1

See more details on using hashes here.

Supported by

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