Awesome
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=ab07c7a0-c1ee-481e-9368-baf70185cf40" />
<p align="center"><img width="300" src="https://assets.ydata.ai/oss/ydata-synthetic_black.png" alt="YData Synthetic Logo"></p>YData Synthetic
YData-Synthetic
is an open-source package developed in 2020 with the primary goal of educating users about generative models for synthetic data generation.
Designed as a collection of models, it was intended for exploratory studies and educational purposes.
However, it was not optimized for the quality, performance, and scalability needs typically required by organizations.
!!! note "Update"
Even though the journey was fun, and we have learned a lot from the community it is now time to upgrade ydata-synthetic
.
Heading towards the future of synthetic data generation we recommend users to transition to ydata-sdk
, which provides a superior experience with enhanced performance,
precision, and ease of use, making it the preferred tool for synthetic data generation and a perfect introduction to Generative AI.
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 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.
ydata-synthetic to ydata-sdk
With the upcoming update of ydata-synthetic
to ydata-sdk
, users will now have access to a single API that automatically selects and optimizes
the best generative model for their data. This streamlined approach eliminates the need to choose between
various models manually, as the API intelligently identifies the optimal model based on the specific dataset and use case.
Instead of having to manually select from models such as:
- GAN
- CGAN (Conditional GAN)
- WGAN (Wasserstein GAN)
- WGAN-GP (Wassertein GAN with Gradient Penalty)
- DRAGAN (Deep Regret Analytic GAN)
- Cramer GAN (Cramer Distance Solution to Biased Wasserstein Gradients)
- CWGAN-GP (Conditional Wassertein GAN with Gradient Penalty)
- CTGAN (Conditional Tabular GAN)
- TimeGAN (specifically for time-series data)
- DoppelGANger (specifically for time-series data)
The new API handles model selection automatically, optimizing for the best performance in fidelity, utility, and privacy. This significantly simplifies the synthetic data generation process, ensuring that users get the highest quality output without the need for manual intervention and tiring hyperparameter tuning.
Are you ready to learn more about synthetic data and the best-practices for synthetic data generation? For more materials on synthetic data generation with Python see the documentation.
Quickstart
Binary installers for the latest released version are available at the Python Package Index (PyPI).
pip install ydata-sdk
The UI guide for synthetic data generation
YData Fabric offers an UI interface to guide you through the steps and inputs to generate structure data. You can experiment today with YData Fabric by registering the Community version.
Examples
Here you can find usage examples of the package and models to synthesize tabular data.
- Tabular synthetic data generation on Titanic Kaggle dataset
- Time Series synthetic data generation
- 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
Find below useful literature of how to generate synthetic data and available generative models:
Tabular data
- GAN
- CGAN (Conditional GAN)
- WGAN (Wasserstein GAN)
- WGAN-GP (Wassertein GAN with Gradient Penalty)
- DRAGAN (On Convergence and stability of GANS)
- Cramer GAN (The Cramer Distance as a Solution to Biased Wasserstein Gradients)
- CWGAN-GP (Conditional Wassertein GAN with Gradient Penalty)
- CTGAN (Conditional Tabular GAN)
- Gaussian Mixture
Sequential data
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.