DataSynthesizer
DataSynthesizer generates synthetic data that simulates a given dataset.
It aims to facilitate the collaborations between data scientists and owners of sensitive data. It applies Differential Privacy techniques to achieve strong privacy guarantee.
For more details, please refer to DataSynthesizer: Privacy-Preserving Synthetic Datasets
Install DataSynthesizer
pip install DataSynthesizer
Usage
Assumptions for the Input Dataset
- The input dataset is a table in first normal form (1NF).
- When implementing differential privacy, DataSynthesizer injects noises into the statistics within active domain that are the values presented in the table.
Use Jupyter Notebook
After installing DataSynthesizer and Jupyter Notebook, open and try the demos in ./notebooks/
- DataSynthesizer__random_mode.ipynb
- DataSynthesizer__independent_attribute_mode.ipynb
- DataSynthesizer__correlated_attribute_mode.ipynb
Use Web UI
The dataResponsiblyUI is a Django project that includes DataSynthesizer. Please follow the steps in Run the Web UIs locally and run DataSynthesizer by visiting http://127.0.0.1:8000/synthesizer in a browser.
History
0.1.0 - 2020-06-11
- First release on PyPI.
0.1.1 - 2020-07-05
Bugs Fixed
- Numpy error when synthesising data with unique identifiers. - Issue #23 by @raids
0.1.2 - 2020-07-19
Bugs Fixed
- infer_distribution() for string attributes fails to sort index of varying types. - Issue #24 by @raids
0.1.3 - 2020-09-13
Bugs Fixed
- The dataframes are not appended into the full space in get_noisy_distribution_of_attributes(). - Issue #26 by @zjroth
0.1.4 - 2021-01-14
Bugs Fixed
- Fix a bug in candidate key identification.
0.1.5 - 2021-03-11
What's New
- Downgrade required Python from >=3.8 to >=3.7.
0.1.6 - 2021-03-11
What's New
- Update example notebooks.
0.1.7 - 2021-03-31
Bugs Fixed
- Fixed an error in Laplace noise parameter. - Issue #34 by @ganevgv
0.1.8 - 2021-04-09
Bugs Fixed
- The randomness seeding is effective across the entire project now.
0.1.9 - 2021-07-18
Bugs Fixed
- Optimized the datetime datatype detection.
0.1.10 - 2021-11-15
Bugs Fixed
- Seed the randomness in
greedy_bayes().
0.1.11 - 2022-03-31
Bugs Fixed
- Fixed a bug in DateTime generation. - Issue #37 by @artemgur
0.1.12 - 2023-10-17
Bugs Fixed
- Support Python 3.11+ and pandas 2.0+. - Issue #40 by @artemgur
- Added empty file creation before saving files. - Issue #41 by @PepijndeReus
0.1.13 - 2023-10-18
Bugs Fixed
- Support pandas 2.0+.
Metadata
Release files for DataSynthesizer 0.1.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| DataSynthesizer-0.1.13.tar.gz | 129.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| DataSynthesizer-0.1.13-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 153.9 kB
Release files / DataSynthesizer-0.1.13.tar.gz
| Download URL | DataSynthesizer-0.1.13.tar.gz |
|---|---|
| Size | 129.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5be5b25969bcf5bc39bc9e8bff63593bc295f4f84b5955f3a1a66679d7c0072a
|
|
BLAKE2b-256 checksum How to use checksums |
5eb4051fea17ca58bdef3538772fc59115b8bc868eecf81582f6b1b9162854d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / DataSynthesizer-0.1.13-py2.py3-none-any.whl
| Download URL | DataSynthesizer-0.1.13-py2.py3-none-any.whl |
|---|---|
| Size | 24.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
3d90b3b97c61ed08c9025a6c9bd76504394ab94a2728f8fef7bba024c2debfd4
|
|
BLAKE2b-256 checksum How to use checksums |
e9f512b5bdff0f3e2cf4ab6f991e5307c643abe6a4d72b8a78f754b59a074c6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|