From be212f8fc44e8b4fd4b63a737fe9f62e880da950 Mon Sep 17 00:00:00 2001
From: Fabiana <30911746+fabclmnt@users.noreply.github.com>
Date: Mon, 9 Sep 2024 18:43:43 +0100
Subject: [PATCH] chore: Update ydata-synthetic docs
Add more information regarding the change to ydata-sdk.
---
README.md | 104 +++++++-----------
docs/getting-started/installation.md | 27 ++---
docs/getting-started/quickstart.md | 78 -------------
docs/index.md | 56 +++++++---
docs/integrations/gx_integration.md | 3 +
docs/reference/api/index.md | 0
docs/reference/api/preprocessing/base.md | 2 -
.../regular/ctgan_preprocessor.md | 2 -
.../api/preprocessing/regular/preprocessor.md | 2 -
docs/reference/api/synthesizers/cgan.md | 2 -
docs/reference/api/synthesizers/gan.md | 4 -
.../api/synthesizers/regular/cgan.md | 2 -
.../api/synthesizers/regular/cramergan.md | 2 -
.../api/synthesizers/regular/ctgan.md | 2 -
.../api/synthesizers/regular/cwgangp.md | 2 -
.../api/synthesizers/regular/dragan.md | 2 -
.../reference/api/synthesizers/regular/gan.md | 5 -
.../api/synthesizers/regular/vanilllagan.md | 2 -
.../api/synthesizers/regular/wgan.md | 2 -
.../api/synthesizers/regular/wgan_gp.md | 2 -
.../synthesizers/timeseries/doppelganger.md | 2 -
.../api/synthesizers/timeseries/timegan.md | 2 -
docs/reference/changelog.md | 0
docs/support/analytics.md | 44 --------
docs/support/contribute.md | 22 ----
docs/support/help-troubleshooting.md | 4 +-
docs/synthetic_data/faqs.md | 28 +----
docs/synthetic_data/index.md | 15 +--
.../single_table/cgan_example.md | 5 +
.../single_table/cramer_gan_example.md | 5 +
.../single_table/ctgan_example.md | 5 +
.../single_table/cwgangp_example.md | 5 +
.../single_table/dragan_example.md | 5 +
.../single_table/gmm_example.md | 5 +
.../single_table/wgan_example.md | 5 +
.../single_table/wgangp_example.md | 5 +
docs/synthetic_data/streamlit_app.md | 46 --------
.../time_series/doppelganger_example.md | 6 +
.../time_series/timegan_example.md | 16 ++-
docs/synthetic_data/ydata_fabric_app.md | 28 +++++
mkdocs.yml | 30 +----
setup.py | 11 +-
42 files changed, 193 insertions(+), 402 deletions(-)
delete mode 100644 docs/getting-started/quickstart.md
delete mode 100644 docs/reference/api/index.md
delete mode 100644 docs/reference/api/preprocessing/base.md
delete mode 100644 docs/reference/api/preprocessing/regular/ctgan_preprocessor.md
delete mode 100644 docs/reference/api/preprocessing/regular/preprocessor.md
delete mode 100644 docs/reference/api/synthesizers/cgan.md
delete mode 100644 docs/reference/api/synthesizers/gan.md
delete mode 100644 docs/reference/api/synthesizers/regular/cgan.md
delete mode 100644 docs/reference/api/synthesizers/regular/cramergan.md
delete mode 100644 docs/reference/api/synthesizers/regular/ctgan.md
delete mode 100644 docs/reference/api/synthesizers/regular/cwgangp.md
delete mode 100644 docs/reference/api/synthesizers/regular/dragan.md
delete mode 100644 docs/reference/api/synthesizers/regular/gan.md
delete mode 100644 docs/reference/api/synthesizers/regular/vanilllagan.md
delete mode 100644 docs/reference/api/synthesizers/regular/wgan.md
delete mode 100644 docs/reference/api/synthesizers/regular/wgan_gp.md
delete mode 100644 docs/reference/api/synthesizers/timeseries/doppelganger.md
delete mode 100644 docs/reference/api/synthesizers/timeseries/timegan.md
delete mode 100644 docs/reference/changelog.md
delete mode 100644 docs/support/analytics.md
delete mode 100644 docs/support/contribute.md
delete mode 100644 docs/synthetic_data/streamlit_app.md
create mode 100644 docs/synthetic_data/ydata_fabric_app.md
diff --git a/README.md b/README.md
index c022af6c..025f5de3 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
![](https://img.shields.io/github/workflow/status/ydataai/ydata-synthetic/prerelease)
![](https://img.shields.io/pypi/status/ydata-synthetic)
[![](https://pepy.tech/badge/ydata-synthetic)](https://pypi.org/project/ydata-synthetic/)
-![](https://img.shields.io/badge/python-3.9%20%7C%203.10-blue)
+![](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
[![](https://img.shields.io/pypi/v/ydata-synthetic)](https://pypi.org/project/ydata-synthetic/)
![](https://img.shields.io/github/license/ydataai/ydata-synthetic)
@@ -11,14 +11,15 @@
Join us on [![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://tiny.ydata.ai/dcai-ydata-synthetic)
# 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!
-
+`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.
@@ -32,68 +33,50 @@ Synthetic data can be used for many applications:
> **Looking for an end-to-end solution to Synthetic Data Generation?**
> [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.
-> 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
-```
+> Check out the [Community Version](https://ydata.ai/register).
-### 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
+## 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.
-#### Installation
+Instead of having to manually select from models such as:
-```commandline
-pip install ydata-synthetic[streamlit]
-```
-#### Quickstart
-Use the code snippet below in a python file (Jupyter Notebooks are not supported):
-```python
-from ydata_synthetic import streamlit_app
+- [GAN](https://arxiv.org/abs/1406.2661)
+- [CGAN](https://arxiv.org/abs/1411.1784) (Conditional GAN)
+- [WGAN](https://arxiv.org/abs/1701.07875) (Wasserstein GAN)
+- [WGAN-GP](https://arxiv.org/abs/1704.00028) (Wassertein GAN with Gradient Penalty)
+- [DRAGAN](https://arxiv.org/pdf/1705.07215.pdf) (Deep Regret Analytic GAN)
+- [Cramer GAN](https://arxiv.org/abs/1705.10743) (Cramer Distance Solution to Biased Wasserstein Gradients)
+- [CWGAN-GP](https://cameronfabbri.github.io/papers/conditionalWGAN.pdf) (Conditional Wassertein GAN with Gradient Penalty)
+- [CTGAN](https://arxiv.org/pdf/1907.00503.pdf) (Conditional Tabular GAN)
+- [TimeGAN](https://papers.nips.cc/paper/2019/file/c9efe5f26cd17ba6216bbe2a7d26d490-Paper.pdf) (specifically for *time-series* data)
+- [DoppelGANger](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643) (specifically for *time-series* data)
-streamlit_app.run()
-```
+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.
-Or use the file streamlit_app.py that can be found in the [examples folder](https://github.com/ydataai/ydata-synthetic/tree/master/examples/streamlit_app.py).
+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](https://docs.fabric.ydata.ai/latest/sdk/).
+## Quickstart
+Binary installers for the latest released version are available at the [Python Package Index (PyPI).](https://pypi.org/project/ydata-sdk/)
```commandline
-python -m streamlit_app
+pip install ydata-sdk
```
-The below models are supported:
- - CGAN
- - WGAN
- - WGANGP
- - DRAGAN
- - CRAMER
- - CTGAN
+### The UI guide for synthetic data generation
-[![Watch the video](assets/streamlit_app.png)](https://youtu.be/ep0PhwsFx0A)
+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](https://ydata.ai/register).
### 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](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/regular/models/Fast_Adult_Census_Income_Data.ipynb)
- - Tabular synthetic data generation with CTGAN on adult census income dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/regular/models/CTGAN_Adult_Census_Income_Data.ipynb)
- - Time Series synthetic data generation with TimeGAN on stock dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/timeseries/TimeGAN_Synthetic_stock_data.ipynb)
- - Time Series synthetic data generation with DoppelGANger on FCC MBA dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/timeseries/DoppelGANger_FCC_MBA_Dataset.ipynb)
- - More examples are continuously added and can be found in `/examples` directory.
+ - Tabular [synthetic data generation on Titanic Kaggle dataset](https://github.com/ydataai/ydata-sdk/blob/main/examples/synthesizers/regular_quickstart.py)
+ - Time Series [synthetic data generation]('https://github.com/ydataai/ydata-sdk/blob/main/examples/synthesizers/time_series_quickstart.py')
+ - More examples are continuously added and can be found in [examples directory](https://github.com/ydataai/ydata-sdk/tree/main/examples).
### Datasets for you to experiment
Here are some example datasets for you to try with the synthesizers:
@@ -108,7 +91,7 @@ Here are some example datasets for you to try with the synthesizers:
## Project Resources
-In this repository you can find the several GAN architectures that are used to create synthesizers:
+Find below useful literature of how to generate synthetic data and available generative models:
### Tabular data
- [GAN](https://arxiv.org/abs/1406.2661)
@@ -125,11 +108,6 @@ In this repository you can find the several GAN architectures that are used to c
- [TimeGAN](https://papers.nips.cc/paper/2019/file/c9efe5f26cd17ba6216bbe2a7d26d490-Paper.pdf)
- [DoppelGANger](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643)
-## 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!](https://tiny.ydata.ai/dcai-ydata-synthetic)
diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md
index d633f51d..bcead052 100644
--- a/docs/getting-started/installation.md
+++ b/docs/getting-started/installation.md
@@ -1,22 +1,22 @@
-`ydata-synthetic` is available through PyPi, allowing an easy process of installation and integration with the data science programing environments (Google Colab, Jupyter Notebooks, Visual Studio Code, PyCharm) and stack (`pandas`, `numpy`, `scikit-learn`).
+`ydata-sdk` is available through PyPi, allowing an easy process of installation and integration with the data science programing environments (Google Colab, Jupyter Notebooks, Visual Studio Code, PyCharm) and stack (`pandas`, `numpy`, `scikit-learn`).
##Installing the package
-Currently, the package supports **python versions over 3.9**, and can be installed in Windows, Linux or MacOS operating systems.
+Currently, the package supports **python versions over 3.9 and up-to python 3.12**, and can be installed in Windows, Linux or MacOS operating systems.
Prior to the package installation, it is recommended the creation of a virtual or `conda` environment:
=== "conda"
``` commandline
- conda create -n synth-env python=3.10
+ conda create -n synth-env python=3.12
conda activate synth-env
```
-The above command creates and activates a new environment called "synth-env" with Python version 3.10.X. In the new environment, you can then install `ydata-synthetic`:
+The above command creates and activates a new environment called "synth-env" with Python version 3.12.X. In the new environment, you can then install `ydata-sdk`:
=== "pypi"
``` commandline
- pip install ydata-synthetic==1.1.0
+ pip install ydata-sdk
```
:fontawesome-brands-youtube:{ style="color: #EE0F0F" }
@@ -27,20 +27,7 @@ The above command creates and activates a new environment called "synth-env" wit
To install inside a Google Colab notebook, you can use the following:
``` commandline
-!pip install ydata-synthetic==1.1.0
+!pip install ydata-sdk
```
-Make sure your Google Colab is running Python versions `>=3.9, <3.11`. Learn how to configure Python versions on Google Colab [here](https://stackoverflow.com/questions/68657341/how-can-i-update-google-colabs-python-version/68658479#68658479).
-
-
-## Installing the Streamlit App
-Since version 1.0.0, the `ydata-synthetic` includes a GUI experience provided by a Streamlit app. The UI supports the data synthesization process from reading the data to profiling the synthetic data generation, and can be installed as follows:
-
-``` commandline
-pip install "ydata-synthetic[streamlit]"
-```
-
-Note that Jupyter or Colab Notebooks are not yet supported, so use it in your Python environment.
-
-
-
+Make sure your Google Colab is running Python versions `>=3.9, <=3.12`. Learn how to configure Python versions on Google Colab [here](https://stackoverflow.com/questions/68657341/how-can-i-update-google-colabs-python-version/68658479#68658479).
diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md
deleted file mode 100644
index 3814bb39..00000000
--- a/docs/getting-started/quickstart.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Quickstart
-
-`ydata-synthetic` is equipped to handle both **tabular** (comprising numeric and categorical features) and sequential, **time-series** data. In this section we explain how you can **quickstart the synthesization** of tabular and time-series datasets.
-
-## Synthesizing a Tabular Dataset
-The following example showcases how to synthesize the [Adult Census Income](https://www.kaggle.com/datasets/uciml/adult-census-income) dataset with CTGAN:
-=== "Tabular Data"
- ```python
- # Import the necessary modules
- from pmlb import fetch_data
- from ydata_synthetic.synthesizers.regular import RegularSynthesizer
- from ydata_synthetic.synthesizers import ModelParameters, TrainParameters
-
- # Load data
- data = fetch_data('adult')
- num_cols = ['age', 'fnlwgt', 'capital-gain', 'capital-loss', 'hours-per-week']
- cat_cols = ['workclass','education', 'education-num', 'marital-status',
- 'occupation', 'relationship', 'race', 'sex', 'native-country', 'target']
-
- # Define model and training parameters
- ctgan_args = ModelParameters(batch_size=500, lr=2e-4, betas=(0.5, 0.9))
- train_args = TrainParameters(epochs=501)
-
- # Train the generator model
- synth = RegularSynthesizer(modelname='ctgan', model_parameters=ctgan_args)
- synth.fit(data=data, train_arguments=train_args, num_cols=num_cols, cat_cols=cat_cols)
-
- # Generate 1000 new synthetic samples
- synth_data = synth.sample(1000)
- ```
-
-## Synthesizing a Time-Series Dataset
-The following example showcases how to synthesize the [Yahoo Stock Price](https://www.kaggle.com/datasets/arashnic/time-series-forecasting-with-yahoo-stock-price) dataset with TimeGAN:
-=== "Time-Series Data"
- ```python
- # Import the necessary modules
- import pandas as pd
- from ydata_synthetic.synthesizers.timeseries import TimeSeriesSynthesizer
- from ydata_synthetic.synthesizers import ModelParameters, TrainParameters
-
- # Define model parameters
- gan_args = ModelParameters(batch_size=128,
- lr=5e-4,
- noise_dim=32,
- layers_dim=128,
- latent_dim=24,
- gamma=1)
-
- train_args = TrainParameters(epochs=50000,
- sequence_length=24,
- number_sequences=6)
-
- # Read the data
- stock_data = pd.read_csv("stock_data.csv")
-
- # Training the TimeGAN synthesizer
- synth = TimeSeriesSynthesizer(modelname='timegan', model_parameters=gan_args)
- synth.fit(stock_data, train_args, num_cols=list(stock_data.columns))
-
- # Generating new synthetic samples
- synth_data = synth.sample(n_samples=500)
- ```
-
-## Running the Streamlit App
-Once the package is [installed](installation.md) with the "streamlit" extra, the app can be launched as:
-
-=== "Streamlit App"
- ```python
- from ydata_synthetic import streamlit_app
-
- streamlit_app.run()
- ```
-
-The console will then output the URL from which the app can be accessed.
-
-:fontawesome-brands-youtube:{ style="color: #EE0F0F" } Here's a [quick example](https://www.youtube.com/watch?v=6Lzi26szKNo&t=4s) of how to synthesize data with the Streamlit App – :octicons-clock-24: 5min
-
-
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
index a95ff9ac..57ebd27b 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -3,7 +3,7 @@
- -
- -## Installation - -pip install ydata-synthetic[streamlit] - -## Quickstart - -Use the code snippet below in a python file: - -!!! warning "Use python scripts" - - I know you probably love Jupyter Notebooks or Google Colab, but make sure that you start your - synthetic data generation streamlit app from a python script as notebooks are not supported! - -``` py - from ydata_synthetic import streamlit_app - streamlit_app.run() -``` - -Or use the file streamlit_app.py that can be found in the [examples folder](). - -``` py - python -m streamlit_app -``` - -The below models are supported: - -- [ydata-sdk Synthetic Data generator](https://docs.sdk.ydata.ai/0.6/examples/synthesize_tabular_data/) -- CGAN -- WGAN -- WGANGP -- DRAGAN -- CRAMER -- CTGAN - diff --git a/docs/synthetic_data/time_series/doppelganger_example.md b/docs/synthetic_data/time_series/doppelganger_example.md index b418879b..2cd125fa 100644 --- a/docs/synthetic_data/time_series/doppelganger_example.md +++ b/docs/synthetic_data/time_series/doppelganger_example.md @@ -1,5 +1,11 @@ # Synthesize time-series data +!!! note "Outdated" + Note that this example won't work with the latest version of `ydata-synthetic`. + + Please check `ydata-sdk` to see [how to generate synthetic time-series data](https://docs.fabric.ydata.ai/latest/sdk/examples/synthesize_timeseries_data/). + + **Using *DoppelGANger* to generate synthetic time-series data:** Although tabular data may be the most frequently discussed type of data, a great number of real-world domains — from traffic and daily trajectories to stock prices and energy consumption patterns — produce **time-series data** which introduces several aspects of complexity to synthetic data generation. diff --git a/docs/synthetic_data/time_series/timegan_example.md b/docs/synthetic_data/time_series/timegan_example.md index b4c36c3f..ec2fbe87 100644 --- a/docs/synthetic_data/time_series/timegan_example.md +++ b/docs/synthetic_data/time_series/timegan_example.md @@ -1,6 +1,20 @@ # Synthesize time-series data -**Using *TimeGAN* to generate synthetic time-series data:** +!!! note "Outdated" + Note that this example won't work with the latest version of `ydata-synthetic`. + + Please check `ydata-sdk` to see [how to generate synthetic time-series data](https://docs.fabric.ydata.ai/latest/sdk/examples/synthesize_timeseries_data/). + +## Why YData Fabric vs TimeGAN for time-series data +YData Fabric offers advanced capabilities for time-series synthetic data generation, surpassing TimeGAN in terms of flexibility, +scalability, and ease of use. With YData Fabric, users can generate high-quality synthetic time-series data while benefiting from built-in data profiling tools +that ensure the integrity and consistency of the data. Unlike TimeGAN, which is a single model for time-series, YData Fabric offers a solution that is suitable for different types of datasets and behaviours. +Additionally, YData Fabric is designed for scalability, enabling seamless handling of large, complex time-series datasets. Its guided UI makes it easy to adapt to different time-series scenarios, +from healthcare to financial data, making it a more comprehensive and flexible solution for time-series data generation. + +For more on [YData Fabric vs Synthetic data generation with TimeGAN read this blogpost](https://ydata.ai/resources/the-best-generative-ai-model-for-time-series-synthetic-data-generation). + +## Using *TimeGAN* to generate synthetic time-series data Although tabular data may be the most frequently discussed type of data, a great number of real-world domains — from traffic and daily trajectories to stock prices and energy consumption patterns — produce **time-series data** which introduces several aspects of complexity to synthetic data generation. diff --git a/docs/synthetic_data/ydata_fabric_app.md b/docs/synthetic_data/ydata_fabric_app.md new file mode 100644 index 00000000..ddf2ea44 --- /dev/null +++ b/docs/synthetic_data/ydata_fabric_app.md @@ -0,0 +1,28 @@ +# The UI guided experience for Synthetic Data generation + +[YData Fabric provides a robust, guided user interface (UI) specifically designed to streamline synthetic data generation](https://ydata.ai/products/fabric). +This interface is tailored to support users at every level, ensuring that both novice users and experienced data scientists can efficiently generate +synthetic datasets while adhering to best practices. + +## Step-by-Step Workflow +The YData Fabric UI organizes the synthetic data generation process into a structured, step-by-step workflow. +Each stage of the process is clearly defined and supported by guidance within the interface, helping users navigate tasks like data profiling, +metadata and synthesizer configuration and synthetic data quality evaluation. + +- **Data Upload and Profiling:** Users start by uploading their datasets directly into the platform. YData Fabric’s profiling tool automatically scans +the data, generating insights into key attributes such as data distributions, correlations, and missing values. +These insights are presented in an intuitive, visual format, ensuring users can quickly assess the quality and structure of their data. +- **Alerts for Data Issues:** The UI will alert users to potential issues such as data imbalances, outliers, or incomplete fields that may affect the +quality of the synthetic data. +- **Synthetic Data Generation Model Configuration:** Once the data is profiled, the UI supports metadata configuration (categorical, numerical, dates, etc), +anonymization integration. +- **Model Performance Insights:** During the model training phase, YData Fabric monitors key performance indicators (KPIs) like fidelity, utility and privacy. +These KPIs, such as data fidelity and privacy scores, are displayed on the dashboard, allowing users to evaluate how closely the synthetic data aligns with the original dataset. +- **Customization and Advanced Controls:** For more experienced users, YData Fabric provides customization options within the guided UI. +Users have access to advanced settings, such as [conditional synthetic data generation](https://ydata.ai/resources/conditional-synthetic-data-generation-for-robust-machine-learning-applications) or business rules. +- **Preserving Data Integrity:** For datasets requiring strict adherence to structural patterns (e.g., time-series data, healthcare records or databases). + +### Getting started with YData Fabric (Community version) +YData Fabric’s Community Version offers users a free, accessible entry point to explore synthetic data generation. +To get started, users can [sign up for the Community Version and access the guided UI directly](https://ydata.ai/register). +Once registered, users are provided with a range of features, including data profiling, synthetic data generation, pipelines and access to YData’s proprietary models for data quality! \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index c8c15442..f5db0ca8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,10 +9,9 @@ nav: - 'index.md' - Overview: 'index.md' - Installation: 'getting-started/installation.md' - - Quickstart: 'getting-started/quickstart.md' - - Synthetic Data Generation: + - Synthetic Data Generation: - "synthetic_data/index.md" - - UI interface - Streamlit app: "synthetic_data/streamlit_app.md" + - UI interface - YData Fabric: "synthetic_data/ydata_fabric_app.md" - Generate Single Table: - GMM: "synthetic_data/single_table/gmm_example.md" - CGAN: "synthetic_data/single_table/cgan_example.md" @@ -32,31 +31,6 @@ nav: - Great Expectations: "integrations/gx_integration.md" - Support: - Help & Troubleshooting: 'support/help-troubleshooting.md' - - Contribution Guidelines: 'support/contribute.md' - - Contribution Guidelines: 'support/contribute.md' - - Analytics: 'support/analytics.md' - - Reference: - - Changelog: 'reference/changelog.md' - - API: - - Synthesizers: - - GAN: 'reference/api/synthesizers/regular/gan.md' - - Regular: - - CGAN: 'reference/api/synthesizers/regular/cgan.md' - - CRAMERGAN: 'reference/api/synthesizers/regular/cramergan.md' - - CTGAN: 'reference/api/synthesizers/regular/ctgan.md' - - CWGANGP: 'reference/api/synthesizers/regular/cwgangp.md' - - DRAGAN: 'reference/api/synthesizers/regular/dragan.md' - - VANILLAGAN: 'reference/api/synthesizers/regular/vanillagan.md' - - WGAN_GP: 'reference/api/synthesizers/regular/wgan_gp.md' - - WGAN: 'reference/api/synthesizers/regular/wgan.md' - - Timeseries: - - TimeGAN: 'reference/api/synthesizers/timeseries/timegan.md' - - DoppelGANger: 'reference/api/synthesizers/timeseries/doppelganger.md' - - Preprocessing: - - BaseProcessor: 'reference/api/preprocessing/base.md' - - Regular: - - RegularDataProcessor: 'reference/api/preprocessing/regular/preprocessor.md' - - CTGANDataProcessor: 'reference/api/preprocessing/regular/ctgan_preprocessor.md' theme: name: material language: en diff --git a/setup.py b/setup.py index 05c2b92b..baa72e29 100644 --- a/setup.py +++ b/setup.py @@ -42,19 +42,10 @@ keywords='data science ydata', url='https://github.com/ydataai/ydata-synthetic', license="https://github.com/ydataai/ydata-synthetic/blob/master/LICENSE", - python_requires=">=3.9, <3.12", + python_requires=">=3.9, <3.13", packages=find_namespace_packages('src'), package_dir={'':'src'}, include_package_data=True, options={"bdist_wheel": {"universal": True}}, install_requires=requirements, - extras_require={ - "streamlit": [ - "streamlit==1.29.0", - "typing-extensions>=3.10.0", - "streamlit_pandas_profiling==0.1.3", - "ydata-profiling<5", - "ydata-sdk>=0.2.1", - ], - }, )